Podivne zaseky - jak dal postupovat? [dlouhe]

Dan Lukes dan at obluda.cz
Fri May 20 19:24:30 CEST 2016


On 05/20/16 17:33, Miroslav Prýmek wrote:
> zasek procesu v D stavu po pokusu o zapis na disk.

> No takze jsem logicky pojal podezreni, ze je to chyba disku.

Nebo komponent s nim souvisejicich - radice, kabelu.

Dale, se sestupnou pravdepodobnosti - to taky muzou byt vysychajici 
kondenzatory na desce nebo ve zdroji a s tim souvisejici vznik ruseni - 
a disk je jen prvni, ktery na problem citlive zareagoval (a kdo vi 
jestli prvni, byl tam taky jeste ten reset).

A ruseni nemusi byt nutne interni, to muze prichazet ze site (napajeci i 
datove), kabelem od monitoru a ostatne jakymkoliv kabelem, treba i tim 
od klavesnice, pokud se tahne soubezne s necim, co zacalo rusit.

> # zpool set failmode=continue zroot
>
> ale to se zaseklo taky

To jako indicie moc nepomuze. Jakmile uz je jednou fronta pozadavku na 
disk jednou zadrena, zadre se kazdy proces, ktery si do ni neco da a 
pokusi se cekat na dokonceni. A ja predpokladam, ze si zpool tyhle 
nastaveni na disk pise "pro priste".

> Stejne tak se zasekl pokus o vyhozeni disku z poolu. Ani na CAM urovni
> se mi to nepodarilo:
>
> # camcontrol eject ada1
> Error received from stop unit command

Oboji ze stejneho duvodu.

> Takze zbyla posledni sance ten disk natvrdo odpojit (porad za behu).

Tohle je jedina sance.

