Masalahnya
Setelah reboot, sistem tidak akan memulai atau mengaktifkan salah satu grup volume LVM. Mencoba mengaktifkan grup secara manual menghasilkan pesan:
Couldn't find device with uuid '[UUID]'
Solusinya
String LABELONE di lokasi metadata menandai perangkat sebagai bagian dari perangkat LVM. Tanpa string ini, lvm3 tidak akan mencoba menggunakan perangkat sebagai volume fisik. Metadata perangkat fisik dapat ditimpa karena kesalahan sistem atau tindakan manual yang disengaja.
Untuk Linux versi 4 atau 5, area metadata default adalah 192Kb. Untuk Linux versi 6, metadata default adalah 1Mb. Sebelum mencoba aktivitas pemulihan atau perbaikan apa pun, Anda sangat disarankan untuk membuat salinan cadangan area ini:
# /bin/dd if=/dev/xvdd of=/root/xvdd.metadata bs=1K count=[192_or_1024]
Untuk memeriksa tanda tangan LVM, lakukan ini:
# /bin/strings /root/xvdd.metadata | /bin/fgrep LABELONE
Jika tidak ada output yang dihasilkan, metadata rusak.
Tinjau informasi di:
/etc/lvm/backup /etc/lvm/archives
untuk perubahan. Jika ini telah diubah atau tidak konsisten, aktivitas pemulihan mungkin merusak seluruh data volume. Pastikan perangkat fisik atau LUN masih tersedia, atau masih disajikan ke server ini.
Rajin membuat cadangan rutin untuk semua volume LVM. Meskipun mungkin dapat dipulihkan, kesalahan konfigurasi juga dapat merusak seluruh kumpulan data.
1. Perhatikan bahwa item ini penting hanya jika Anda juga memiliki perangkat multipath di sistem Anda. Jika Anda tidak menggunakan LVM dan multipathing di server yang sama, Anda dapat melewati item ini dengan aman.
Selama startup sistem, subsistem LVM diberi tahu setiap kali perangkat blok, seperti drive disk atau LUN, sehingga perangkat dapat digunakan untuk membuat volume LVM. Ini adalah proses asinkron; tidak ada jaminan bahwa perangkat akan ditemukan dalam urutan yang sama setiap kali sistem di-boot. Ini berarti bahwa jalur fisik dari perangkat multipath mungkin ditemukan sebelum perangkat logis komposit selesai, yang mengarah ke jalur fisik yang diklaim oleh subsistem LVM sebelum subsistem multipath ditawarkan perangkat. Ada dua hasil yang tidak diinginkan dari kondisi ini:
sebuah. Hanya satu jalur ke perangkat multijalur yang digunakan dan diklaim oleh LVM, sehingga sistem rentan terhadap kegagalan satu titik yang menyebabkan hilangnya konektivitas ke penyimpanan secara besar-besaran.
b. Sejak LVM memperoleh kepemilikan eksklusif dari jalur fisik, lapisan multipathing melaporkan perangkat sebagai sibuk dan tidak dapat membangun perangkat multipath. Ini membuat penyimpanan tunduk pada kegagalan satu titik yang mencegah akses ke penyimpanan. Solusinya adalah memaksa LVM untuk mempertimbangkan hanya perangkat blok yang benar-benar menahan bagian dari volume LVM. Cara melakukannya adalah dengan melihat ke file /etc/lvm/lvm.conf:
# /bin/fgrep -n -e 's/#.*//' -e '/filter/p' /etc/lvm/lvm.conf filter = [ "a/.*/" ]
Jika output Anda terlihat seperti di atas, Anda memiliki masalah konfigurasi LVM yang kemungkinan akan merusak perangkat multipath apa pun, jika Anda menggunakannya di sistem Anda. Mengubah parameter ini berada di luar cakupan catatan ini. Kami akan melanjutkan dengan asumsi Anda telah mengoreksi nilai ini.
2. Terkadang penyimpanan yang menyimpan data LVM lambat dikenali dan mungkin berhasil dipasang jika diakses setelah sistem stabil. Untuk memulai, kami akan menginventarisasi perangkat blok yang tersedia dan menentukan UUID:
# /sbin/vgscan Reading all physical volumes. This may take a while... Couldn't fine device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. Found volume group "data_vg" using metadata type lvm2
Sekarang kita memiliki UUID yang menyebabkan masalah, kita harus menemukan perangkat terkait:
# /sbin/pvs -o +uuid Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. PV VG Fmt Attr PSize PFree PV UUID /dev/xvdc data_vg lvm2 a-- 996.00M 0 VrVT1L-CTcT-9Nn9-oIAx-BnEA-X7sv-vJO6RE /dev/xvde data_vg lvm2 a-- 996.00M 428.00M tGIqvd-lsYv-7JmV-1bfD-t7BL-HaGi-rmIYW0 unknown device data_vg lvm2 a-m 996.00M 0 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt
3. Kita dapat melihat distribusi volume logis di seluruh perangkat fisik seperti ini:
# /sbin/lvs -o +devices Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices data_vg_lv data_vg -wi-a- 2.50G /dev/xvdc(0) data_vg_lv data_vg -wi-a- 2.50G unknown device(0) data_vg_lv data_vg -wi-a- 2.50G /dev/xvde(0) =
4. Coba aktifkan grup volume:
# /sbin/vgchange -a y data_vg Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. Refusing activation of partial LV data_vg_lv. Use --partial to override. 1 logical volume(s) in volume group "data_vg" now active
5. Coba kurangi grup volume dan hapus perangkat yang hilang:
# /sbin/vgreduce --removemissing data_vg Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. WARNING: Partial LV data_vg_lv needs to be repaired or removed. WARNING: There are still partial LVs in VG data_vg. To remove them unconditionally use: vgreduce --removemissing --force. Proceeding to remove empty missing PVs.
# /sbin/vgreduce --removemissing data_vg --force Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. Removing partial LV data_vg_lv. Logical volume "data_vg_lv" successfully removed Wrote out consistent volume group data_vg
6. Dengan menghilangkan perangkat yang hilang dari grup, perangkat LVM akan mengaktifkan:
# /sbin/pvs PV VG Fmt Attr PSize PFree /dev/xvdc data_vg lvm2 a-- 996.00M 996.00M /dev/xvde data_vg lvm2 a-- 996.00M 996.00M
# /sbin/lvs -o +devices #
# /sbin/vgscan Reading all physical volumes. This may take a while... Found volume group "data_vg" using metadata type lvm2
# /sbin/vgdisplay --- Volume group --- VG Name data_vg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 1.95 GB PE Size 4.00 MB Total PE 498 Alloc PE / Size 0 / 0 Free PE / Size 498 / 1.95 GB VG UUID yTOvvd-ZjUe-gXP0-41BT-qUIk-8uPR-lpr9Pw
7. Kita dapat mencoba memulihkan grup volume menggunakan informasi yang disimpan di direktori /etc/lvm/archive/:
# /sbin/vgcfgrestore -f data_vg_00003-1023778751.vg data_vg Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. Cannot restore Volume Group data_vg with 1 PVs marked as missing. Restore failed.
8. Mencoba menimpa atau mengatur ulang informasi perangkat berdasarkan pengaturan UUID yang berasal dari informasi grup volume:
# /sbin/pvcreate --restorefile /etc/lvm/archive/data_vg_00003-1023778751.vg --uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt /dev/xvdd Couldn't find device with uuid 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt. Writing physical volume data to disk "/dev/xvdd" Physical volume "/dev/xvdd" successfully created
9. Buka informasi grup volume, misalnya /etc/lvm/archive/data_vg_00003-1023778751.vg menggunakan editor teks dan hapus string “MISSING” dari entri flags sehingga terlihat seperti ini:
flags = [ ]
10. Pulihkan LVM menggunakan entri yang dimodifikasi ini:
# /sbin/ vgcfgrestore -f /etc/lvm/archive/data_vg_00003-1023778751.vg data_vg Restored volume group data_vg
11. Verifikasi lingkungan:
# /sbin/vgscan Reading all physical volumes. This may take a while... Found volume group "data_vg" using metadata type lvm2
# /sbin/ pvs -o +uuid PV VG Fmt Attr PSize PFree PV UUID /dev/xvdc data_vg lvm2 a-- 996.00M 0 VrVT1L-CTcT-9Nn9-oIAx-BnEA-X7sv-vJO6RE /dev/xvdd data_vg lvm2 a-- 996.00M 0 70FBaa-3QKh-HTAF-gUzZ-u3mu-2RRs-hI3BIt /dev/xvde data_vg lvm2 a-- 996.00M 428.00M tGIqvd-lsYv-7JmV-1bfD-t7BL-HaGi-rmIYW0
12. Verifikasi ketersediaan LVM:
# /sbin/lvs -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices data_vg_lv data_vg -wi--- 2.50G /dev/xvdc(0) data_vg_lv data_vg -wi--- 2.50G /dev/xvdd(0) data_vg_lv data_vg -wi--- 2.50G /dev/xvde(0)