Ztráta dat v ext3 (delší)

Miroslav BENES mbenes na tenez.cz
Čtvrtek Červen 12 09:23:55 CEST 2003


Přeji krásný den !

Včera se mi stala dost nepříjemná věc, která mě docela vyděsila.
Pokud k tomu máte někdo co říct, budu jedině rád (a určitě ne
sám).

Popis systému :
===============
P4, 1GB RAM, disk (mj) 80 GB, RH7.3, kernel 2.4.18-19.8.0,
svazek je/byl formátován jako ext3

Popis chyby :
=============
Mám ext3 svazek připojený do /mnt/big. Včera jsem (pomocí mc)
promazal cca 2900 souborů z /mnt/big/ten/ten8/list a _hned_ nato
jsem nechal smazat dalších cca 2900 souborů z adresáře
/mnt/big/ten/ten8/r (první jsou protokoly o překladu, druhé jsou
binárky).
Při mazání z druhého zmíněného adresáře se mazání zarazilo na
38% a zůstalo stát (bez chybové hlášky). Výpis pocesů ukazoval,
že mc visí ve stavu "D".

Do adresáře /mnt/big/ten jsem se už nedostal ničím - všechno
zůstalo ve stavu "D". Zde je výpis strace příkazu
"ls -l /mnt/big/ten/ten8" (kráceno) :

...
open("/usr/share/locale/cs_CZ/LC_TIME/fileutils.mo", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/share/locale/cs/LC_TIME/fileutils.mo", O_RDONLY) = -1
ENOENT (No such file or directory)
brk(0x805e000)                          = 0x805e000
lstat64("/mnt/big/ten/ten8", {st_mode=S_IFDIR|0775,
st_size=139264, ...}) = 0
getxattr("/mnt/big/ten/ten8", "system.posix_acl_access", (nil),
0) = -1 ENOSYS (Function not implemented)
open("/mnt/big/ten/ten8",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
fstat64(3, {st_mode=S_IFDIR|0775, st_size=139264, ...}) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
brk(0x805f000)                          = 0x805f000
getdents64(0x3, 0x805dcb0, 0x1000, 0x805dc80


Bylo to přesně takhle (bez koncové závrky !). Můžete mi někdo
prosím říct v čem je problém ?

Zajímavé bylo, že data ze svazku byla dál normálně přístupná - s
vyjímkou adresáře ten.

Ale nejhorší šok jsem zažil po restartu. Jkýkoiv pokus o nápravu
(pomocí fsck) skončil hláškou "Recovering journal" .. a proces
fsck zůstal viset ve stavu D. obnovit data už se mi nepodařilo.


Otázky :
========
Je to nějaká známá chyba (že se při "intenzivní" práci zapráská
žurnál a ext3 blbne) ? Vychází to na cca 4000 smazaných souborů
během krátného intervalu.

Můžu po tomto věřit ext3 ? Z dlouhodobého používání jsem měl
pocit, že je to stabilní a robustní filesystém, ale včerejšek mě
vytočil. Přijít o kompletní zdrojáky projektu není nic
přijemného. Naštěstí jsem měl zálohu a přišel jsem "jen" o
jednodenní práci, ale stejně už budu mít strach nasadit ext3 na
důležité servery.

BTW podezříval jsem disk, ale badblocks nic nenašel. Tak nevím..



Každé připomínky jsou vítány.


--------------------------
Miroslav BENES
E-mail   : mbenes na tenez.cz
TENEZ Chotebor, a.s
--------------------------



Další informace o konferenci Linux