লজিকাল ভলিউম বুট করার সময় নিষ্ক্রিয় থাকে


10

আমি আমার লজিকাল ভলিউম এবং ফাইল সিস্টেমকে পুনরায় আকার দিয়েছি এবং সমস্ত সহজেই চলে গেছে। আমি নতুন কার্নেল ইনস্টল করেছি এবং রিবুট করার পরে আমি বর্তমান বা পূর্বের কোনওটিই বুট করতে পারি না। গ্রাব (২) বিকল্প নির্বাচন করার পরে আমি ভলিউম গ্রুপকে ত্রুটি খুঁজে পাইনি। ব্যস্ত বাক্স থেকে পরিদর্শনটি প্রকাশ করে যে ভলিউমগুলি ডিভাইস ম্যাপারের সাথে নিবন্ধভুক্ত নয় এবং সেগুলি নিষ্ক্রিয়। সক্রিয় করার পরে আমি তাদের মাউন্ট করতে সক্ষম হইনি, আমি ত্রুটি খুঁজে পাইনি (মাউন্ট / ডেভ / ম্যাপার / অল-রুট / এমএনটি)।

বুট সময়ে কীভাবে এগিয়ে যেতে বা এটিকে সক্রিয় করতে হবে কোনও ধারণা? বা বুট করার সময় ভলিউম হঠাৎ নিষ্ক্রিয় কেন?

শুভেচ্ছা সহ,

Marek

সম্পাদনা: আরও তদন্তে প্রকাশিত হয়েছে যে লজিকাল ভলিউমের আকার পরিবর্তন করার সাথে এর কোনও যোগসূত্র ছিল না। ব্যর্থ বুট এবং এই সমস্যার সম্ভাব্য সমাধানের পরে লজিকাল ভলিউমগুলি অ্যাশ শেলের মধ্যে ম্যানুয়ালি সক্রিয় করতে হয়েছিল তা নীচে আমার জবাবটিতে অন্তর্ভুক্ত রয়েছে।



আমি এ পর্যন্ত যা চেষ্টা করেছি: 1) আপনার প্যাচ 2) /etc/lvm/lvm.conf ডিফারিং 3) GRUB_PRELOAD_MODULES="lvm"4) GRUB_CMDLINE_LINUX="scsi_mod.scan=sync"5) sudo grub-install /dev/sda && sudo grub-install /dev/sdb && sudo update-grub && sudo update-initramfs -u -k all6) sudo apt-get install --reinstall lvm2 grub-pc grub-common7) lvm vgchange -ayএর শেষে যুক্ত করে /usr/share/initramfs-tools/scripts/local-top/lvm2 আমি চেষ্টা করার জন্য খুব দ্রুত কাজ চালিয়ে যাচ্ছি।
isaaclw

উত্তর:


6

সুতরাং আমি শেষ পর্যন্ত এটি সমাধান করতে পরিচালিত। লজিকাল ভলিউম সনাক্তকরণে একটি সমস্যা (বাগ) রয়েছে যা এক ধরণের রেসের শর্ত (সম্ভবত আমার ক্ষেত্রে কেভিএমের অভ্যন্তরে এটি ঘটেছিল তা সম্পর্কিত)। এটি নিম্নলিখিত আলোচনায় আচ্ছাদিত করা হয়েছে । আমার বিশেষ ক্ষেত্রে (দেবিয়ান স্কিজে) সমাধানটি নিম্নরূপ:

  • স্ক্রিপ্ট / usr / শেয়ার / initramfs- সরঞ্জাম / স্ক্রিপ্ট / স্থানীয় শীর্ষ / lvm2 ব্যাকআপ
  • উল্লিখিত বাগ রিপোর্ট থেকে প্যাচ প্রয়োগ করুন
  • আপডেট-initramfs -u চালান

এটি আমাকে সহায়তা করেছে, আশা করি এটি অন্যকে সহায়তা করবে (আশ্চর্যের বিষয়, এটি এখনও মূলধারার অংশ নয়)।

প্যাচের লিঙ্ক: _http: //bugs.debian.org/cgi-bin/bugreport.cgi? Msg = 10; ফাইলের নাম = lvm2_wait-lvm.patch; অ্যাট = 1; বাগ = 568838

নীচে উত্তরোত্তর জন্য একটি অনুলিপি আছে।

--- /usr/share/initramfs-tools/scripts/local-top/lvm2 2009-08-17 19:28:09.000000000 +0200
+++ /usr/share/initramfs-tools/scripts/local-top/lvm2 2010-02-19 23:22:14.000000000 +0100
@@ -45,12 +45,30 @@

  eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev")

