শারীরিক ড্রাইভের পরে ভিজি এবং এলভি সরিয়ে ফেলা হয়েছে


32

আমাদের একটি সার্ভারে একটি ডিস্ক ব্যর্থ হয়েছিল এবং LVM থেকে ড্রাইভ অপসারণের আগে এটি প্রতিস্থাপন করে।

সার্ভারটির 4 টি শারীরিক ড্রাইভ (পিভি) রয়েছে, যার প্রত্যেকটির নিজস্ব ভলিউম গ্রুপ (ভিজি) রয়েছে। প্রতিটি ভিজির 2 বা ততোধিক লজিক্যাল ভলিউম থাকে (এলভি এর has) এখন এলভিএম অনুপস্থিত ড্রাইভটি সম্পর্কে অভিযোগ করছে। সুতরাং আমাদের দুটি ভিভির সাথে একটি ভিজি (ভিজি04) আছে যা আমাদের সিস্টেম থেকে ছাড়ার চেয়ে অনাথ হয়ে গেছে।

সমস্যাটি হ'ল আমরা যখনই কোনও এলভিএম কমান্ড চালাই তখন আমরা এই 'পঠন ব্যর্থ' ত্রুটিগুলি পাই:

# lvscan
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error

# vgreduce vg04 --removemissing --force
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found

# vgchange -a n /dev/vg04
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found

# lvchange -a n /dev/vg04/vz
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found
  Skipping volume group vg04

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

আপনি দেখতে পাচ্ছেন আমরা ভাগ্য ছাড়াই এখন পর্যন্ত তৈরি সমস্ত পরামর্শ চেষ্টা করেছি।

'Lvm ডাম্পকনফিগ' থেকে আউটপুট http://pastebin.com/MHiBzrLJ এ চেক করা যায়

উত্তর:


46

সমাধানটি ছিল dmsetup চালানো, এক্ষেত্রে দুটি কমান্ড

dmsetup remove vg04-vz
dmsetup remove vg04-swap

এটি করার আগে, আমি 'dmsetup তথ্য' কমান্ড দিয়ে পরীক্ষা করেছিলাম যে উভয় এলভি-র জন্য 'ওপেন কাউন্টিং' শূন্য ছিল।

সতর্কতা: ডেমসেটআপ আপনার ডিস্কগুলির সাথে মারাত্মক ধ্বংসযজ্ঞ ডেকে আনতে পারে তাই ভবিষ্যতে যে কেউ এই তথ্য ব্যবহার করে দয়া করে নিশ্চিত হন যে আপনি ম্যান পৃষ্ঠাটি পড়েছেন।


3
কৌতুকটি করেছে। এটি খুব খারাপ এলভিএম এমন একটি ফাঁসযুক্ত বিমূর্ততা, তবে আমার ধারণা এটি এটি যতটা ভাল হবে তত ভাল।
নবীন

1
সেই সতর্কতার সাথে ভাল কল যদি আমি সঠিকভাবে বুঝতে পারি তবে একইভাবে নামকরণ করা remove_all --force --deferred --retryপ্রতিটি এলভিএম পরিচালিত ড্রাইভের নাগালের মধ্যেই উড়ে যাবে। এটি চেষ্টা অব্যাহত রাখবে এবং টার্মিনেটরের মতো হাল ছাড়বে না। আমি অত্যন্ত কৌতূহল বোধ করি কেন এর মতো একটি ফুটগান সাজানো হয়েছিল।
ড্যান রস

এছাড়াও একটি একক ডিভাইস রয়েছে "চরম কুসংস্কারের সাথে সমাপ্তি" (এবং / অথবা প্রতিশোধ, যদি ডিভাইসটি আপনাকে পুরো রাত ব্যস্ত রাখে): # dmsetup --force --retry --deferred remove <YOURVG>-<YOURLV>এটি বিশেষত সত্য, যদি উদাহরণস্বরূপ কোনও # iscsiadm -m node -U all -T <FQDN>
ইস্কি

9

আমি ভিএমওয়্যার ডিস্ক অপসারণের পরেও একইরকম অভিজ্ঞতা পেয়েছি /dev/sdb

ব্যবহার করুন lsscsi, যা নির্ধারণ ডিভাইস ব্যবহার করা হচ্ছে (আপনি প্রোগ্রাম ইনস্টল করতে হবে) তাহলে চালানো lsscsi:

# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb <== the removed physical disk
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc

এবার মুছে ফেলুন ফাইলটি দিয়ে

# echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/delete

ডিভাইসটি সঙ্গে সঙ্গে চলে গেছে।


1
ধন্যবাদ!! "/ Dev / sdb এর মতো ত্রুটি থেকে মুক্তি পাওয়ার জন্য এটি আমার পক্ষে পুরোপুরি কাজ করেছে: dmsetup এর মাধ্যমে একটি বাসি vg1-xyz অপসারণের পরে 4096 এর 0 পরে 0: ইনপুট / আউটপুট ত্রুটি" পড়তে ব্যর্থ হয়েছিল।
বিড়াল প্যান্ট

1
এটি কেবল আমার জন্য কাজ করে। আপনি আমার দিন তৈরি করেছেন।
ওডিস্যাপাপি

2

ভিজিঞ্জ -আন / ডেভ / ভিজি04

আপনার যদি লজিক্যাল ভলিউম এখনও সক্রিয় থাকে তবে আপনাকে এটি করতে হতে পারে

lvchange -a n /dev/vg04/swap
lvchange -a n dev/vg04/vz

প্রভৃতি


2
দুর্ভাগ্যজনকভাবে এটিও এটি ঠিক করে না, এটি কেবল একই ত্রুটি ছুঁড়ে রাখে:
আরসিডি

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