Zamrzani USB disku

Dan Lukes dan at obluda.cz
Wed Jan 6 23:25:04 CET 2016


S Dansa wrote:
> pokud k pocitaci s FreeBSD 10.2/i386 pripojim USB disk
> WD Elements 1.5 TB (VID 0x1058, PID 0x10b8, bcdDev. 0x1012),
> pak pri praci s velkym mnozstvim malych dat externi disk
> po chvili na cca 62 sekund zamrzne - LED sviti, data
> netecou. Pokud aplikace neskonci s chybou, pak se po onech
> 62 s vse rozjede, tj. pokracuje, kde skoncila

No, to muze byt jak chyba ovladace USB (ve vztahu ke konkretni 
hardwarove konfiguraci) tak chyba firmware disku.

Pricemz v obou pripadech to nejspis bude mit povahu race-condition 
zavisle na konkretni sekvenci a timingu vzajemne komunikace.

Takze se to bude dost blbe ladit.

> - pri primem pristupu na nenamountovany disk k zamrznuti
>    nedojde (dd if=/dev/da0[p1] of=/dev/null bs=1m)

To je striktne sekvencni cteni, tedy "uzivaci" pattern zcela nepodobny 
"normalnimu" provozu. Takze nam to rika jen tolik, ze "takhl ejednoduse 
to nepujde".

> - pri opakovanem spusteni "tar cvf /dev/null /mnt/src" se
>    vypis zastavi pokazde nekde jinde

To je dalsi indicie k hypoteze o race-condition, nenaznacuje ale kde. 
Jedine pozitivum je, tedy pokud to sice zamrzne v ruznejch chvilich, ale 
pokazdy, ze tu je nejaky postup, kterym se da relativne spolehlive 
overit, zda problem trva.

> - na relativne novem DELL Precision T1700 USB disk pod
>    FreeBSD 10.2 take zamrzal (konfiguraci PC nevim, mohl
>    bych zjistit). Disk byl pripojen k rozhrani USB3

To muze a nemusi byt odlisna hardwarova konfigurace. V druhem pripade 
nejde o nezavislej test.

> - pouziti FAT (msdosfs) situaci zhorsi (zamrznuti > 70 s)

Jiny FS muze znamenat jiny pristupovy pattern, ale taky to muze byt 
daleko jednodussi - treba byl FAT formatovany jen s odlisnou velikosti 
bloku a se stejnou by vysledky byly obdobne.

> - pokud byl na disku FAT oddil s rozbalenym "src" stromem
>    FreeBSD 10.2 pak pri cteni (tar cvf /dev/null...)
>    na Debian Wheezy live (Thinkpad T60p) a MacOS X
>    10.4.11/powerpc (obstarozni Mac Mini) k zamrzani
>    nedochazelo. Na FreeBSD 10.2/i386 ano
(a obdobne body zminujici OpenBSD, Windows)

To az tak moc neodhaluje, odlisne system mohou a nejspis maji prostupy 
ke stejnemu FS implementovane ruzne. Porad muze jit jak o problem prace 
s radicem USB, tak o problem firmware disku.

> - vypis smartctl sice mam, ale nevim, mohu-li mu duverovat

Pokud data dokazal nacist, tak spis nebudou zcela nesmyslny. Obzvlast 
pokud se omezis na "cooked" hodnoty. Nicmene, pro tyhle ucely spis 
nepredpokladam, ze by ze S.M.A.R.T vypadlo neco uzitecnyho.

  -------------

Takze co ?

Genialni rada zadna. Pro zacatek bych zjistil co se deje na USB zarizeni 
v okoli pauzy. To znamena pouzit usbdump pro zachyceni komunikace a 
nasledne posledni wireshark pro analyzu zachycenych dat.

Pokud bude pauza probihat behem otevreneho pozadavku (a tedy se bude 
cekat na odpoved disku) pak to drhne "v disku". Pokud behem pauzy zadna 
otevrena USB transakce probihat nebude, v disku to neni.

Ne, ze by nektera z obou moznosti primo vedla k rozreseni "kdo za to 
muze" nebo "co s tim". Sed divide et impera.

Dan





More information about the Users-l mailing list