- if [ "$DM_VG_NAME" ] && [ "$DM_LV_NAME" ]; then
-   lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
-   rc=$?
-   if [ $rc = 5 ]; then
-     echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
-   fi
+ # Make sure that we have non-empty volume group and logical volume
+ if [ -z "$DM_VG_NAME" ] || [ -z "$DM_LV_NAME" ]; then
+   return 1
+ fi
+
+ # If the logical volume hasn't shown up yet, give it a little while
+ # to deal with LVM on removable devices (inspired from scripts/local)
+ fulldev="/dev/$DM_VG_NAME/$DM_LV_NAME"
+ if [ -z "`lvm lvscan -a --ignorelockingfailure |grep $fulldev`" ]; then
+   # Use default root delay
+   slumber=$(( ${ROOTDELAY:-180} * 10 ))
+
+   while [ -z "`lvm lvscan -a --ignorelockingfailure |grep $fulldev`" ]; do
+     /bin/sleep 0.1
+     slumber=$(( ${slumber} - 1 ))
+     [ ${slumber} -gt 0 ] || break
+   done
+ fi
+
+ # Activate logical volume
+ lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
+ rc=$?
+ if [ $rc = 5 ]; then
+   echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
  fi
 }

এটি লক্ষ করা উচিত যে ডিবিয়ান বাগ আলোচনায় সমস্যাটি সমাধান করা হয়নি। সুতরাং এখানে উপস্থাপিত সমাধানটি সঠিক নাও হতে পারে
ইএমবি

আমি অবাক হব যদি এটি 9 বছরের পুরনো বাগ হিসাবে 8 বছরের পুরানো বিতরণের পরীক্ষার সমাধানযুক্ত হয়। আমি বুঝতে পারি না যে 3 বছর পরে সেই বাগের দর্শনগুলি কীভাবে আছে।
zeratul021

5

/etc/init.d/lvmনিম্নলিখিতগুলি ধারণ করে একটি স্টার্টআপ স্ক্রিপ্ট তৈরি করুন :

#!/bin/sh

case "$1" in
 start)
    /sbin/vgscan
    /sbin/vgchange -ay
    ;;
  stop)
    /sbin/vgchange -an
    ;;
  restart|force-reload)
    ;;
esac

exit 0

তারপরে কমান্ডগুলি কার্যকর করুন:

chmod 0755 /etc/init.d/lvm
update-rc.d lvm start 26 S . stop 82 1 .

দেবিয়ান সিস্টেমগুলির জন্য কৌশলটি করা উচিত।


1
যারা ভাবছেন তাদের জন্য, যেমন আমি ছিলাম, vgscanসিস্টেমে ভলিউম গ্রুপগুলি অনুসন্ধান করে এবং vgchange -aভলিউম গ্রুপগুলি উপলভ্য করে ( -ay) না ( -an)।
ড্যান প্রীটস

1

আমারও এই সমস্যা ছিল শেষ পর্যন্ত এটি ঠিক করার জন্য মনে হয়েছিল:

diff -u /usr/share/initramfs-tools/scripts/local-top/lvm2-backup /usr/share/initramfs-tools/scripts/local-top/lvm2
--- /usr/share/initramfs-tools/scripts/local-top/lvm2-backup    2014-06-06 19:55:19.249857946 -0400
+++ /usr/share/initramfs-tools/scripts/local-top/lvm2   2014-06-21 01:26:01.015289945 -0400
@@ -60,6 +60,7 @@

 modprobe -q dm-mod

+lvm vgchange -ay
 activate_vg "$ROOT"
 activate_vg "$resume"

অন্যান্য জিনিস আমি চেষ্টা করেছি:

  1. তোমার প্যাচ
  2. ডিফারিং /etc/lvm/lvm.conf
  3. GRUB_PRELOAD_MODULES="lvm"
  4. GRUB_CMDLINE_LINUX="scsi_mod.scan=sync"
  5. sudo grub-install /dev/sda && sudo grub-install /dev/sdb && sudo update-grub && sudo update-initramfs -u -k all
  6. sudo apt-get install --reinstall lvm2 grub-pc grub-common

আমি অন্যান্য পরিবর্তনগুলি অবিচ্ছিন্ন করে দিয়েছি, এটি কেবলমাত্র আমার জন্যই গুরুত্বপূর্ণ, যদিও এটি সম্ভবত সবচেয়ে কম মার্জিত।


