Miluju ext3 hackery!

Svět je plný lidí vychvalujících různé filesystémy, kterým nějak pořád nemůžu přijít na chuť. Z některých mám dokonce přímo hrůzu. Dejme tomu takový reiser3: když ho trochu rozbijete (a nebo se rozbije sám) a pustíte fsck, dozvíte se často jen to, že máte zaplatit Hansovi, a on to spraví. Což bude následujících patnáct let bohužel značně komplikované. A když ho rozbijete hodně? Inu nevím, ale předpokládám, že máte smůlu. Naštěstí je tady stále s námi také jistá roky osvědčená kvalita...

Začnu trochu oklikou: Rozbil se mi v distribuci build perlového Tk, přestala mi chodit většina testů. Podezírala jsem nedávno aktualizovaný Xvfb, používaný při buildu, proto jsem se rozhodla nainstalovat si něco přiměřeně nového a vyzkoušet to na normálních xkách. Bohužel jsem sáhla po nejnovější testovací verzi distribuce s tím, že napřed zapnu instalaci, a pak si z konzole pustím ssh domů a v klidu si přečtu mailing listy, jejichž novinky jsem v posledním týdnu vyměnila za učení na zkoušku. Kdybych neudělala takovou koninu, věděla bych, že máme zrovna čerstvě předělaný partitioner...

Mívala jsem na disku své pracovní stanice bordel jak v tanku. Na začátku nějaké primary oddíly, pak jeden extended a na něm blíže neurčené množství kousků po 20 GB, tak akorát na jednu distribuci. Na konci všeho home a v něm veškerá svá pracovní data. Všechno to sice pro případ největší nouze existovalo i někde jinde, roztahané po mnoha různých strojích, o žádnou rozdělanou práci bych nepřišla, ale se ztrátou jsem stejně doopravdy nepočítala. Proč taky - už jsem s tímto rozdělením disku úspěšně přežila desítky instalací. Kdo by kvůli tomu udržoval své skripty na automatické zálohování, když se změnila konfigurace našeho NFS...

Takže jsem pustila instalaci a málem vylítla z kůže při pohledu na nové GUI od dělítka disků. Možná, že někomu dalšímu vyhovuje, nicméně mně se nezdá ani přehledné, ani pohodlně použitelné - to předchozí sice taky nebylo ideální, ale vše podstatné aspoň mělo vzdáleno jedno kliknutí. Navíc to neskrývalo podstatné informace, jako třeba labely. No nic, vím, že tomu nerozumím... Nakonec jsem objevila, po čem jsem toužila - expert mode zobrazující současný stav disku podobně jako kdysi a možnost přenastavit, co je potřeba. Vzala jsem poslední z těch dvacetigigových oddílů a objednala si, že se má použít jako root. Poslední oddíl měl partitioner nechat na pokoji a jen pak namountovat jako home. Všechno ostatní nechat úplně netknuté. Poslední kontrola, červená hláška o jednom vyžádaném formátování, pohoda. Proběhlo. Těsně po něm instalace selhala, že prý nejde namountovat home.

Kupodivu jsem netušila žádnou zradu - ony instalace testovacích verzí podobným způsobem padávají běžně. Takže jsem zaláteřila a přebootovala do stabilní distribuce, že se poohlédnu po něčem chodivějším. Vůbec mě nenapadlo uložit si instalační logy...

Jenže home kupodivu nešel namountovat ani potom. Nechápala jsem, co se stalo. Rozbitá partition tabulka? Nebo toho installer zformátoval o kus víc nebo naopak míň než měl? Kdepak, realita byla daleko prostší. O mnoho hodin a nalezených záloh superbloků rozličných filesystémů (dumpe2fs se ukázal být nejlepším přítelem) později se ukázalo, že milý partitioner si pravděpodobně ten jeden oddíl navíc prostě vymyslel na začátku mého nešťastného homu. Pro data to nevypadalo moc nadějně, s tak velkým kusem zformátovaného disku se přece nedá nic dělat. Nebo ano?

Když má člověk po ruce nějakého šikovného svatého, mohou se dít zázraky. Lze se pak třeba dozvědět, že ext3 kopie superbloků strká do bloků, jejichž čísla jsou mocniny trojky, pětky a sedmičky. Že když najdeme dvě kopie dostatečně daleko od začátku oddílu, můžeme pak jeho skutečný začátek snadno spočítat (a potvrdit tím svou hypotézu o tom, co ta věc vlastně doopravdy provedla). Milému e2fsck pak lze takto nabyté znalosti poměrně snadno vnutit. I stalo se.

Nebohé fsck chroustalo předlouho a nešetřilo přitom zábavnými hláškami. Že root není adresář? A že je třeba pořídit nějaký žurnál, aby se tomu vůbec dalo říkat ext3? Bylo to docela napínavé. Zklamání - stejně to nešlo namountovat. Pouštíme fsck podruhé, již bez různých obskurních parametrů... a tramtadadá... v lost+found, kde se vzal, tu se vzal, adresář s obsahem celého mého home. Včetně jmen souborů.

