Niekorygowane błędy a ryzyko utraty danych

Trwałość informacji znajdujących się na dyskach grupowanych w macierze RAID jest priorytetowa. W takim kontekście coraz bardziej problematyczne stają się drobne błędy pojawiające się w przestrzeniach składowania coraz większych ilości informacji, które nie są wykrywane przez projektowane zabezpieczenia, jak firmware dysku, kontroler czy system plików. Szacuje się, iż błędy tego rodzaju występują średnio w jednym na 90 napędów SATA, co dla macierzy RAID 5 daje jeden błąd na każde 67 terabajtów przetworzonych danych. Ponieważ błędy takie mogą doprowadzić do nieodwracalnej utraty gromadzonych informacji są one niekiedy określane mianem „cichych zabójców”. W czasach kiedy bazy danych pracujące w systemach RAID posiadały niewielkie rozmiary zjawisko takie miało charakter marginalny, obecnie, w erze BIG DATA, pojemnych dysków i szybkich macierzy, kwestia ta zaczęła urastać do rangi poważnego problemu. Niekiedy wskazuje się, iż zamiast woluminów w systemach RAID lepsze może być stosowanie modelu skalowania poziomego – dodawanie kolejnych urządzeń zamiast rozbudowy pojedynczego urządzenia (scale-out).

Niekorygowane błędy w RAID 5

Niekorygowane błędy odczytu (Unrecoverable Bit Error – UBE) są szczególnie niebezpieczne podczas odbudowy dużych woluminów pracujących w RAID 5 – błąd odczytu sektora powoduje błąd rekonstruowanych bloków liczonych za pomocą mechanizmu sum kontrolnych zawierających dany sektor. Takiego woluminu nie uda się odbudować. Producenci macierzy starają się wykorzystywać procesy czyszczenia błędów, dzięki którym odtwarzana jest poprawna zawartość przenoszonych do nowego sektora bitów informacji. Jednak nie wszystkie macierze wyposażane są w takie mechanizmy i nie zawsze można w ten sposób pozbyć się kłopotu.

Niekorygowane błędy a czas odbudowy woluminu

Czas odbudowy dużego woluminu liczony jest na ogół w godzinach, niekiedy proces zajmuje nawet kilka dni. Gdy macierz nadal obsługuje system czas odbudowy jeszcze się wydłuża. Długi czas i obciążenie odbudową pociąga za sobą wzrost prawdopodobieństwa wystąpienia UBE. W przypadku woluminów pracujących w RAID 3, 4 oraz 5 wystąpienie błędów podczas odtwarzania zawartości pociąga za sobą uszkodzenie i utratę danych. Dla RAID 5 ryzyko utraty danych jest największe właśnie w momencie odtwarzania bazy danych po awarii i wymianie dysku. Stosując systemy z potrójnymi dyskami parzystości można zmniejszyć ryzyko awarii i utraty danych – czas odbudowy RAID 10 jest krótszy ponieważ kopiowane są tylko dane z uszkodzonego dysku – nie istnieje konieczność odtwarzania każdego sektora macierzy.

Niekorygowane błędy a pojemność dysku

Współczesne dyski posiadają zaimplementowane mechanizmy korekcji błędu. Jednak czas naprawy błędu i odtworzenia sektora może być niekiedy dłuższy od czasu oczekiwania kontrolera na odpowiedź dysku, co odbierane jest jako uszkodzenie i wyłączenie napędu z macierzy RAID. W związku z tym, wielu producentów nie zaleca budowania macierzy RAID 5 w oparciu o dyski dużej pojemności.

Niekorygowane błędy i system plików ZFS

Tworzenie bazy danych polega na ogół na wykorzystaniu sprzętowego kontrolera RAID zarządzającego woluminem. Za spójność danych odpowiada kontroler dyskowy. Kontroler jednak, jak wspomniano, nie zawsze jest w stanie skorygować błędy generowane na talerzach dysków. Opcja wykrywania błędów realizowana być może przez specjalny system plików ZFS opracowany przez firmę Sun Microsystems. Odpowiednio skonfigurowany RAID wraz z systemem ZFS pracującym w oparciu o mechanizm sum kontrolnych umożliwiają detekcję problemów, które nie są diagnozowane nawet poprzez specjalistyczne programy diagnostyczne czy sprzętowe kontrolery.

Pavel Kroupka

Galeria