Resilient Storage i High Availability za darmo w EuroLinux 8
27 sierpnia wydaliśmy ważne dodatki do systemu operacyjnego EuroLinux 8. Mowa o Resilient Storage (implementującym Global File System 2) oraz High Availability (umożliwiającym podtrzymanie działania aplikacji niezależnie od stanu poszczególnych węzłów w klastrze). Obydwa moduły znacznie ułatwiają pracę programistyczną oraz poszerzają standardowe możliwości systemu.
Wydaliśmy ważne dodatki do systemu operacyjnego EuroLinux 8. Mowa o Resilient Storage (implementującym Global File System 2) oraz High Availability (umożliwiającym podtrzymanie działania aplikacji niezależnie od stanu poszczególnych węzłów w klastrze). Obydwa moduły znacznie ułatwiają pracę programistyczną oraz poszerzają standardowe możliwości systemu.
Zgodnie z naszą polityką, dodatki są zawsze dostępne w ramach podstawowej subskrypcji i nie pobieramy za nie dodatkowych opłat. Warto dodać, że dostępność tych modułów jest jednym z naszych zobowiązań, które umieściliśmy w Roadmapie, przedstawionej przy okazji wydania EuroLinux 8.4. Inne jej elementy zostaną sukcesywnie wydawane w najbliższym czasie. Na marginesie warto też zauważyć, że niektórzy producenci tworzą z dodatków w sposób sztuczny osobne, płatne produkty.
Resilient Storage add-on
Dodatek Resilient Storage (w wolnym tłumaczeniu odporna pamięć masowa) pozwala na używanie systemu GFS2 (Global File System 2), który umożliwia współdzielony i bezpośredni dostęp do urządzenia blokowego. Co istotne, GFS2 bezpośrednio działa na VFS (Virtual File System) jądra Linux, czyli warstwie abstrakcji pozwalającej na używanie standardowych wywołań z przestrzeni użytkownika. Oznacza to olbrzymią kompatybilność i brak konieczności używania wielu dodatkowych warstw abstrakcji oraz pisania wyspecjalizowanych programów. Bardzo pożądaną cechą GFS2 jest perfekcyjna spójność (ang. perfect consistency), która sprawia, że zapisana zmiana na jednym z węzłów jest natychmiastowo widoczna dla wszystkich węzłów w klastrze. GFS2 używa oprogramowania współdzielonego z dodatkiem High Availabilty, takiego jak Corosync i Pacemaker, by utrzymać wysoką dostępność oraz, będącego wyjątkową częścią tego dodatku, DLM (Distributed Lock Manager – w wolnym tłumaczeniu Rozproszony Zarządca Blokad), by zapewnić mechanizmy blokad na systemie plików w sposób unikający zakleszczeń.
Wspierane możliwości techniczne są zgodne z tymi oferowanymi przez firmę Red Hat®. Maksymalna ilość węzłów w klastrze dla GFS2 to 16 dla architektury x86_64, a maksymalny rozmiar klastra to 100 TiB.
High Availability add-on
Dodatek High Availability oparty jest o dwa główne projekty: Corosync i Pacemaker. W przypadku tego rozwiązania, zgodnie z CAP (ang. Consistency, Availability and Partition tolerance), w przypadku utraty Quorum lub określonego zasobu, lub spełnienia innej reguły klaster przestaje działać, by zachować spójność. Dzięki mechanizmowi odgradzania zasobów (ang. fencing) i jednej z jego implementacji na poziomie węzła – STONITH (Shoot The Other Node In The Head – w wolnym tłumaczeniu Strzelaj W Głowę Innego Węzła) unikamy także sytuacji split-brain, gdyż w przypadku awarii mamy możliwość używania bardzo agresywnych polityk z nagłym odłączeniem zasilania włącznie.
Klastry oparte o Corosync i Pacemaker potrafią między innymi:
- wspierać klastry active/passive i active/active
- wykrywać zakłócenia pracy klastra i automatyczne wyłączać węzeł z klastra oraz przywracać go do klastra
- grupować zasoby wraz z ich monitorowaniem i zarządzaniem dostępem (np. dany zasób może działać tylko na jednym węźle)
- utrzymywać klaster w stanie synchronizacji
- komunikować się między węzłami.
Na koniec warto wspomnieć o maksymalnych wspieranych ilościach węzłów:
- maksymalny rozmiar klastra to 32 (16 dla EuroLinux w wersji 6)
- w przypadku większej liczby węzłów niż 16, klaster nie może korzystać z GFS2.
Jak włączyć repozytoria High Availability/Resilient Storage i zainstalować dostępne w nich oprogramowanie?
Temat ten został opisany w „how to” będącym częścią projektu otwartej dokumentacji dla EuroLinux.