मैं एक खो खो और pv को LVM vg में कैसे पुन: स्थापित कर सकता हूं?


0

मैंने हाल ही में एक RAID खो दिया है जो कि मेरे linux LVM वॉल्यूम समूहों में से एक का भौतिक आयतन था। मैंने काम करना समाप्त कर दिया vgreduce --removemissingऔर डेटा को पुनर्स्थापित करने के व्यवसाय के साथ जुड़ गया।

ठीक है, आज मैंने पाया कि RAID (यह छुपा रहा था, मत पूछो)।

# pvdisplay -m /dev/md2
  WARNING: Volume group mg20 is not consistent
  "/dev/md2" is a new physical volume of "499.87 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md2
  VG Name               
  PV Size               499.87 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz

mg20सुसंगत नहीं है क्योंकि खोए हुए और पाए गए पीवी में /dev/md2संभवतः पुरानी तार्किक वॉल्यूम कैटलॉग की प्रतियां शामिल हैं जो कि फाइल सिस्टम पर रहने का उल्लेख करती हैं /dev/md2

मैं उस फ़ाइल सिस्टम /dev/md2को पुन: स्थापित mg20और संरक्षित कैसे कर सकता हूं जो उस पर रहता है? (और अपनी सामग्री को पुनर्स्थापित करने की परेशानी से खुद को बचाएं) एक सरलीकृत कारक वह है /dev/md2जिसमें केवल एक LV होता है और वह LV पूरी तरह से निहित होता है /dev/md2


मुझे redhat.com/archives/linux-lvm/2007-Nvent/msg00040.html redhat.com/archives/linux-lvm/2007-Nvent/msg00039.html पर कुछ उपयोगी जानकारी मिली, जो lvm.conf में फिल्टर के आसपास घूम रही थी, लेकिन यह ठीक से शोषण करने में सक्षम नहीं है, क्योंकि पीवी प्रतीत होता है कि इसकी तार्किक मात्रा का शुद्धिकरण किया गया है, शायद इसलिए कि मेरे फ़िल्टर पर्याप्त रूप से प्रतिबंधात्मक नहीं थे ("a / / dev / md2 |" मैच / dev / md20)। यह संभव है कि अगर मैं अधिक सावधान होता तो मैं खोए हुए पीवी पर नए वीजी मेटाडेटा के क्रॉस-प्रदूषण से बच सकता था।
म्यूटेंट बॉब

जवाबों:


0

मैंने छापेमारी को ठीक करने का एक तरीका निकाला । आधुनिक एलवीएम सिस्टम वीजी कॉन्फ़िगरेशन का बैकअप अक्सर बनाते हैं। आप अपने बैकअप और उन कमांड की सूची देख सकते हैं, जिनके उपयोग से उन्हें ट्रिगर किया गया है vgcfgrestore --list। जब मैंने किया था तब मैंने पहले से एक उठाया था vgreduce --removemissingऔर इसके अंदर इन प्रासंगिक बिट्स पाया:

pv8 {
        id = "SUXIe9-B4xG-Qlbz-5cSd-f1dh-cRQh-vOF4qz"
        device = "unknown device"       # Hint only

        status = ["ALLOCATABLE"]
        flags = ["MISSING"]
        dev_size = 1048312832   # 499.875 Gigabytes
        pe_start = 2048
        pe_count = 127967       # 499.871 Gigabytes
}

तथा

homes18 {
        id = "d7yt43-PMTv-XnsH-qAff-3d5A-ilB6-eQB0Jy"
        status = ["READ", "WRITE", "VISIBLE"]
        flags = []
        segment_count = 1

        segment1 {
                start_extent = 0
                extent_count = 89600    # 350 Gigabytes

                type = "striped"
                stripe_count = 1        # linear

                stripes = [
                        "pv8", 0
                ]
        }
}

इसलिए मैंने उस फाइल की एक कॉपी बनाई और उसमें "MISSING"से निकाल दी flags =। मैंने भी सेट किया था device = "/dev/md2", हालांकि यह आवश्यक नहीं था। मैंने एक प्रदर्शन किया vgcfgrestore -f /etc/lvm/archive/mg20_synthetic-2015.vg mg20और अब मेरा mg20 / homes18 वापस आ गया है और एक fsck पास करता है।

सच कहूं तो, मैं एक जवाब के रूप में वास्तव में इससे संतुष्ट नहीं हूं। यह ENTIRE कॉन्फ़िगरेशन को पुनर्स्थापित करने के लिए थोड़ा अधिक ओवरकिल है।

मुझे लगता है कि एक वास्तविक उत्तर शामिल हो सकता है lvcreate -Z n, लेकिन मैं इसे सत्यापित करने के लिए आवश्यक प्रयोगों को करने के लिए बहुत आलसी हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.