Problém
Po restartu se systém nespustí ani neaktivuje jednu ze skupin svazků LVM. Při pokusu o ruční aktivaci skupiny se zobrazí zpráva:
Couldn't find device with uuid '[UUID]'
Řešení
Řetězec LABELONE v umístění metadat označí zařízení jako součást zařízení LVM. Bez tohoto řetězce se lvm3 nepokusí využít zařízení jako fyzický svazek. Metadata fyzického zařízení mohou být přepsána kvůli systémové chybě nebo úmyslnému ručnímu zásahu.
Pro Linux verze 4 nebo 5 je výchozí oblast metadat 192 kb. Pro Linux verze 6 jsou výchozí metadata 1Mb. Před pokusem o jakoukoli obnovu nebo opravu se důrazně doporučuje vytvořit záložní kopii této oblasti:
# /bin/dd if=/dev/xvdd of=/root/xvdd.metadata bs=1K count=[192_or_1024]
Chcete-li zkontrolovat podpis LVM, postupujte takto:
# /bin/strings /root/xvdd.metadata | /bin/fgrep LABELONE
Pokud není vytvořen žádný výstup, metadata jsou poškozena.
Zkontrolujte informace v:
/etc/lvm/backup /etc/lvm/archives
pro změny. Pokud byly změněny nebo jsou nekonzistentní, je možné, že obnovovací činnost poškodí celá data svazku. Ověřte, že fyzické zařízení nebo logická jednotka je stále k dispozici nebo že se stále zobrazuje tomuto serveru.
Buďte opatrní, abyste pravidelně zálohovali všechny svazky LVM. I když mohou být obnovitelné, je také možné, že nesprávná konfigurace zcela poškodí celou datovou sadu.
1. Všimněte si, že tato položka je důležitá pouze v případě, že máte v systému také zařízení pro více cest. Pokud nepoužíváte LVM a multipathing na stejném serveru, můžete tuto položku bezpečně přeskočit.
Během spouštění systému je subsystém LVM upozorněn na každé blokové zařízení, jako je disková jednotka nebo LUN, takže zařízení lze použít k vytvoření svazku LVM. Toto je asynchronní proces; není zaručeno, že zařízení budou objevena ve stejném pořadí při každém spuštění systému. To znamená, že fyzické cesty vícecestného zařízení budou pravděpodobně objeveny před dokončením složeného logického zařízení, což vede k tomu, že fyzická cesta je nárokována subsystémem LVM předtím, než je vícecestnému subsystému zařízení nabídnuto. Tento stav má dva nežádoucí důsledky:
A. LVM využívá a nárokuje pouze jednu cestu k vícecestnému zařízení, takže systém je zranitelný vůči selhání jednoho bodu, které způsobí katastrofální ztrátu připojení k úložišti.
b. Protože LVM získává výhradní vlastnictví fyzické cesty, vrstva s více cestami hlásí zařízení jako zaneprázdněné a nemůže sestavit zařízení s více cestami. Úložiště tak bude vystaveno jednobodovému selhání, které brání přístupu k úložišti. Řešením je donutit LVM, aby zvážil pouze ta bloková zařízení, která mají skutečně obsahovat část svazku LVM. Způsob, jak to udělat, je podívat se do souboru /etc/lvm/lvm.conf:
# /bin/fgrep -n -e 's/#.*//' -e '/filter/p' /etc/lvm/lvm.conf filter = [ "a/.*/" ]
Pokud váš výstup vypadá jako výše, máte problém s konfigurací LVM, který pravděpodobně naruší všechna vícecestná zařízení, pokud je ve svém systému používáte. Změna tohoto parametru je mimo rozsah této poznámky. Budeme pokračovat za předpokladu, že jste tuto hodnotu opravili.
2. Úložiště, které obsahuje data LVM, je někdy rozpoznáno pomalu a může být úspěšně připojeno, pokud se k němu přistupuje po stabilizaci systému. Nejprve provedeme inventarizaci dostupných blokových zařízení a určíme 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
Nyní, když máme UUID způsobující problém, musíme najít přidružené zařízení:
# /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. Rozložení logických svazků mezi fyzickými zařízeními můžeme zobrazit takto:
# /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. Pokuste se aktivovat skupinu svazků:
# /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. Pokuste se zmenšit skupinu svazků a odebrat chybějící zařízení:
# /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. Po vyřazení chybějícího zařízení ze skupiny by se zařízení LVM mělo aktivovat:
# /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. Můžeme se pokusit obnovit skupinu svazků pomocí informací uložených v adresáři /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. Pokus o přepsání nebo opětovné zadání informací o zařízení na základě nastavení UUID odvozeného z informací o skupině svazků:
# /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. Otevřete informace o skupině svazků, například /etc/lvm/archive/data_vg_00003-1023778751.vg pomocí textového editoru a odeberte řetězec „MISSING“ z položky flags, takže to vypadá takto:
flags = [ ]
10. Obnovte LVM pomocí této upravené položky:
# /sbin/ vgcfgrestore -f /etc/lvm/archive/data_vg_00003-1023778751.vg data_vg Restored volume group data_vg
11. Ověřte prostředí:
# /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. Ověřte dostupnost 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)