Fstab মাউন্ট হওয়ার আগে LVM ভলিউম অ্যাক্টিভেশন


2

আমি আমার ডেবিয়ান স্কিজ সিস্টেম শুরু করার সময় এলভিএম ভলিউম মাউন্ট করার চেষ্টা করছি। যেহেতু কোনও কারণে, এলভিএম ভলিউম / গোষ্ঠীগুলি ডিফল্টরূপে নিষ্ক্রিয় থাকে, কোনও মাউন্টিংয়ের আগে সেগুলি সক্রিয় করা দরকার। এছাড়াও, আমার ভলিউমগুলির সাথে যে ভলিউম গ্রুপটি অন্তর্ভুক্ত তা অন্য একটি শারীরিক এলভিএম ভলিউম। অতএব, আমি ডিফল্ট /etc/init.d/lvm2init স্ক্রিপ্টটি ব্যবহার করতে পারি না , তবে নিজের লেখাটি লিখেছি, এটি প্রথমে 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 ভলিউম সক্রিয় হয় না বা সেগুলি সঠিকভাবে মাউন্ট করা যায় না। (যা তারা নিষ্ক্রিয় অবস্থায় থাকতে পারে না))

আমি এখানে কি মিস করছি?


প্রথম fstab ক্ষেত্রের জন্য / dev / mapper / ... বা LABEL = ... ব্যবহার করার কথা বিবেচনা করুন (যদি আপনাকে রাস্তায় স্ন্যাপশট থেকে ভলিউম পুনরুদ্ধার করতে হয় ...)।
thomp45793
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.