Klaster + HA + Ceph [Proxmox]

Na początku warto nazwać odpowiednio nody. Jeżeli posiadamy domyślne ’pve’ musimy wyedytować dwa pliki:
/etc/hosts
/etc/hostname

 

Tworzenie klastra
1. Na pierwszym nodzie tworzymy klaster (Database -> Cluster -> Create Cluster), kopiujemy informacje odnośnie dołączenia (Join Information)

2. Dołączamy drugi nod wykorzystując poświadczenia skopiowane powyżej

* node dołączający nie może posiadać żadnych VM, inaczej dostaniemy błąd:
detected the following error(s):
* this host already contains virtual guests
TASK ERROR: Check if node may join a cluster failed!

Po dołączeniu klaster powinien wyglądać następująco:

 

Instalacja Ceph
1. Przechodzimy po kolei na wszystkie węzły, a następnie z poziomu zakładki Datacenter wybieramy Ceph, a następnie rozpoczynamy instalację przyciskiem Install Ceph.
2. W przypadku gdy nie posiadamy subskrypcji musimy zmienić repozytorium na No-Subscription po czym rozpoczynamy instalację przyciskiem Start Installation.

3. Następnie musimy wybrać Public Network IP oraz Cluster Network IP – w obu przypadkach wybieramy domyślne / jedyne opcje. Pozostałe opcje zostawiamy bez zmian i kończymy instalację.

 

Tworzymy OSD
Do utworzenia OSD będą potrzebne dyski niewykorzystane przez Proxmoxa. Na danym węźle przechodzimy do zakładki Ceph/OSD, a następnie tworzymy nowy OSD. Wskazujemy jedynie dysk, który będzie wchodził w skład OSD, a pozostałe opcje zostawiamy domyślne.

Proces powtarzamy na każdym z węzłów oddzielnie.

 

Utworzenie puli Ceph
Z poziomu Ceph w zakładce Pools wybieramy Create, podajemy nazwę i zostawiamy wszystko domyślne.

Automatycznie powinno rozdystrybuować na wszystkie węzły.

 

Utworzenie dodatkowych monitorów
W zakładce Monitor wybieramy Create i wybieramy po kolei wszystkie dostępne węzły.

 

Tworzenie VM
Podczas tworzenia maszyn wybieramy, aby obraz dysku lądował wewnątrz puli Cephowej. Umożliwi nam to bezproblemowe migracje pomiędzy maszynami.

 

Migracja maszyny
Aby migrować VM pomiędzy węzłami należy kliknąć PPM na niej, wybrać Migrate, a następnie wskazać węzeł docelowy (Target node). Tylko tyle i aż tyle 😉 Takie rozwiązanie powinno ograniczyć przerwę dostępności maszyny do 0. Można to przetestować puszczając ping przed rozpoczęciem procesu migracji.

 

Przeniesienie obrazu dysku
Domyślnie obraz dysku tworzy się na lokalnym lvm-ie. Naszym celem jest osiągnięcie HA w oparciu o Ceph, w związku z tym obrazy powinny znajdować się w puli Ceph. Jeżeli mamy utworzoną maszynę przed utworzeniem klastra możemy przenieść dysk z lokala na Ceph. Wystarczy w opcji Hardware danej VM wybrać Disk Action -> Move Storage, a następnie wskazać storage docelowy. Format zostawiamy domyślny, natomiast opcja Delete source skasuje obraz dysku z lokalnego lvm, a pozostawimy jedynie na Ceph. Migracja w tym przypadku przebiega dużo sprawniej – nie potrzeba przenosić za każdym razem obrazu dysku na docelowy node.

 

Tylko 2 węzły, gdy wymagane są 3?
W dokumentacji Proxmox znajdziemy informacje, że wymagane są 3 nody. W sytuacji gdy posiadamy tylko dwa należy uruchomić QDevice. Jednakże na YT udało mi się znaleźć tutorial, który umożliwia wykonanie tego w inny sposób – modyfikując plik corosync.conf. Modyfikacje wykonujemy na pierwszym węźle.

1. Wykonujemy backup oryginalnej konfiguracji corosync
2. W pliku /etc/pve/corosync.conf modyfikujemy dwie wartości:
– w nodelist { pierwszy node ustawiamy quorum_votes na 2
– w totem zmieniamy config_version na o 1 większe (poinformuje pozostałe węzły o zmianie konfiga i wymusi reload)
Zmiany wchodzą w życie automatycznie po zapisaniu pliku.

Wprowadzone zmiany możemy podejrzeć w zakładce Datacenter – Cluster, kolumna Votes.

Należy też sprawdzić status HA w zakładce Datacenter/HA. quorum powinno mieć status OK.

 

Konfiguracja High Availability
Ustawienia dotyczące HA znajdziemy w zakładce Datacenter, a następnie HA. Dodajmy nowe Resources. Wybieramy VM, status ustawiamy na started, pozostałe opcje możemy zostawić domyślne.

Testy możemy przeprowadzić wyłączając węzeł, na którym działa maszyna.

Po wykryciu problemów Proxmox przerzuci i uruchomi maszynę na działającym węźle.

W celu świadczenia usług na najwyższym poziomie stosujemy pliki cookies, które będą zamieszczane w Państwa urządzeniu (komputerze, laptopie, smartfonie). W każdym momencie mogą Państwo dokonać zmiany ustawień Państwa przeglądarki internetowej i wyłączyć opcję zapisu plików cookies. View more
Zaakceptuj