Fórum Root.cz
Hlavní témata => Software => Téma založeno: nuxnoob 07. 02. 2020, 08:11:37
-
Nazdar linuxáci,
ve vlákně vedle řeším průšvih, kdy mi výpadek elektřiny poškodil XFS. Už jste mi poradili jako to opravit. Před samotnou opravou by mělo být rozumné si ten poškozený disk nějak zazálohovat. Prosím o rady krok za krokem jak na to?
Moje představa by vypadala nějak takto:
- Umím - Připojit do PC vedle HDD s poškozeným systémem ještě druhý HDD.
- Umím - Na druhý HDD pomocí instalačního USB nainstalovat čistý nový systém.
- Netuším jak, zřejmě se to dělá přes mount nebo fdisk - Po nabootování nového systému udělat z toho druhého disku ISO image.
- Netuším jak, zřejmě se to dělá přes dd - Tenhle ISO image potom zkopírovat z původního HDD na ten nový HDD.
- Netuším jak, prý se to dělá přes xfs_repair - Jakmile bude záloha dokončena, provést něco jako příkaz xfs_repair a doufat, že to jako noob nějak zmáknu.
Neřešil jste prosím v minulosti něco podobného? Nemáte někdo prosím nějaký ověřený návod, jak zařídit co potřebuji?
Nikdy jsem nic takového nedělal, potřeboval bych konkrétnější kuchařku, jak třeba najdu ten první disk? Že by pomocí "lsblk", ale jak poznám, který je ten nový a který ten starý :-D A zkrátka podtřebuji všechny takový věci, které se v teorii neřeší, ale v praxi je budu potřebovat. Na co si dát pozor apod. Už mám tip neprohodit cíl se zdrojem při kopírování původního disku s rozbitým XFS. :-)
Děkuji za záchranu, jakmile to dám do kupy, slibuji, že ihned přidám do zálohovacího procesu. Kdybych věděl, že XFS je takhle náročný na výpadky proudu, tak neváhám ani minutu. :-)
-
Takže:
1. Nedávno jsem použil na naklonování disku systemrescuecd. Dá se nabootovat a provozovat z flashky a má X a má gparted.
2. V počítači máš jen ten "poškozený" disk. Spusť gparted a podívej se na něj. Uvidíš, přesnou velikost a partitiony.
3. Pak tam připoj ještě ten nový, zase spusť gparted, teď tam uvidíš 2 disky. Dokážeš je rozeznat, nebo jsou úplně stejné?
4.a. Dokážeš je rozeznat, tak si zapiš, který je ten starý (např. /dev/sda) a který je ten nový (např. /dev/sdb).
4.b. Nedokážeš je rozeznat: Já bych postupoval úplně tupě - odpojil starý a připojil jen ten nový. Na něm bych si udělal v gparted jakoukoliv partitionu malé velikosti - jen na to, abych v gpartedu poznal, který je který. Teď už je rozeznat dokážeš. Znovu připoj ten starý disk. Tak si zapiš, který je ten starý (např. /dev/sda) a který je ten nový (např. /dev/sdb)
5. dd if=/dev/sda of=/dev/sdb
6. Čekej.
7. Teď máš na /dev/sdb přesnou kopii /dev/sda.
4.b.: Je to tupé, ale jednoduché. Předpokládám, že někdo poradí, jak se podívat na sériové číslo disku, a pak to půjde bez toho mrcasení s partitionou.
(Pozn: Určitě chápeš, že všechna ta připojení a odpojení při vypnutém počítači :-)
-
Na klonovani disku se mi osvedcila clonezilla.
https://clonezilla.org/
-
Clonezilla je super. Používám pro hromadné klonování disků, lze klonovat i přes síť.
-
Disk na Disk se zobrazenim prubehu(status=progress), vetsi nez vychozi velikost bloku(bs=1M), doplneni bloku nulama kdyz by pri cteni byl error(conf=sync)
dd if=/dev/sdX of=/dev/sdY status=progress bs=1M conv=sync
Disk do Image je to same, ale of=/adresar/kam/image.dd
K tomu co psal "Petr Blahos" je potreba si uvedomit, ze pri pripojeni/odpojeni disku se v zavisosti na poradi sata portu muze oznaceni
disku menit, tedy to ze v jednom startu vidim ze Disk1 ma oznaceni sda a pripojim Disk2 NEznamena ze Disk1 bude stale sda, tedy to zjisteni ktere sdX je dany disk je potreba delat pred kopirovanim v tom danem nastartovanem Live sezeni...
pomoci lsblk zobrazeni i vyrobce, modelu, serial
lsblk -o NAME,SIZE,VENDOR,MODEL,SERIAL,TYPE
EDIT: Jinak Clonezilla samozrejme je take (ktere roky pouzivam) reseni, ale v tomto pripade jen pro Disk na Disk, protoze Disk 2 Image by nebyl pripojitelny pro potreby zkousky oprav filesystemu, a i ten Disk na Disk by bylo potreba vybrat v Clonezilla NEvychozi rezim kopirovani DD, protoze vychozi partclone by mohl narazit na to ze kopiruje nesurove jen pouzite misto a to v pripade naboreneho filesystemu neni ok...
-
Pro kopírování disků v nejistém stavu se dá použít ddrescue. Lepší, než si pamatovat řadu parametrů dd, a snaží se u vadných sektorů trochu víc (opakuje s menší velikosti bloku).
-
Na klonování celého disku jde použít i příkaz cat /dev/sda > /dev/sdb
Nevýhoda je, že není vidět, kolik procent je hotovo.
Přesný syntax z hlavy nevím, ale google určitě pomůže :)
-
Nevýhoda je, že není vidět, kolik procent je hotovo.
Stejně jako u všech ostatních příkazů pracujícími se soubory to je vidět v /proc. Nejdřív ls -l /proc/pid/fd zjistí, který file descriptor to je, a pak je v /proc/pid/fdinfo/číslo vidět aktuální pozice.
Protože je opruz tohle dělat ručně, existuje program progress, který to udělá automaticky a zobrazí průběhy všech programů (cat, cp, mv, gzip, rsync…), ke kterým má aktuální uživatel přístup. Doporučuji nastavit si desktopové prostředí tak, aby se spouštěl periodicky, a pokud se něco objeví, ukázal se vám někde na obrazovce nenápadný progress bar.
-
Na klonování celého disku jde použít i příkaz cat /dev/sda > /dev/sdb
Nevýhoda je, že není vidět, kolik procent je hotovo.
Stačí místo cat použít pv – to je jako cat, jen s ukazatelem průběhu (a pokud zná celkovou velikost, což v tomto případě zná, tak i procent a zbývajícího času).
pv /dev/sda > /dev/sdb
-
3. Pak tam připoj ještě ten nový, zase spusť gparted, teď tam uvidíš 2 disky. Dokážeš je rozeznat, nebo jsou úplně stejné?
4.a. Dokážeš je rozeznat, tak si zapiš, který je ten starý (např. /dev/sda) a který je ten nový (např. /dev/sdb).
4.b. Nedokážeš je rozeznat: Já bych postupoval úplně tupě - odpojil starý a připojil jen ten nový. Na něm bych si udělal v gparted jakoukoliv partitionu malé velikosti - jen na to, abych v gpartedu poznal, který je který. Teď už je rozeznat dokážeš. Znovu připoj ten starý disk. Tak si zapiš, který je ten starý (např. /dev/sda) a který je ten nový (např. /dev/sdb)
[...]
(Pozn: Určitě chápeš, že všechna ta připojení a odpojení při vypnutém počítači :-)
Tohle je zbyečně složitý a zdlouhavý postup (kvůli těm rebootům). Daleko snazší je:
smartctl -a /dev/sda
smartctl -a /dev/sdb
- zajímá tě tohle:
=== START OF INFORMATION SECTION ===
Device Model: MB1000GCEEK
Serial Number: WDAU36035460
Buď jsou ty disky od jiného výrobce, pak stačí Device Model, nebo jsou stejné a pak se rozliší podle Serial Number. Oboje bývá natištěné na nálepce, takže je jde rozlišit i fyzicky.
-
Disk na Disk se zobrazenim prubehu(status=progress), vetsi nez vychozi velikost bloku(bs=1M), doplneni bloku nulama kdyz by pri cteni byl error(conf=sync)
Je nejaký rozdiel medzi týmto a použitím ddrescue ? Mám disk, čo neskopírujrm ani ddrescue, toto by ale mohlo pomôcť
-
Je nejaký rozdiel medzi týmto a použitím ddrescue ? Mám disk, čo neskopírujrm ani ddrescue, toto by ale mohlo pomôcť
Především tam k3dARovi chybi "noerror", bez něj to nefunguje tak, jak píše (viz https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html)
"neskopírujrm ani ddrescue" je tak vágní popis problému, že ti asi těžko někdo řekne, jestli ho ddrescue umí řešit nebo ne. Zkopírovat ti to nemusí jít třeba proto, že disk nemáš k počítači připojený :) Ne, tenhle problém ani ddrescue nevyřeší :)
-
Disk na Disk se zobrazenim prubehu(status=progress), vetsi nez vychozi velikost bloku(bs=1M), doplneni bloku nulama kdyz by pri cteni byl error(conf=sync)
Je nejaký rozdiel medzi týmto a použitím ddrescue ? Mám disk, čo neskopírujrm ani ddrescue, toto by ale mohlo pomôcť
Když ten disk nezkopíruje ddrescue, tak nejspíš ani dd s jakýmikoliv parametry.
Může na tom disku být natolik poškozené místo, že při přístupu na ně disk přestane komunikovat - to je pak špatné a řešení (pokud vůbec existuje) není triviální.