আমি আমার ডেবিয়ান স্কিজ সিস্টেম শুরু করার সময় এলভিএম ভলিউম মাউন্ট করার চেষ্টা করছি। যেহেতু কোনও কারণে, এলভিএম ভলিউম / গোষ্ঠীগুলি ডিফল্টরূপে নিষ্ক্রিয় থাকে, কোনও মাউন্টিংয়ের আগে সেগুলি সক্রিয় করা দরকার। এছাড়াও, আমার ভলিউমগুলির সাথে যে ভলিউম গ্রুপটি অন্তর্ভুক্ত তা অন্য একটি শারীরিক এলভিএম ভলিউম। অতএব, আমি ডিফল্ট /etc/init.d/lvm2
init স্ক্রিপ্টটি ব্যবহার করতে পারি না , তবে নিজের লেখাটি লিখেছি, এটি প্রথমে LVM ভলিউমের প্রথম স্তরটিকে সক্রিয় করে এবং তারপরে আমি যেটি মাউন্ট করতে চাই:
~# cat /etc/init.d/lvm2_vtt
#!/bin/sh
### BEGIN INIT INFO
# Provides: lvm2_vtt
# Required-Start: mountdevsubfs udev
# Required-Stop:
# Should-Start: mdadm-raid cryptdisks-early multipath-tools-boot
# Should-Stop: umountroot mdadm-raid
# Default-Start: S
# Default-Stop: 0 6
# X-Start-Before: checkfs mountall
# X-Stop-After: umountfs
### END INIT INFO
SCRIPTNAME=/etc/init.d/lvm2_vtt
. /lib/lsb/init-functions
[ -x /sbin/vgchange ] || exit 0
do_start()
{
echo "bla"> /root/hah
modprobe dm-mod 2> /dev/null || :
/sbin/vgscan --ignorelockingfailure --mknodes || :
/sbin/vgchange -aly --ignorelockingfailure || return 2
/sbin/vgscan
/sbin/vgchange -ay
/sbin/lvmdiskscan
/sbin/vgscan
/sbin/vgchange -ay agvtt-volume
}
do_stop()
{
/sbin/vgchange -aln --ignorelockingfailure || return 2
/sbin/vgchange -an agvtt-volume
}
case "$1" in
start)
log_begin_msg "Setting up LVM Volume Groups"
do_start
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
stop)
log_begin_msg "Shutting down LVM Volume Groups"
do_stop
case "$?" in
0|1) log_end_msg 0 ;;
2) log_end_msg 1 ;;
esac
;;
restart|force-reload)
;;
*)
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 3
;;
esac
এই স্ক্রিপ্টটি কাজ করে, আমি নিজে এটি সম্পাদন করতে পারি এবং এটি সবকিছু করে, এটি করা উচিত। আমি এটি কার্যকর করে update-rc.d lvm2_vtt defaults
যা কাজ করে (যদিও এটি কিছু রানলেভেলের সাথে মেলে না এমন অভিযোগ করে):
~# ls -g /etc/rcS.d
total 4
-rw-r--r-- 1 root 447 Mar 24 2012 README
lrwxrwxrwx 1 root 24 Oct 23 12:18 S01mountkernfs.sh -> ../init.d/mountkernfs.sh
lrwxrwxrwx 1 root 14 Oct 23 12:18 S02udev -> ../init.d/udev
lrwxrwxrwx 1 root 26 Oct 23 12:18 S03mountdevsubfs.sh -> ../init.d/mountdevsubfs.sh
lrwxrwxrwx 1 root 18 Oct 23 12:18 S04bootlogd -> ../init.d/bootlogd
lrwxrwxrwx 1 root 18 Mar 1 11:26 S04lvm2_vtt -> ../init.d/lvm2_vtt
lrwxrwxrwx 1 root 21 Oct 23 12:18 S05hostname.sh -> ../init.d/hostname.sh
lrwxrwxrwx 1 root 25 Oct 23 12:18 S05hwclockfirst.sh -> ../init.d/hwclockfirst.sh
lrwxrwxrwx 1 root 22 Oct 23 12:18 S06checkroot.sh -> ../init.d/checkroot.sh
lrwxrwxrwx 1 root 20 Oct 23 12:18 S07hwclock.sh -> ../init.d/hwclock.sh
lrwxrwxrwx 1 root 24 Oct 23 12:18 S07ifupdown-clean -> ../init.d/ifupdown-clean
lrwxrwxrwx 1 root 27 Oct 23 12:18 S07module-init-tools -> ../init.d/module-init-tools
lrwxrwxrwx 1 root 17 Oct 23 12:18 S07mtab.sh -> ../init.d/mtab.sh
lrwxrwxrwx 1 root 20 Oct 23 12:18 S08checkfs.sh -> ../init.d/checkfs.sh
lrwxrwxrwx 1 root 18 Oct 23 12:18 S09ifupdown -> ../init.d/ifupdown
lrwxrwxrwx 1 root 21 Oct 23 12:18 S09mountall.sh -> ../init.d/mountall.sh
....
সুতরাং, আমার init স্ক্রিপ্টটি আগে সম্পাদন করা হয় mountall
, যা fstab এন্ট্রিগুলি মাউন্ট করা উচিত। আমার fstab এখন নীচের মত দেখাচ্ছে:
~# cat /etc/fstab
# the local partitions
proc /proc proc defaults 0 0
UUID=07791c3e-5388-4edc-b30f-a4b4f2dbcb33 none swap sw 0 0
UUID=6522596a-210d-47ab-8894-e6259ffd99ee / ext3 defaults 0 1
# our lvm volumes, secured and unsecured. Get the uuids using blkid.
UUID=66a66e81-9eb8-4ce8-a370-f3a48ece289e /space/secured xfs defaults 0 0
UUID=9e74cbd4-d3a0-4047-8466-74c00c14542a /space/unsecured xfs defaults 0 0
# these are simpler aliases
/space/unsecured /unsecured bind bind 0 0
/space/secured /secured bind bind 0 0
যেমন আপনি দেখতে পাচ্ছেন, এলভিএম ভলিউম (xfs ফাইল সিস্টেম) প্রথমে মাউন্ট করা হয় এবং তারপরে কিছু বাইন্ড আলাদা অবস্থানের জন্য তৈরি করা হয়।
আমি এখন যা দেখছি তা হ'ল বুটের পরেও LVM ভলিউম সক্রিয় হয় না বা সেগুলি সঠিকভাবে মাউন্ট করা যায় না। (যা তারা নিষ্ক্রিয় অবস্থায় থাকতে পারে না))
আমি এখানে কি মিস করছি?