0

যদি vgscanভলিউমগুলি "সন্ধান করে", আপনি সেগুলি সক্রিয় করতে সক্ষম হবেনvgchange -ay /dev/volumegroupname

$ sudo vgscan
[sudo] password for username: 
  Reading all physical volumes.  This may take a while...
  Found volume group "vg02" using metadata type lvm2
  Found volume group "vg00" using metadata type lvm2

$ sudo vgchange -ay /dev/vg02
  7 logical volume(s) in volume group "vg00" now active

আমি নিশ্চিত না তবে কি পুনরায় বুট করার পরে কী কারণে তাদের নিষ্ক্রিয় হয়ে উঠবে।


হাই, ধন্যবাদ আমি ঠিক আগে যা করেছি। তবে আমি যদি রিবুট করি তবে আমরা নিষ্ক্রিয় জিনিসটিতে ফিরে আসছি। আমি তাদের সক্রিয় করার সাথে সাথে মাউন্ট করার চেষ্টা করেছি কিন্তু এটি ফাইলের সাথে ত্রুটি পাওয়া যায় নি।
zeratul021

/Etc/lvm/lvm.conf এর সাথে সমস্যা হতে পারে, বর্তমান ফাইলটির ব্যাকআপ নিন এবং অন্য কোনও সিস্টেম থেকে lvm.conf অনুলিপি করে দেখুন এবং এটি সমস্যার সমাধান করে কিনা তা দেখুন
সৌরভ বরজতিয়া

0

কনফিগারেশনের কোনও বিবরণ বা ত্রুটি বার্তা ছাড়া আমাদের একটি সত্য উত্তর দেওয়া দরকার, grub-mkdevicemapসমাধান হিসাবে আমি অন্ধকারে ছুরিকাঘাত করব ।


0

আপনার সিস্টেমটি initramfs ব্যবহার করে ধরে নিচ্ছে, সেখানে সম্ভবত একটি কনফিগারেশন সমস্যা রয়েছে। গ্রাব দ্বারা বুট করার সময় শুরু হওয়া আপনার সেআরআইএমএফ চিত্রটি আপডেট করা উচিত (দেবিয়ানে আপনি আপডেট-থ্রো্রামফ দিয়ে এটি করেন, অন্যান্য ডিস্ট্রোস সম্পর্কে জানেন না)।

আপনি নিজের হাতে ইমেরামফগুলি আনপ্যাক করে এবং নিজের ইমেট্রামফেস ইমেজে /etc/lvm/lvm.conf (বা এর মতো কিছু) পরিবর্তন করে আবার এটি পুনরায় পরীক্ষা করেও করতে পারেন।


হাই, পরামর্শের জন্য ধন্যবাদ আমি আজ রাতের পরে এগুলি পরীক্ষা করার চেষ্টা করব। আশ্চর্যের বিষয়টি হ'ল নতুন কার্নেল ডিবে ইনস্টল করার পরে, তত্ক্ষণাত্ ইন্রামামফগুলি আপডেট করুন এবং গ্রাব আপডেট করুন।
zeratul021

একইভাবে দু'টি অভিযানের অ্যারে আমার সাথে ঘটেছিল যা বুট করার জন্য প্রয়োজন ছিল। তারা আর আরম্ভ করে না ইনট্রামাফগুলিতে, যদিও আপডেট-থ্রিমারফগুলি ভাল ছিল। এমডিএমডিএম mddm.conf- এ রেইড অ্যারের সন্ধানের জন্য আমাকে ম্যানুয়ালি পরিবর্তন করতে হয়েছিল এবং তারপরে পুনরায় ইনুপুটেট-র‌্যামফগুলি পুনরায় চালাতে হয়েছিল।
জ্যাস্পার

আমি lvm.conf সম্পর্কিত নীচের পোস্টে মন্তব্য। আমি খুঁজে পেলাম যে যখন আমি lvm কমান্ড চালাব এবং তারপরে vgscan এবং vgchange -ay এবং initramfs শেলটি ছাড়ি তখন আমার বুট করার মতো বুট হয়। সুতরাং সমস্যাটি কোথাও ইনি্রামফের মধ্যে রয়েছে যে এটি এলভিএম সক্রিয় করে না। কেবল রেকর্ডের জন্য, / বুট পৃথক পার্টিশনে রয়েছে।
zeratul021

