08. 01. 2006 Jak XFS nezvládl badblocky

V pátek konečně můj dodavatel hardwaru oznámil, že přišel nový disk Hitachi. Okamžitě jsem se tam stavil, dal ho do USB krabičky (Transcend), promyslel si postup a initnul do jednouživatelského režimu - počítač se kousnul. Po následném restartu jsem tedy přešel do „jedničky“ a na disku vytvořil oddíly a celý systém překopíroval.

Ten den byl velmi úspěšný. Doktor mi ráno oznámil, že se můj Tinnitus zřejmě zlepší, pak následoval dobrý oběd, pěkná procházka s přýtelkyní a jejím psem. Bohemka mi oznámí, že mají disk - moment! Chyba, nemohu přečíst soubor Posta/inbox/2312. Jak NEMOHU PŘEČÍST?!? Následovalo spuštění Live CD a kontrola filesystému pomocí xfs_check a xfs_repair.

To byste nevěřili, kolik našel problémů. Zřejmě se ty problémy (různé zapomenuté soubory a podobně) táhly již delší dobu. Problém je, že filesystém XFS málokdy sáhne po úplné kontrole struktury. To by ale nebylo nic vážného, kdyby ovšem oprava neselhala chybou číslo 990. Začal jsem mít podezření a po chvíli googlování v linksu jsem spustil badblocks. A oucha. Asi dva tucty nečitelných bloků!

Bohužel jsem nepřišel na to, jak umožnit systému XFS, aby se z toho vylízal. Kýžený e-mail jsem tedy smazal - naštěstí to byl jen jeden nečitelný soubor - a nechal si jej přeposlat do schránky. Systém jsem tedy přemístil na nový disk, a znovu ze zvědavosti ještě zavedl poraněný systém. Zjištění naštěstí bylo uspokojující - pomocí skriptu jsem našel jen několik souborů, vyplněných nulami (.bash_history, konfigurační soubor Opery, xchatu a Gajimu - vše, co jsem měl v ten pád systému zapnuté).

Tehdy jsem ještě nevěděl, že souborový systém XFS velmi špatně reaguje na výpadky proudu (tedy i násilné restarty při kousnutí). Velmi agresivně prý kešuje zapisovaná data, což znamená jediné - jejich ztrátu. Výkonostně je na tom u velkých souborů dobře, o hodně horší je to u mnoha malých fajlů.

Našrouboval jsem nový disk do počítače - a nic. Ani ťuk. Systém nerozpoznal tabulku oddílů. No to je mi šlamastika, před víkendem spoustu práce a tohle! Jak to nyní řešit? Páteční večer, já jsem doma, v ruce skoro nic - jen šroubovák. Oči se mi zastavily na krabici s Mandriva Linuxem 2006 CZ. Vrátil jsem starý disk, spustil instalátor a naformátoval jej (s badblock checkem). Pak nainstaloval základní systém a snažil se najít řešení.

Žádné nebylo, po telefonátu s kamarádem (Ivanem Bíbrem) mi bylo sděleno, že tohlo skutečně nefunguje a tabulku musím znovu vytvořit už v počítači. Jel jsem do kanceláře k rodičům, data ztaroval na jeden počítač s Windows přes Sambu. Musel jsem použít split, protože na cílovém počítači byl FAT32. Během procesu nejprve mamka vypnula počítač, načež po opětovném spuštění jej zase během úklidu omylem uspal taťka. Zdárně jsem to dokončil, stáhnul nějaké Live CD, kde jsou userspace programy pro Sambu (samba-client - tj. smbmount, smbrowse…) - na Gentoo LiveCD toto není - a systém znovu překopíroval.

Když jsem chtěl disky znovu vyměnit, zjistil jsem, že jsem doma nechal šroubovák. Nakonec mi mamka půjčila kapsení nůž a já systémy zdárně připravil pro boot. A bum - grub nebootuje. Na mém novém 80 GB disku prostě nesežral tak velkou partition a bootovací soubory byly zkrátka moc „daleko“. Takže ten proces jsem opakoval po čtvrté, vytvořil malý oddíl pro /boot - konečně.

Jádro nebootovalo - neměl jsem zakompilován ext3. Bože, řekl jsem si a jal se překopilovat z Live CD jádro. Znova boot - znova chyba. Nemohu měnit parametry při remountu, řval dmesg. Chvíli jsem na to čučel, pak mi jkt| z kanálu #gentoo.cs poradil, ať vyhodím všechny parametry z kořenového svazku ve /etc/fstab. Jistě, měl jsem tam data=writeback,commit=30. Znovu LiveCD (oddíl byl připojen pouze pro čtení), úprava /etc/fstab. Konečně.

Když se zkrátka daří, tak se daří. Až v sobotu k půlnoci jsem mohl nabootovat můj systém, na který jsem zvyklý. Musím ale říci, že sólo svazek pro /usr/portage s vyladěným systémem ext3 (1kb blok, data=writeback,commit=60) velmi distribuci Gentoo prospěl. Zaznamenal jsem asi pětinásobné zrychlení oproti stavu, kdy byl tento adresář s mnoha tisíci soubory spolu s ostatními daty na XFS systému. Do tohoto malého oddílu určeného pro mnoho neobjemných souborů jsem dal i ccache.

Dnes ráno je krásný den, na balkoně se utvořil nádherný krápník (foto pošlu) a já si jdu ven vyčistit hlavu.
21 April 2010 | oldblog
twitter.com linkedin.com
google.com/+ facebook.com
flickr.com youtube.com