24T25 Wstęp do klastrów wysokiej dostępności w oparciu o Proxmox/Ceph [Praktyczny poradnik]

Więcej miejsc do posłuchania:

Spotify

0:00 Wprowadzenie

1:35 Serwerownia

2:33 Zmiana domyślnego noda dla VM

5:09 Klaster Proxmox

6:50 Ceph

10:30 Awaria Serwera

11:50 Podsumowanie

Transkrypcja

Cześć. Ostatnio zgłosiła się do mnie firma która chciałaby u siebie wdrożyć system wysokiej dostępności. Chodzi o serwery które obsługują kontroler domeny, serwer plików oraz różne systemy obsługi budynkowej. Są to systemy między innymi firmy Schneider oraz system oświetlenia awaryjnego Są w tym także systemy dotyczące sterowania szlabanami, żaluzjami jest dość sporo różnych maszyn wirtualnych i tutaj klient chciałby mieć serwer tak przygotowany aby w razie jego awarii cały czas usługi były dostępne.

Tutaj będziemy robić klaster na Proxmoxie, wykorzystujący Ceph’a. Będą to 3 serwery, które będą działały cały czas, będą o zbliżonych parametrach, niestety nie są to serwery o identycznych właściwościach natomiast nie ma problemu żeby taki system uruchomić. Tak więc w materiale będę pokazywał kwestie właśnie dotyczące HA no i tutaj może pokażę kawałek serwerowni.

Tutaj w środowisku testowym mamy mieszane serwery są to głównie HP generacji 9. natomiast z różną ilością dysków, różne pojemności także mieszane zarówno SSD Jak i dyski talerzowe. Z racji tego, że w klastrach różna jest ilość dysków Ceph będzie wykazywał brak pełnej synchronizacji. Oczywiście można to naprawić natomiast należałoby zrobić odpowiednie przetasowanie co do zasobów pamięci masowej. Obecnie w klastrze znajdują się 3 serwery natomiast 1 z nich będzie zastąpiony innym dlatego też tutaj będziemy aktualizować 1 z serwerów.

Aby wyrównać do tej samej wersji Cepha potrzebuje przenieść wszystkie wirtualki na inny host czyli tutaj na filmie widać, że przestawiam host, który będzie domyślnym dla wybranych maszyn wirtualnych. W ten sposób, że po przeniesieniu wszystkiego z hv5 na hv2 jako domyślny host będzie można go po prostu zaktualizować i zrestartować. Dodatkowo pamiętać należy o użyciu polecenia zfs upgrade -a celem wyrównania wersji systemu klików po aktualizacji, jeżeli jest taka potrzeba. Tutaj widzimy, że na hv5 jest inna wersja Cepha dlatego będzie aktualizowany natomiast błędy wykazane spowodowane są różnicą w pamięciach masowych tak więc to musi być wyrównane docelowo natomiast nie przeszkadza aby Ceph i klaster działał.

Współczesna technologia sieciowa ewoluuje szybko a koszty sprzętu 10 gigabitowego spadły na tyle że migracja z tradycyjnych sieci 1 gigabit staje się atrakcyjną opcją dla wielu firm Sieci dziesięcio gigabitowe oferują dziesięciokrotnie większą przepustowość niż sieci 1 gigabit co umożliwia szybsze przesyłanie dużych plików i obsługę współczesnych zasobożernych aplikacji. Przechodząc na 10 giga organizacje przygotowują się na przyszłe potrzeby sieciowe zapewniając sobie elastyczność i skalowalność. Sieci dziesięcio gigabitowe mogą obsługiwać rosnącą liczbę użytkowników i urządzeń przez wiele lat bez potrzeby częstych aktualizacji infrastruktury. Sieci dziesięcio gigabitowe są kluczowe dla środowisk wirtualizacyjnych umożliwiając płynne działanie maszyn wirtualnych oraz efektywną replikację danych. Są niezbędne dla rozwiązań wysokiej dostępności.

Klaster Proxmox to grupa serwerów fizycznych, które współpracują ze sobą zarządzają zasobami w sposób zcentralizowany. Klaster umożliwia łatwe przenoszenie maszyn wirtualnych między serwerami i zapewnia redundencję ale sam w sobie nie zapewnia automatycznej reakcji na awarię. Wysoka dostępność w Proxmox to mechanizm, który automatycznie przenosi maszyny wirtualne na inne dostępne serwery w klastrze w przypadku awarii 1 z serwerów. Aby HA działało prawidłowo konieczne jest spełnienie wymogu quorum co oznacza, że klaster musi składać się z co najmniej 3 serwerów fizycznych. Tylko wtedy system jest w stanie ocenić, który serwer uległ awarii i odpowiednio zareagować.

W kontekście HA ważne jest zrozumienie pojęć Failover i replikacji. Failover to proces automatycznego przełączania maszyn wirtualnych na inne serwery w klastrze w przypadku awarii. Replikacja natomiast zapewnia że dane maszyn wirtualnych są kopiowane na inne serwery w klastrze co umożliwia szybkie ich uruchomienie na nowym serwerze bez utraty danych. Porównując klaster Proxmox do HA, klaster sam w sobie zapewnia podstawy do zarządzania zasobami i pewną redundację ale to dopiero konfiguracja HA umożliwia automatyczne i bezobsługowe przenoszenie maszyn w przypadku awarii 1 z węzłów minimalizując przestoje i zapewniają ciągłość działania usług.

