Jak postupovat při záchraně dat: Porovnání verzí

Smazaný obsah Přidaný obsah
Woodcraft (diskuse | příspěvky)
Řádek 476:
}}</small>
 
==Oprava diskových oddílů virtuálních disků VMware==
 
Používáte-li virtualizaci, tak se může stát, že narazíte na problém s poškozeným souborovým systémen na virtuálním disku. S uplatněním výše uvedených technik, jej můžete opravit, aniž by bylo nutné virtuální stroj spouštět.
{{Pozn|}}
 
'''Nezapomínejte na vytvoření zálohy!!!'''
 
Než začnete s diskem pracovat, vytvořte jeho kopii pomocí konverzního nástroje [[Linux:vmware-vdiskmanager|vmware-vdiskmanager]], a pomocí mountovací utility [[Linux:vmware-mount|vmware-mount]] zjistěte potřebný '''offset''' - tj. od kterého sektoru začíná diskový oddíl, který potřebujete opravit. Dále pak pracujte již pouze s touto kopií.
 
{{Výpis|1=
{{Linux:root}}[[Linux:vmware-vdiskmanager|vmware-vdiskmanager]] -r virtuální_disk.vmdk -t 0 temporary.vmdk
{{Linux:root}}[[Linux:vmware-mount|vmware-mount]] -p temporary.vmdk
Nr Start Size Type Id Sytem
-- ---------- ---------- ---- -- ------------------------
1 63 176652 BIOS 83 Linux
2 176715 514080 BIOS 83 Linux
3 690795 5590620 BIOS 83 Linux
}}
 
{{Pozor|Vytvoření kopie je důležité zejména tehdy, pokud chcete vytáhnout data ze snapshotu. Mountovací utilita [[Linux:vmware-mount|vmware-mount]] totiž při připojení mění tzv. CID disku a mohlo by se vám stát, že byste se potom nedostali do snapshotů, které následovaly. Nástroj [[Linux:vmware-vdiskmanager|vmware-vdiskmanager]] totiž sloučí data z jednotlivých snapshotů, tak jak postupně předcházely.}}
 
Aby bylo možné pracovat s virtuálním diskem jako by šlo o kopii disku vytvořenou pomocí utility [[Linux:dd|dd]] je třeba připojit virtuální disk jako tzv. '''flat''' disk. Po jeho připojení se v přípojném bodě objeví soubor s názvem <code>flat</code>, se kterým lze dále pracovat.
 
{{Výpis|1=
{{Linux:root}}[[Linux:vmware-mount|vmware-mount]] -f temporary.vmdk /přípojný_bod
{{Linux:root}}[[Linux:ls|ls]] /přípojný_bod
/přípojný_bod/flat
}}
 
Nyní přichází řada na tzv. '''loop zařízení'''. Pro práci s loop zařízeními je určen nástroj [[Linux:losetup|losetup]]. Ten umožňuje jejich vytváření i rušení. Z výše uvedeného výpisu víme, že diský oddíl, který nás zajímá začíná 690795 sektorem. Obvyklá velikost jednoho sektoru je 512 bajtů a jelikož se velikost offsetu udává v bajtech, vynásobíme počet sektorů velikostí jednoho bajtu a výslednou hodnotu použijeme jako ''offset''.
 
{{Výpis|1=
{{Linux:root}}echo $((690795*512))
353687040
{{Linux:root}}[[Linux:losetup|losetup]] -a
{{Linux:root}}[[Linux:losetup|losetup]] /dev/loop4 -o 353687040 /přípojný_bod/flat
{{Linux:root}}[[Linux:file|file]] -s /dev/loop4
/dev/loop4: ReiserFS V3.6
}}
 
S vytvořeným zařízením <code>/dev/loop4</code> pak již můžeme pracovat jako s normálním blokovým zařízením.
 
<small>{{Výpis|1=
Řádek 586 ⟶ 623:
###########
}}</small>
 
Po opravě disku, nezapomeňte zrušit všechna loop zařízení, která pracují s tímto diskem a teprve pak jej odmountujte.
 
{{Pozn|Pokud je při opravě reiserfs použita volba '''--rebuild-tree''', je určitě dobré mít log uložený, protože vám pak umožní identifikovat soubory z adresáře <code>/lost+found</code>
}}