Wiele powszechnie używanych systemów plików, takich jak FAT, NTFS, ext2 / 3/4, nie zapewnia integralności danych pliku (na przykład sum kontrolnych) ... w połączeniu z realnym zagrożeniem zgnilizną bitów może doprowadzić do znalezionej sytuacji siebie w ... Dane są zwracane z dysku twardego bez błędów, ale nie są poprawne.
Jest to przydatna strona wiki porównując cechy systemu plików tutaj - dla przypadków użycia, jesteśmy zainteresowani w „ danych sum kontrolnych ” kolumnie „ Zdolności pliku ” stół, tutaj .
W chwili pisania tego listu systemy plików, które sumują dane (i do których prawdopodobnie masz dostęp) to: ZFS, Brtfs, ReFS.
Korzystanie z bardziej nowoczesnego systemu plików, takiego jak te, zapewnia lepszą odporność na gnicie bitowe. Nie mogę komentować innych, ale sam używam ZFS intensywnie, więc na tym skupię się reszta mojej odpowiedzi (szczególnie na zapewnieniu danych, ignorując wiele innych przydatnych funkcji).
Pojedynczy dysk / pasek
Używanie ZFS z pulą single disk
lub striped
(wiele dysków bez dedykowanego dysku parzystości) zapewnia spokój ducha, że jeśli dane zostaną zwrócone, jest poprawne. Jeśli danych nie można odczytać poprawnie, pojawi się błąd . Osiąga się to poprzez przechowywanie sumy kontrolnej danych, a także samych danych.
Zauważ, że nawet przy takiej puli copies
właściwość ZFS może pomóc w prostym zapewnieniu integralności danych - jednak nie zapewnia żadnych korzyści w przypadku awarii urządzenia, więc odradzałbym jej użycie.
copies=1 | 2 | 3
Controls the number of copies of data stored for this dataset. These copies are in
addition to any redundancy provided by the pool, for example, mirroring or RAID-Z.
The copies are stored on different disks, if possible. The space used by multiple
copies is charged to the associated file and dataset, changing the used property
and counting against quotas and reservations.
Lustro lub RAIDZ
Korzystanie z ZFS z pulą a mirror
lub raidz1
or raidz2
(1 lub 2 dyski parzystości) zwiększa powyższą zdolność wykrywania błędów i pozwala systemowi plików na próbę automatycznego wyleczenia uszkodzonych danych. Jeśli odczyt się nie powiedzie (z powodu niedopasowanej sumy kontrolnej), wówczas żądanie odczytu zostanie wysłane do jednego z dysków lustrzanych lub parzystości. W bardzo mało prawdopodobnym przypadku, gdy wszystkie źródła mają złe sumy kontrolne, zobaczysz błąd, jak wyżej. Ale w typowym przypadku dublowanie lub dysk parzystości zostanie pomyślnie odczytany, poprawne dane zostaną zwrócone, a uszkodzone dane zostaną zapisane na nowo.
Niestety nie jestem obecnie świadomy konsumenckiego produktu NAS, który zapewnia obsługę ZFS lub Btrfs, ale jeśli używasz tego na komputerze, to dystrybucje takie jak FreeNAS (używa ZFS) mogą być dla Ciebie bardzo interesujące.
Można oczywiście obliczyć sumę kontrolną dla wszystkich plików, jak wspomniano, ale prowadzi to do problemów przy próbie utrzymania i weryfikacji sum kontrolnych.