Ceph to rozproszony system przechowywania danych, który doskonale integruje się z Proxmox oferując elastyczną,skalowalną i wysoką dostępną pamięć masową. Jest idealne do realizacji koncepcji wysokiej dostępności w klastrach Proxmox. Jeśli chodzi o minimalną ilość węzłów to Ceph wymaga co najmniej 3 węzłów czyli fizycznych serwerów do działania w trybie produkcyjnym. Jest to konieczne do zapewnienia quorum i umożliwia replikację danych w sposób zapewniający ich bezpieczeństwo i dostępność. Zaleca się aby ruch sieciowy związany z Ceph był obsługiwany przez oddzielną sieć co zapewnia izolację i zmniejszenie opóźnienia.

Powinna to być sieć o dużej przepustowości najlepiej 10 giga lub więcej Ceph wymaga kilku dysków. 1 lub więcej dla OSD oraz szybkich dysków w SSD/NVMe dla dziennika operacji. Dyski NVMe są preferowane dla dziennika ponieważ znacznie poprawiają wydajność operacji zapisu. Ceph rozdziela dane na małe części i przechowuje je na wielu węzłach w klastrze zapewniając redundancję i wysoką dostępność. Dzięki temu nawet jeśli 1 lub więcej węzłów ulegnie awarii dane pozostają dostępne. Ceph jest zaprojektowany do skalowania w poziomie co oznacza, że można łatwo dodawać nowe węzły do klastra zwiększając w ten sposób pojemność i wydajność systemu bez potrzeby przestoju. Ceph obsługuje różne typy pamięci masowej: blokowa, plikowa, obiektowa. Sprawia to, że jest wszechstronny i może być używany w różnych scenariuszach aplikacyjnych.

Ceph automatycznie rozkłada dane i równoważy obciążenie między węzłami co minimalizuje ryzyko przeciążenia 1 z węzłów i optymalizuje wykorzystanie zasobów. Ceph wykorzystuje własny mechanizm replikacji danych co sprawia, że stosowanie RAID sprzętowego staje się zbędne i może wręcz kolidować z wydajnością i funkcjonalnością Ceph.

Kiedy planujesz instalację Proxmox HA szczególną uwagę należy zwrócić na planowanie pamięci masowej. Ceph jako rozproszony system pamięci wymaga dostępu do surowych dysków co oznacza, że nie można użyć wszystkich dysków w macierzy RAID. W serwerze z 8 kieszeniami na dyski najlepszą praktyką jest pozostawienie dysków jako pojedyncze urządzenia, które mogą być przypisane jako OSD w Ceph. Pozwala to Ceph zarządzać redundancją i replikacją danych na poziomie klastra a nie na poziomie pojedynczego serwera.

Podczas instalacji Proxmox w środowisku z wysoką dostępnością oraz bez niej kluczowe różnice pojawiają się głównie w planowaniu konfiguracji sprzętowej i ustawień dyskowych. Dlatego gdy brak HA to koncentracja na lokalnej redundacji dyskowej na przykład RAID 10 staje się bardziej istotna aby zminimalizować ryzyko utraty danych w przypadku awarii pojedynczego dysku. Na serwerze z 8 kieszeniami na dyski typowa konfiguracja może polegać na użyciu wszystkich dysków w macierzy RAID 10. Pozwala to na zwiększenie pojemności i wydajności ale wyklucza możliwość wykorzystania tych dysków jako OSD dla Ceph.

Co się dzieje z maszynami wirtualnymi podczas awarii serwera? W systemie Proxmox z konfiguracją z HA gdy serwer fizyczny ulega awarii maszyny wirtualne działające na nim zostają automatycznie przeniesione na inne dostępne węzły w klastrze. Proces ten wiąże się z krótkotrwałym przestojem podczas którego maszyny wirtualne są niedostępne.

Oto kluczowe aspekty tego procesu. Detekcja awarii: Proxmox szybko wykrywa awarię serwera i ocenia stan maszyn wirtualnych które na nim działały. Przełączanie maszyn wirtualnych: maszyny są przenoszone na inne serwery w klastrze i ponownie uruchamiane to powoduje krótkotrwały przestój zwykle trwający kilka minut zanim usługi zostaną przywrócone.

Dostępność usług: Po przeniesieniu i ponownym uruchomieniu maszyny wirtualne wracają do pełnej funkcjonalności. Przestój jest minimalizowany ale nieunikniony ze względu na konieczność ponownego uruchomienia maszyn wirtualnych i synchronizacji danych.

Podsumowując Proxmox HA zapewnia szybkie przywrócenie usług po awarii serwera jednak maszyny wirtualne doświadczają krótkiego przestoju podczas przenoszenia i ponownego uruchamiania na innym węźle w klastrze.

A więc dziękuję bardzo za obejrzenie tego filmu. Wiem, że nie byłem w stanie wyczerpać wszystkich tematów związanych z Proxmoxem i wysoką dostępnością natomiast jest to raczej takie pokazanie że w darmowym systemie można szybko sobie skonfigurować serwery w klastrze wysokiej dostępności i kolejne materiały jeżeli będzie taka potrzeba możemy oczywiście nagrać. Tak więc zapraszam do komentowania i ewentualnie zadawania pytań jeżeli będę znał odpowiedź postaram się udzielić odpowiedzi no i jeżeli was interesują te właśnie kwestie to dawajcie znać i być może w kolejnym odcinku uda mi się odpowiedzieć na wasze pytania. Dzięki, cześć.