How to Protect Your Data Using ZFS
Pytanie często zadawane w branży serwerowej brzmi: „co jest lepsze – RAID programowy czy RAID sprzętowy?”. Jeśli badasz ten temat, wiele informacji o RAID sugeruje, że sprzętowa karta RAID jest lepsza od używania RAID programowego. Ale ja się z tym nie zgadzam. Moim zdaniem, dla większości zastosowań, programowy RAID jest znacznie lepszy niż sprzętowy. Sprzętowy RAID ma swoje miejsce pod pewnymi systemami operacyjnymi, ale mam zamiar powiedzieć, dlaczego oprogramowanie jest ogólnie o wiele lepszy.
Faworyzowanie sprzętowego RAID nad RAID oprogramowania pochodzi z czasów, gdy sprzęt nie był wystarczająco mocny, aby obsłużyć przetwarzanie RAID oprogramowania, wraz z wszystkimi innymi zadaniami, które były używane do. Wtedy rozwiązaniem było użycie sprzętowej karty RAID z wbudowanym procesorem, który obsługiwał obliczenia RAID „offline”. Karta przedstawiała się systemowi operacyjnemu komputera jako pojedynczy dysk, a wewnętrznie przetwarzała dane wchodzące i wychodzące z wielu urządzeń pamięci masowej (dysków twardych). Dzięki temu wszystko działało płynnie, a jednocześnie korzystało z bezpieczeństwa RAID.
Hardware RAID jest nadal popularny wśród niektórych ludzi, a wiele z dzisiejszych kart RAID sprzętu oferują kick-ass wydajność podczas odciążania procesora, ale nadal istnieje kilka poważnych problemów i wad:
- Wysokie trudności z odzyskiwaniem danych, gdy poważne awarie się
- Zastrzeżone / niestandardowe protokoły, które oznaczają, że macierz działa tylko z tym samym raid karty sprzętowej. Nie możesz podłączyć zestawu dysków twardych do dowolnej karty RAID i oczekiwać, że odczyta ona Twoje dane.
- Hardware RAID ma możliwość wzięcia grupy dysków i sprawienia, że będą one wyglądały jak pojedynczy dysk. Ta architektura jest elegancka w swojej prostocie. Jednak to również zasadniczo wyklucza integrację funkcji do systemu operacyjnego i systemu plików. Integracja ta jest tak naprawdę tym, co pozwoliło oprogramowaniu RAID znacznie wyprzedzić RAID sprzętowy.
Where I Believe We Are Today
Dwie rzeczy się wydarzyły, które przyniosły korzyści oprogramowaniu RAID w stosunku do RAID sprzętowego i pozwoliły mu objąć prowadzenie. Moc obliczeniowa wzrosła tak radykalnie, że obciążenie obliczeniowe związane z RAID przestało być istotne. Po drugie, siła, funkcje i integracja oprogramowania RAID wzrosła dramatycznie.
Hardware RAID nadal oferuje solidne i proste rozwiązania architektoniczne do łączenia wielu dysków w macierze RAID i prezentowania ich do systemu operacyjnego jako pojedyncze urządzenie. Jest to szczególnie przydatne w systemie MS Windows, który ma boleśnie powolną implementację RAID oprogramowania. Jednak nadal ma ryzyko dla bezpieczeństwa danych, ponieważ trzeba użyć identycznego (lub kompatybilnego) kontrolera, aby odzyskać dane w przypadku awarii sprzętu.
Po stronie oprogramowania, dzisiejsze oprogramowanie RAID jest superszybki (przynajmniej z Linuksem i BSD), bardzo elastyczne i wysoce zintegrowane z OS. Jest również o wiele bardziej zdolny i potężny w sytuacjach odzyskiwania danych niż RAID sprzętowy. Aby odzyskać dane, wszystko czego potrzebujesz to inny serwer pamięci masowej z tym samym systemem operacyjnym. Następnie kroki są proste, wystarczy podłączyć dyski i do pracy – powinieneś być w stanie odzyskać z niemal każdej sytuacji, w której utrata danych nie przekroczyła podstawowych granic.
Jasne jest, że komputery i oprogramowanie przeszły naprawdę długą drogę i staje się coraz bardziej jasne, że RAID definiowany programowo będzie coraz bardziej powszechny w miarę upływu czasu.
System plików ZFS i menedżer woluminów
Teraz zagłębimy się w jeden z naszych ulubionych systemów plików i menedżerów woluminów, ZFS. Porozmawiamy o niektórych cechach, które czynią ZFS wyjątkowym, a następnie podamy przykład jednego z naszych klientów, który zaoszczędził sporo pieniędzy, ponieważ używał ZFS z programowym RAID.
Uwielbiamy ZFS, ponieważ może ominąć wiele problemów, które mogą pojawić się podczas używania tradycyjnych kart RAID. Na przykład, zamiast sprzętowej karty RAID, która jako pierwsza dostaje dostęp do dysków, ZFS używa karty JBOD, która bierze dyski i przetwarza je za pomocą wbudowanego menedżera wolumenów i systemu plików. Daje to ZFSowi większą kontrolę, pozwalającą ominąć niektóre z wyzwań, z którymi zazwyczaj borykają się sprzętowe karty RAID. Dzięki tej kontroli i funkcjonalnym funkcjom, ZFS może wyjątkowo dobrze radzić sobie z błędami. Te cechy, w tym Copy on Write, Snapshoty, praktycznie nieskończone skalowanie, samoleczenie z sumami kontrolnymi i wbudowana wirtualizacja dla twojej puli pamięci, dają ZFS dodatkowy poziom solidności.
ZFS ma swój własny sposób na strukturę nowych zapisów zwany Copy on Write. Różni się to od sposobu, w jaki większość menedżerów wolumenów organizuje nowe zapisy. Normalnie, gdy zapisywana jest modyfikacja lub nowe dane, są one zapisywane nad starymi danymi. Jednakże, jeśli nastąpi awaria zasilania podczas tego zapisu – dane mogą zostać utracone. Zamiast zapisywać stare dane, ZFS zapisuje dane do nowej lokalizacji i kopiuje ścieżkę. Oznacza to, że dane nie zostaną utracone w przypadku utraty zasilania podczas zapisu. Daje to także ZFS możliwość innej z jego najbardziej użytecznych funkcji; Snapshotów.
Snapshoty są w zasadzie znacznikami czasu, które pokazują jak wyglądała ścieżka dla danych w określonym punkcie w przeszłości, są one przechowywane w ich własnej tabeli oddzielonej od danych. Ponieważ ZFS nie nadpisuje danych, a zamiast tego zapisuje je w nowej lokalizacji, możesz powrócić do poprzedniego znacznika czasu, działa to prawie jak kopia zapasowa. Snapshoty mają znacznie mniejszy narzut niż prawdziwy backup, ponieważ pełny backup wymaga skopiowania danych. Dla porównania, snapshoty można wykonać szybko i łatwo.
ZFS ma również niesamowitą zdolność do samoleczenia się przed błędami zapisu, uszkodzeniem danych lub bit rot. Analizuje on dane przechowywane w nadmiarowych lokalizacjach przy użyciu sum kontrolnych i naprawia się na podstawie niespójności. Posiada również tradycyjną funkcjonalność RAID – wykorzystując mirroring, striping i kontrolę parzystości. W przypadku korzystania ze sprzętowej karty RAID, funkcja sprawdzania stanu dysku zostaje zamaskowana, gdy dyski są do niej podłączone. Jest to problem, ponieważ nie jesteś w stanie dostrzec oznak zbliżającego się końca jednego z dysków. ZFS pozwala to obejść, ponieważ nie zapisuje żadnych operacji na dyskach zanim zostaną one przedstawione systemowi operacyjnemu.
Przykład z życia klienta
Wszyscy popełniamy błędy, niektóre mogą być bardziej kosztowne niż inne. Jeden z naszych klientów, używający systemu ZFS na swoim Storinatorze, musiał przenieść biura, nie wyjął dysków twardych przed przeprowadzką i w jakiś sposób uszkodził je podczas przenoszenia.
Gdy klient próbował uruchomić Storinatora i zaimportować pulę ZFS – niektóre dyski były uszkodzone, inne źle umieszczone – były nawet uszkodzone metadane. Ponieważ jednak klient używał ZFS, był w stanie dość łatwo odbudować pulę.
Nasz zespół wsparcia technicznego w 45Drives był w stanie ręcznie zaimportować pulę jako zdegradowaną. Gdy pula była już zainstalowana, mogliśmy dodać nowe dyski, wyczyścić pulę i wszystko wróciło do normy.
Byliśmy w stanie to zrobić tylko dzięki odporności ZFS, ale nie byłoby to możliwe, gdyby nasz klient używał sprzętowego RAID, ponieważ jest on znacznie bardziej wrażliwy na awarie komponentów. Gdyby używali RAID sprzętowego, istniało duże prawdopodobieństwo, że ich dane zostałyby utracone – bez jakiegoś kosztownego odzyskiwania.
Podsumowanie
Jeśli potrzebujesz najwyższego poziomu bezpieczeństwa, funkcji i wydajności, oprogramowanie RAID jest odpowiedzią. Zauważ, że będziesz musiał używać wydajnego systemu operacyjnego, takiego jak Linux lub BSD, a jeśli to zrobisz, naprawdę powinieneś rozważyć ZFS. Jego wydajność jest doskonała na dzisiejszych maszynach, przenosi bezpieczeństwo danych na bezprecedensowy poziom i jako bonus, i jest naprawdę łatwy w użyciu, gdy dojdziesz do krzywej uczenia się.
- Kategorie: Uncategorized
admin12:03 pm