Kamarád Borek Straka mi před nějakou dobou poslal takovýhle parádní referenční materiál ohledně chyb v uložených datech. Takže dneska nic ode mě, ale tentokrát od něho :-)
Zajímavá analýza z CERNu o tom, kolik vzniká (běžnýma způsobama) neodhalitelných chyb v datech na diskách.
Originální CERN nalýza tu.
Ty jsou způsobený chybama samotných disků (magnetických částic, špatným firmwarem), chybama pamětí, špatnýma kabelama, kosmickým zářením, nespolehlivýma zdrojema, chybama v programech... RAID 5 nebo 6 nejsou žádnou zárukou, že jsou data v pořádku, protože se při čtení neověřuje, jestli sedí parita. A i když řadič umožňuje verifikaci, tak při ní jen opraví nesedící paritu, ale už není schopnej opravit chybu v datech. Verifikace se nám na serverech pravidelně jednou za čas pouští a opravdu někdy chyby nachází.
To je asi jeden z důvodů, proč čas od času nějakej systém spadne, nejdou přečíst data, něco přestane fungovat...
V CERNu je to docela pálí, protože maj z urychlovačů obrovský množství dat a když se v nich vyskytnou chyby, tak můžou způsobit chybný závěry z výzkumu. Proto dělaj všelijaký kontroly dat a (nejen oni) přecházej z HW RAID řadičů na ZFS, což je file systém + SW RAID se striktní kontrolou integrity dat (copy-on-write, verify-on-read atd.). A proto se taky začal snažit i Microsoft a přišel s ReFS a Storage Spaces. Ale kvality ZFS bych od toho nečekal.
Podle těch různých analýz jsou SAS disky míň chybový než SATA.
RAID 5 se v dnešní době x TB disků považuje za příliš nebezpečnej a na odpis. Rebuild pole s 2TB diskama po selhání disku trvá třeba i 60-70 hodin (při nejvyšší prioritě) a riziko selhání dalšího disku během tý doby je příliš velký. Zároveň je během tý doby značně omezenej výkon. A navíc dochází k dalšímu kumulování neodhalených chyb, protože při čtení disků se občas načtou chybný data a rekonstrukce správných dat není možná. RAID 6 (používáme ho na našich důležitých serverech, jednou uz nam opravdu zachranil krk, protoze odesly dva disky rychle po sobe) na dalších pár let problém RAIDu řeší, ale budoucnost je buď v tripple paritě nebo v SW systémech jako je ZFS. Kapacita disků totiž narůstá, ale jejich rychlost a chybovost zůstává skoro stejná.
Pár zajímavých citací z analýzy CERNu
A special program was developed ... This program writes a ~2 GB file containing special bit patterns and afterwards reads the file back and compares the patterns. This program was deployed on more than 3000 nodes (disk server, CPU server, data bases server, etc.) and run every 2h. About 5 weeks of running on 3000 nodes revealed 500 errors on 100 nodes. ... We have 44 reported memory errors (41 ECC and 3 double bit) on ~1300 nodes during a period of about 3 month. ... All the previously mentioned error will of course result in the corruption of user data. To assess the size of the problem, files on a disk pool were checked and the previously calculated checksum on tape was compared with another adler32 calculation. During a test 33700 files were checked (~8.7 TB) and 22 mismatchesfound.That translates into an error rate of one bad file in 1500 files.
NetApp (spolu s EMC jeden ze dvou největších výrobců diskových polí) vydal taky studii
Link na zdroj An Analysis of Data Corruption in the Storage Stack zde.
We analyze corruption instances recorded in production storage systems containing a total of 1.53 million disk drives, over a period of 41 months. ... During the 41-month time period, we observe more than 400, 000 instances of checksum mismatches, 8% of which were discovered during RAID reconstruction, creating the possibility of real data loss. Even though the rate of corruption is small, the discovery of checksum mismatches during reconstruction illustrates that data corruption is a real problem that needs to be taken into account by storage system designers.