আপনার সমস্যাটি এখনও আপডেট-ইন -্রাম্মগুলি সঠিকভাবে কাজ করছে না। হয়তো আপনার দেখতে পাওয়া উচিত যে initramfs- সরঞ্জামগুলির জন্য কোনও আপডেট আছে এবং তারপরে আপডেট-initramfs চেষ্টা করুন। যদি এটি কাজ না করে তবে আপনার lvm.conf এ initramfs চিত্রটির ভিতরে থাকা উচিত।
জ্যাস্পার

দুর্ভাগ্যক্রমে আমি কীভাবে এলভিএম কনফিগার করতে জানি না, আমি যা কিছু করেছি তা ইনস্টলেশন করার সময় হয়েছিল। পরবর্তী ইঙ্গিতটি হ'ল অন্য ভার্চুয়াল মেশিনে ঠিক একই ডিস্কের লেআউটটি ঠিক একইভাবে ব্যর্থ হয়, তাই বুট করার সময় কেন এলভিএমগুলি সক্রিয় করা হয় না তা খনন করতে হবে।
zeratul021

0

আমার পরিবেশেও একই সমস্যাটি কেভিএম অতিথি হিসাবে রেড হ্যাট 7.4 চালাচ্ছি। আমি qemu-kvm-1.5.3-141 এবং গুণ-পরিচালক 1.4.1 চালাচ্ছি। প্রথমে আমি রেড হ্যাট 7.2 কে অতিথি হিসাবে কোনও সমস্যা ছাড়াই চালাচ্ছিলাম, তবে 7.2 থেকে 7.4 থেকে ছোট রিলিজ এবং কার্নেলটি সর্বশেষ সংস্করণ 3.10.0-693.5.2 এ উন্নীত করার পরে, কিছু ভুল হয়েছে এবং আমার / var এলভি পার্টিশনটি বুট করতে পারেনি আরও অনেক কিছু। সিস্টেমটি রুট পাসওয়ার্ড চেয়ে জরুরী মোডে গিয়েছিল। রুট পাসওয়ার্ড দিয়ে প্রবেশ করা এবং কমান্ডগুলি চালানো lvm vgchange -ayএবং systemctl defaultআমি আমার /varএলভি সক্রিয় করতে এবং সিস্টেমটি বুট করতে সক্ষম হয়েছি ।

আমি মূর্ত আউট না কি এই সমস্যা সৃষ্টি করে কিন্তু আমার কার্যসংক্রান্ত কোড LV অন্তর্ভুক্ত করা ছিল /varযে /etc/default/grubআপনি নিচে দেখুন হিসাবে:

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg_local/root rd.lvm.lv=vg_local/var rd.lvm.lv=vg_local/swap rhgb quiet biosdevname=0 net.ifnames=0 ipv6.disable=1"

তারপরে আমাকে দৌড়ে grub2-mkconfig -o /boot/grub2/grub.cfgগিয়ে পরীক্ষা করতে rd.lvm.lv=vg_local/varহয়েছিল যে এর ভিএমলিনুজ লাইনে অন্তর্ভুক্ত ছিল কিনা /boot/grub2/grub.cfg। সিস্টেমটি রিবুট করার পরে, আমি /varআর আমার এলভি সক্রিয় করার জন্য ত্রুটিটি পাইনি এবং সিস্টেমটি সাফল্যের সাথে বুট আপ প্রক্রিয়াটি সম্পূর্ণ করে।


0

আমার ক্ষেত্রে বুঝতে পেরেছিল যে গ্রাব রুটটি মূল = / dev / vgname / রুট

সুতরাং / usr / শেয়ার / initramfs- সরঞ্জাম / স্ক্রিপ্ট / স্থানীয় শীর্ষ / lvm2 এ পরীক্ষা

  # Make sure that we have a d-m path
  dev="${dev#/dev/mapper/}"          
  if [ "$dev" = "$1" ]; then         
    return 1                         
  fi      

সর্বদা মিথ্যা ছিল। এবং রুট ভলিউম কখনও সক্রিয় হয় না।

আপডেট হয়েছে / ইত্যাদি / থেকে fstab

/dev/vgname/root        /

প্রতি

/dev/mapper/vgname-root   /

এবং করেছে:

update-grub
grub-install /dev/sda

আমার সমস্যা সমাধান


0

আমরা এই সমস্যাতে পড়েছি দেখলেন নিষ্ক্রিয় যে lvmetadসেটিং দ্বারা use_lvmetad=0মধ্যে /etc/lvm/lvm.confভলিউম বাধ্য পাওয়া যাবে এবং বুটে মায়ে প্রবেশযোগ্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.