Svatý Tede, nechť je ti Tučnák milostiv! Jaký jiný filesystém by dokázal přežít něco podobného? :-)

Mimochodem, přestože jsem vše vrátila do téměř původního stavu, bug jsem už nedokázala zreprodukovat a zůstal tedy nenahlášen. Testujte pilně, třeba čeká na někoho z Vás. Pokud byste snad někdy měli tu čest, nebuďte prosím takové troubele jako já a uložte si logy z instalace před rebootem...

Re: Miluju ext3 hackery! Albert (11. 9. 2008 - 21:47) Sbalit(4)
Uff, to je nervak.. Uplne jsem se tu z toho opotil :-)
Re: Miluju ext3 hackery! m4r3k (11. 9. 2008 - 22:30) Sbalit(3)
To mi povídej, taky jsem byl nervózní jak to dopadne. :-)
Re: Miluju ext3 hackery! Martin Mares (11. 9. 2008 - 22:36) Sbalit(1)
Já jsem se hlavně celou dobu chechtal nad tím, jak fsck blikalo jak vánoční
stromeček snad všemi hláškami, které umí, a spouštělo průchody, které se za
běžného opravování disku nevídají.

Tolik jsem se o filesystemech za jeden večer už dlouho nenaučil :-)

Re: Miluju ext3 hackery! Anicka Bernathova (11. 9. 2008 - 22:53) Sbalit(1)
> To mi povídej, taky jsem byl nervózní jak to dopadne. :-)

Však počkej na betu a můžeš si to zkusit sám :-)

Re: Miluju ext3 hackery! m1c4a1 (12. 9. 2008 - 1:51) Sbalit(1)
Já si zase užil obnovy dat z ext3 filesystému, to bylo taky peklo. :) Viz http://m1c4a1.blogspot.com/2008/07/obnova-odt-soubor-ze-souborovho-systmy.html
Re: Miluju ext3 hackery! matejcik (12. 9. 2008 - 10:51) Sbalit(1)
jo. jsem kdysi měl reiserfs rád, ale to bylo asi před tím, než jsem začal mít problémy s disky :e)
například před třemi dny jsem si v rámci instalace alfy ubuntu omylem přepsal prvních 20MB té nesprávné partition... stálo mě to hodinu a půl úpění, dva fscky a nutnost přejmenovat bordel z lost+found na správná jména adresářů z /
ztráta dat nulová, na prvních dvaceti mega byl totiž jen superblok, root directory inode a (tramtadá) žurnál, který pak nikomu nechyběl.
a disk jak novej :e)
Re: Miluju ext3 hackery! Satai (12. 9. 2008 - 11:37) Sbalit(2)
Velmi jizlive bych rekl, ze ta pul hodinka, kterou slo usetrit nezalohovanim, se ti docela nevyplatila ;)
Re: Miluju ext3 hackery! Anicka Bernathova (12. 9. 2008 - 12:08) Sbalit(1)
> Velmi jizlive bych rekl, ze ta pul hodinka, kterou slo usetrit
> nezalohovanim, se ti docela nevyplatila ;)

O to nakonec ani nešlo, říkám, že bych doopravdy o žádná data nepřišla.
Byla bych to nechala plavat, ale cítila jsem určitý pocit zodpovědnosti
a potřebu zjistit, co se doopravdy stalo. Bylo by bývalo prima toho
ušetřit naše uživatele... hlavní důvod, proč jsem vůbec tu záchrannou
akci provozovala, byl takový.

Ta půlhodinka, co jsem potřebovala na opětovné sesbírání důležitých dat
z náhodných záloh (nakonec jsem to i udělala, pracovat jsem potřebovala
dřív, než se mi podařilo dostat vše zpátky), nakonec byla podstatně míň
než čas, který bych pravděpodobně potřebovala na rozchození našeho
kerberizovaného nfs :-)

Re: Miluju ext3 hackery! Bubli (12. 9. 2008 - 15:54) Sbalit(2)
> málem vylítla z kůže při pohledu na nové GUI od dělítka disků. Možná, že někomu > dalšímu vyhovuje, nicméně mně se nezdá ani přehledné, ani pohodlně použitelné - > to předchozí sice taky nebylo ideální, ale vše podstatné aspoň mělo vzdáleno
> jedno kliknutí.

A co bys Anicko potrebovala, aby Ti to nove GUI vyhovovalo (odpoved 'dat tam zpatky to stare' neberu :) )? Jsem jedno velky ucho, kdyz uz jsme se s Arvinem s tim tak dlouho patlali, tak at se alespon dobre pouziva. Bohuzel, pri prglani UI se nekdy tezko pozna, jak jej bude doopravdy pouzivat skutecny uzivatel z masa a kosti a to co mne jako programatorovi ani neprijde, uzivateli vadi. Predvybrat nejpravdepodobneji pouzitou polozku? (tj. kdyz delim disk, skocit do pohledu na disky, a jelikoz budu asi na nem nejak sahat na partisny, vybrat zalozku s partisnama). Neco jineho?