> To probehlo v poradku, disk zmizel, dokonce z gstatu zmizely visici
> operace, ale ne vsechny - misto tech 12 tam byla jedna :(

A to byla, zrejme, ta, ktera byla "zadrena". Ty ostatni byly jen ve 
fronte za ni a s odstranenim disku byly abortovane.

Tahle jedna uz ale zrejme byla rozjeta a cekala na nejakou reakci 
hardware - a ta reakce neprichazela.

> Takze jsem dosel k nazoru, ze chyba bude v disku. Jenze SMART nerikal
> nic, offline test probehl bez chyby a jakekoli stresstesty jsem se
> snazil na disku poustet, vsechno bylo uplne v pohode.

Chyba (v) disku je porad nejpravdepodobnejsi, nebo v bezprostredne 
souvisejicich komponentach. Ze SMART nic nerika neni dukaz niceho, on je 
dnesni disk uz jako vsechno ostatni procesorem rizena krabicka, a kdyz 
ten firmware (kdo vi, kdo ho psal) zblbne/zdechne, neni dukazem niceho, 
ze o zdechnuti nebyl timtez firmwarem ucinen radny zapis.

Ani to, ze se ti pak vedome nepodarilo disk znovu dostat do tehoz stavu.

> Jeste me napadlo, jestli by to nemohlo souviset s jinou veci - pri
> pripojeni na tenhle server se mi obcas stavalo, ze jakoby na sekundu dve
> zamrzl a pak jel v pohode dal. Nedoresil jsem, jestli to bylo sitovkou
> nebo necim jinym. Bylo by mozny, ze by nejaka chyba v hw nebo v driveru
> zpusobila nejake takove cekani

Ano. Staci aby nejaky driver zakazal veskera preruseni a z nejakeho 
duvodu nikoliv na par taktu procesoru ale na delsi dobu, a po onu delsi 
dobu se nepohne nic.

> neco v diskovych operacich by spravne nevytimeoutovalo a ZFS by se tim dostalo do vecneho cekani?!

Zbytecne komplikovana uvaha. V diskovych operacich nemaji timeouty co 
delat - a pokud by se tam nejake objevovaly, je treba predevsim resit 
tenhle primarni problem.

> Ted fakt nevim, co s tim dal :(

Jestli jsem to spravne pochopil, tak konkretni problem se objevil pouze 
jednou a nepodarilo se ho zopakovat. Takze statisticky vzorek k analyze 
je fakt hodne maly.

>   - dost dobre nemuzu riskovat, ze se tohle bude se serverem stavat v
>     ostrem nasazeni. Uz proto, ze to vyzaduje tvrdy reset na miste...

Mozna ne - nezkusil's natvrdo sestrelit watchdogd. Pak by to mel chip 
hardwarove otocit.

>   - nedokazu nijak urcit, jestli chyba byla v disku, radici nebo necem jinem a jestli se bude opakovat

To se u jednoho pripadu opravdu rict neda. Vime jen, ze zaseknuty proces 
cekal na dokonceni zadaneho pozadavku na cteni dat z disku a podle vseho 
nikdy neobdrzel informaci o tom, ze je operace dokoncena nebo zrusena.

Nevime ale ani, zda ta operace byla zadana s moznosti timeoutu.

Jedna vec je, ze nebyla dokoncena - za to ZFS nejspis nemuze a ma to 
nejakou, spise hardwarovou nez softwarovou, pricinu. Krome mnoha jinych 
se napriklad mohlo "ztratit" preruseni.

Zda byl pozadavek zadany s nejakym timeoutem (a jak dlouhym) je do 
znacne miry nesouvisejici otazka - ale tohle uz ZFS na triku mit muze.

Otazka zni velmi pragmaticky - jsi schopen otevrit zdrojaky, projit 
cestu od zfs_freebsd_read k sleepq_wait a zjistit, zda je cekani v te 
sleep queue timeoutovatelne a pokud ano, zda pri pruchodu touto cestou 
je nejaky timeout nastaven ( a to nejaky kratsi nez "skoro nekonecny") ?

A pokud ano a zjistis jak to funguje, jsi schopen si provest vlastni 
upravu a pouzivat vlastni upraveny kernel ?

Pokud ne, pak nema smysl, abyses "softwaorovou" casti problemu zabyval. 
Pokud ano, uvedom si, ze vysledkem bude "jen" to, ze pro vyskytu 
problemu, ktery je primarni pricinou, se ti nezadre cely system, ale 
zrejme se podela jen neco mensiho.

>   - jak jsem psal, pred timhle incidentem sel server do tvrdeho resetu
>     asi dvakrat. Mohlo to poskodit zpool tak, aby se choval takhle divne?
>     Melo by smysl ho smazat a vytvorit znovu z ciste vody?!

Nemam to za prilis pravdepodobne, ale uskodit to nemuze.

>   - 2GB RAM na ZFS je malo, ale zas ne tak malo, aby se stalo tohle (?)
>     -> zkusit se ZFS vzdat a jet na tehle lokaci na UFS? (jinde mam ZFS,
>     takze udrzovat jednu instalaci s UFS je opruz)

;-) Ty jsi tady ten, kdo tam ZFS ma a soucasne ho povazuje za zdroj 
potizi. Ja se ZFS velmi peclive vyhybam a presto ho nemam v tehle kauze 
za nejpodezrelejsiho.

Kdyz uz teda mam byt dabluv advokat - ja bych tam ZFS predevsim nejspis 
vubec nemel a kdyz tam je a jen trochu jde aby slo pryc slo by pryc, ale 
ne kvuli tomuhle.

>   - zkusit koupit nejaky PCIe SATA radic?
>   - udelat nejake dalsi testy?
>
>   - nebo se vykaslat na ozivovani tohodle stareho zeleza a radeji
>     presvedcit zakaznika, at koupi novy server (a doufat, ze s nim
>     zadne problemy nebudou)?

Zapomels na "prohodit ty dva disky", "vymenit ten jeden", "vymenit 
kabely", "vymenit zdroj".

S ohledem na jeden vyskyt problemu je to ciste sazka do loterie. Nevis 
ani jestli se problem bude opakovat - a to v nejake podobne forme, nebo 
nejak uplne jinak.

Co bych skoro jiste nedelal je externi radic. Jestli je problem v 
on-board radici, je problem v on-board south-bridge a tedy je out cela 
deska.

Nejjistejsi mas samozrejme "novy server", protoze i kdyby to nepomohlo, 
i tak se vzdycky muzes vratit zpatky k teorii, ze za to muze ZFS a 
predelat top na UFS.

> Co byste doporucovali udelat?

Ono zalezi, kdo tuhle akci plati. jestli se staras o cizi srot prakticky 
zadarmo, tak neni ekonomicky v tom utopit spoustu tvyho casu.

Jestli ti za tuhle peci plati, pak bys mel mit rezervu abys ve vlastni 
rezii nejdriv zkusil nejake celkove mene nakladne postupy, i s rizikem, 
ze se to tim nevyresi - jako treba zkusit vymenit ten disk nebo zdroj.

Ale ve chvili, kdy se problem objevil jedinkrat je cokoliv dost 
predcasny. Navrhuju pockat, jestli se to jeste nekdy stane.

Protoze pokdu s epokazdy stane neco zcel ajinyho - jednou reset, jednou 
zadreny disk, jednou co-ja-vim-co, tak se problem paradoxne znacne 
zjednodussi - pak uz bude skoro jasny, z emas vyhodit srot a koupit neco 
mladsiho.

Dan





More information about the Users-l mailing list