Wprowadzenie do klastrów HA w XCP-ng

Czym jest HA i po co łączyć nody w klastry?

High Availability (HA) w XCP-ng to koncepcja łączenia wielu serwerów (nodów) w jeden pool, co umożliwia zarządzanie nimi jako jedną jednostką. Dzięki temu infrastruktura staje się odporna na awarie pojedynczych nodów, pozwalając na utrzymanie działania maszyn wirtualnych (VM). Aby osiągnąć pełną redundancję, potrzebne są minimum trzy nody, co zapobiega problemom typu „split brain”.

Zastosowanie klastrów HA:

  • Redundancja i odporność na awarie – W przypadku awarii jednego z nodów, maszyny wirtualne mogą zostać przeniesione na inne nody.
  • Bezprzerwowe aktualizacje – Dzięki funkcji migracji na żywo, możliwa jest aktualizacja oprogramowania lub sprzętu jednego z nodów bez przerywania działania usług.
  • Dynamiczne zarządzanie obciążeniem – Obciążenie maszyn wirtualnych można przenosić pomiędzy nodami w zależności od potrzeb.

Warunki konfiguracji klastrów HA:

  • Zewnętrzny storage – Wszystkie nody muszą mieć wspólny dostęp do magazynu danych, aby umożliwić szybką migrację VM.
  • Zgodność wersji XCP-ng – Wszystkie nody w klastrze muszą działać na tej samej wersji systemu operacyjnego i mieć zainstalowane te same poprawki.
  • Podobna konfiguracja sprzętowa – Nody powinny mieć zbliżone parametry sprzętowe, aby uniknąć problemów z kompatybilnością.

Przykładowa konfiguracja dwunodowego klastra

Choć pełna funkcjonalność HA wymaga minimum trzech nodów, można zbudować klaster na dwóch nodach. Oto kroki:

  1. Połączenie nodów w pool:

    • W Xen Orchestra przejdź do sekcji „Pools” i dodaj nowy nod do istniejącego poola.
    • Upewnij się, że oba nody są skonfigurowane z dostępem do wspólnego storage’u.
  2. Włączenie trybu Maintenance:

    • W celu aktualizacji lub wyłączenia jednego z nodów, włącz tryb Maintenance. Wszystkie VM zostaną automatycznie przeniesione na inny nod.
  3. Migracja VM:

    • Podczas migracji na żywo, pamięć RAM VM jest przesyłana między nodami. Proces ten odbywa się bez przerywania pracy usług.

Wady i ograniczenia HA:

  • Awaria RAM-u – W przypadku nagłej awarii jednego z nodów, dane przechowywane w RAM-ie zostaną utracone.
  • Problemy z masterem – Klastry w XCP-ng mają jednego mastera, który koordynuje działanie. Awaria mastera wymaga ręcznej zmiany na nowy master.
  • Lokalne storage – Jeśli VM korzysta z lokalnego storage’u, nie będzie można jej zmigrować na inny nod.

Przydatne funkcjonalności:

  • Rolling Pool Reboot – Automatyczne restartowanie hostów w klastrze z migracją VM pomiędzy nimi.
  • Rolling Pool Update – Aktualizacje systemu XCP-ng na nodach bez przerywania działania VM.
  • Smart Reboot – Funkcja umożliwiająca zapisanie stanu RAM na dysk przed restartem hosta, choć wymaga ostrożności w przypadku wolniejszych dysków.

Podsumowanie

Klastry HA w XCP-ng znacząco poprawiają niezawodność infrastruktury wirtualizacji. Przy odpowiedniej konfiguracji zapewniają elastyczność i możliwość pracy bez przestojów. Dla pełnej automatyzacji i redundancji zaleca się korzystanie z co najmniej trzech nodów oraz współdzielonego storage’u.

Jeśli potrzebujesz wsparcia w projektowaniu, wdrażaniu lub utrzymaniu infrastruktury, zapraszamy do kontaktu. Spodobał Ci się ten materiał? Polub, subskrybuj i do zobaczenia w kolejnych artykułach!