Klidne napis sem, nebo prijd za mnou do ofisu ... tohle je z prglani a udrzby partisnovace mnohem prijemnejsi vec (a vazne ji rada delam), nez zjistovat proc 'Jee, Jast mi tady nacpal jednu partisnu navic'
Re: Miluju ext3 hackery! Anicka Bernathova (12. 9. 2008 - 16:27) Sbalit(1)
> Klidne napis sem, nebo prijd za mnou do ofisu ... tohle je z prglani a
> udrzby partisnovace mnohem prijemnejsi vec (a vazne ji rada delam),
> nez zjistovat proc 'Jee, Jast mi tady nacpal jednu partisnu navic'

Až bude příští týden trochu klid, můžeme si to spolu zkusit pustit a
popovídat si o tom pořádněji. Ve zkratce: Já moc s GUI pracovat neumím.
Špatně si pamatuju hodně věcí naráz, nebo kde je co přesně schované, za
kterým rohem je tlačítko, které potřebuju... pokud mi má GUI vyhovovat,
nesmí přede mnou nic schovávat.

Pro začátek, podívej se očima někoho, kdo vidí GUI poprvé na právě
spuštěný partitioner a řekni si třeba: chci přidat oddíl sem. Jak dlouho
Ti bude trvat, než se proklikáš k tlačítku Add? A jak dlouho to trvalo
předtím?

Druhá věc je, že by bylo příjemné, kdyby se partitioner pokoušel aspoň
naznačit, co tam vlastně kde je (třeba tím, že defaultně ukazuje ty
labely), ale o tomhle problému už se myslím ví.

Na co instalátor? vorner (13. 9. 2008 - 11:26) Sbalit(1)
Já, když si chci zničit filesystém, tak k tomu nepotřebuji žádný
instalátor. Posledně stačily dvě věci: mít nastavený commit time na
nerozumě velkou hodnotu (je to notebook, tak aby se disk vypínal) a
provést zhruba toto:

* Odmountovat home
* Nechat zkotrolovat partišnu, na které žije / v domnění, že je to home
* Podivit se hlášce o tom, že kontrolovat připojený filesystém není
bezpečné a odsouhlasit („vždyť jsem ho teď odpojil!“)
* Pozorovat, že některá data nejde z neznámých důvodů přečíst
* Restartovat a chytat se za hlavu, proč nestartuje

Nakonec to fsck zachránilo, v lost+found jsem našel horu podivných
souborů, které jsem nevěděl, kam patří. Ale systém fungoval, což bylo
hlavní.

Re: Miluju ext3 hackery! Kamil (17. 9. 2008 - 11:51) Sbalit(2)
Clanek me inspiroval k malemu pokusu. 1GB partition s reiserfs, nahral jsem tam nejake adresare z /, df hlasi /dev/sdb1 1020M 764M 256M 75% /mnt/reiser. Umount /mnt/reiser, dd if=/dev/zero of=/dev/sdb1 count=100000 (51200000 bytes (51 MB) copied, 0,767331 seconds, 66,7 MB/s). Jen cvicne zkousim mount, samozrejme ani tuk. Jsem asi dite stesteny, protoze jsem jeste nikdy nezazil takto fatalni havarii fs, proto poustim man reiserfsck. O pet minut pozdeji poustim fsck.reiserfs --rebuild-sb /dev/sdb1 (zminka o 25$ za support tam opravdu je), chvili pote fsck.reiserfs --rebuild-tree /dev/sdb1 (opet 25$). Za dalsich 5 minut to dobehne, oddil jde namountovat. V koreni lost+found, pod tim ocislovane adresare, data jsou tam. Dva z adresaru chybi, ale ostatnich 11 tam je, na prvni i druhy pohled vcetne spravneho obsahu..
Re: Miluju ext3 hackery! anicka (18. 9. 2008 - 13:45) Sbalit(1)
Wow! Sice si po jistých zkušenostech s mnohem méně závažným poškozením
systému taky myslím, že je to hlavně štěstí (ale já ho nakonec měla
taky), nicméně stejně mě reiser mile překvapil. Neřekla bych do něj, že
pravděpodobnost úspěchu je větší než nulová :-)

Re: Miluju ext3 hackery! wire (16. 10. 2008 - 18:24) Sbalit(1)
> Svatý Tede, nechť je ti Tučnák milostiv! Jaký jiný filesystém by dokázal přežít něco podobného? :-)

Skusala si JFS ? Ja som ho tyral pomerne dost,vzdy sa dokazal spamatat aj ked bol pri tyrani pod znacnym zatazenim. Vlastne sa mi ho nepodarilo nejak dostat do stavu rozmlaceneho ako napriklad XFS ktore som uz nikdy neposkladal :)