Proxmox VE umożliwia łączenie pojedynczych serwerów w grupy tzw. klaster serwerowy. Budowa klastra w Proxmox VE nie jest skomplikowaną czynnością. Wszystkie operacji można dokonać z poziomu konsoli serwera za pomocą dedykowanego narzędzia pvecm (Proxmox VE Cluster Manager).
Co daje budowa klastra serwerowego w Proxmox VE ?
- Centralny punkt zarządzania klastrem – zarządzanie serwerami fizycznymi, maszynami wirtualnymi itp. z jednego miejsca (np. w WebUI). W przypadku posiadania kilku serwerów Proxmox nie trzeba się logować na każdy z nich oddzielnie w celu np. włączenia czy wyłączenia VM – wszystko widoczne jest z jednego miejsca.
- Multi-master klaster – Z dowolnego serwera w klastrze można zarządzać całym klastrem (nie ma jednego głównego serwera, od którego wszystko zależy).
- pmxcfs – specjalny system plików Proxmox służący do przechowywania konfiguracji, która jest replikowana w czasie rzeczywistym na pozostałe serwery w klastrze (używany jest do tego celu corosync)
- Migracja maszyn wirtualnych między serwerami w klastrze – prosta i szybka migracja offline lub LiveMigrate
- Usługi klastrowe – możliwość konfiguracji wysokiej dostępności (HA), globalnych zasad firewalla, centralne zarządzanie użytkownikami oraz przepisywanie im uprawnień do całego klastra itp.
Jakie wymagania trzeba spełnić aby utworzyć klaster Proxmox VE ?
- Wszystkie serwery w klastrze powinny być w jednej sieci i mieć możliwość komunikacji między sobą (corosync używa do komunikacji IP Multicast)
- Na serwerach w klastrze należy dbać o synchronizację daty i czasu
- Do komunikacji miedzy serwerami zestawiany jest tunel SSH, należy zezwolić na taką komunikację miedzy serwerami Proxmox
- W celu aktywacji i korzystania z funkcji wysokiej dostępności należy posiadać w klastrze co najmniej trzy serwery w takiej samej wersji Proxmox VE
- Do komunikacji klastrowej zalecane jest używanie dedykowanej karty sieciowej (nie powinno się używać jednego interfejsu sieciowego do prowadzenia komunikacji wewnątrz klastrowej/zarządzającej i jednoczesnego używania go do wypuszczania ruchu z maszyn wirtualnych czy łączenia z systemami storage, opóźnienia i obciążenie łącza może doprowadzić do problemów z działaniem klastra)
Tworzenie klastra Proxmox VE
Po zainstalowaniu Proxmox VE na wybranych serwerach należy skonfigurować na nich ostateczne ustawienia sieci tj. adresacja IP, hostname itp. Zmiana tych parametrów po utworzeniu klastra nie będzie możliwa.
Po wykonaniu tych czynności należy zalogować się na jeden z serwerów, który będzie członkiem nowego klastra. Ważna uwaga: Klaster można utworzyć na serwerze, który posiada już maszyny wirtualne – ale każdy kolejny serwer dołączany do klastra nie może ich zawierać. Po dołączeniu do klastra kolejnego serwera z VM straciłby on swoją konfigurację, która zostałaby nadpisana nową, pobraną z serwerów, które są już w klastrze.
W celu utworzenia klastra należy użyć polecenia pvecm create:
root@pve9:~# pvecm create NAZWA-KLASTRA Corosync Cluster Engine Authentication key generator. Gathering 1024 bits for key from /dev/urandom. Writing corosync key to /etc/corosync/authkey.
Aby sprawdzić status klastra można skorzystać z polecenia pvecm status
root@pve9:~# pvecm status Quorum information ------------------ Date: Fri Feb 9 13:08:01 2018 Quorum provider: corosync_votequorum Nodes: 1 Node ID: 0x00000001 Ring ID: 1/4 Quorate: Yes Votequorum information ---------------------- Expected votes: 1 Highest expected: 1 Total votes: 1 Quorum: 1 Flags: Quorate Membership information ---------------------- Nodeid Votes Name 0x00000001 1 192.168.8.26 (local)
Status klastra wyświetlany jest również w WebUI
Aby wyświetlić serwery w klastrze należy użyć polecenia pvecm nodes
root@pve9:~# pvecm nodes Membership information ---------------------- Nodeid Votes Name 1 1 pve9 (local)
Klaster Proxmox VE – dodawanie nowego serwera
Aby dodać kolejny nowy serwer Proxmox do klastra należy zalogować się na serwer Proxmox, który ma zostać dodany do klastra a następnie użyć polecenia pvecm add
pvecm add ADRES-IP-SERWERA-KTÓRY-JEST-JUŻ-W-KLASTRZE
Należy pamiętać aby dodawać nowe serwery bez maszyn wirtualnych, gdyż podczas dodawania serwera do klastra zostanie utracona ich konfiguracja. Podczas dodawania nowego serwera do klastra zostanie nawiązane połączenie SSH do serwera w istniejącym klastrze – należy zaakceptować chęć nawiązania połączenia oraz podać hasło użytkownika root serwera do którego nawiązywane jest połączenie.
pvecm add 192.168.8.26 The authenticity of host '192.168.8.26 (192.168.8.26)' can't be established. ECDSA key fingerprint is SHA256:123456789abcdefghijklmnoprstuwzxyjs012345w. Are you sure you want to continue connecting (yes/no)? yes [email protected]'s password: copy corosync auth key stopping pve-cluster service backup old database waiting for quorum...OK generating node certificates merge known_hosts file restart services successfully added node 'pve8' to cluster.
Jeśli wszystko przebiegło poprawnie serwer powinien zostać dodany do klastra Proxmox VE. Pvecm raportuje obecność dwóch serwerów w klastrze.
root@pve9:~# pvecm status Quorum information ------------------ Date: Fri Feb 9 13:55:00 2018 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 0x00000001 Ring ID: 2/8 Quorate: Yes Votequorum information ---------------------- Expected votes: 2 Highest expected: 2 Total votes: 2 Quorum: 2 Flags: Quorate Membership information ---------------------- Nodeid Votes Name 0x00000002 1 192.168.8.25 0x00000001 1 192.168.8.26 (local)
Pvecm nodes również wyświetla obecność dwóch serwerów w klastrze.
root@pve9:~# pvecm nodes Membership information ---------------------- Nodeid Votes Name 2 1 pve8 1 1 pve9 (local)
Status w WebUI:
Od tej chwili wszystkie VM powinny być widoczne z jednego miejsca w widoku Datacenter. Kolejne serwery można dodawać w sposób analogiczny jak opisano w artykule.
4 komentarze
Możesz dodawać komentarze do tego artykułu.
Witam, mam takie pytanie: czy instalację certyfikatów ssl przeprowadzić przed tworzeniem klastra czy można grzebać w ssl później?
Bartosz Wierzejewski 7 lat ago
W SSL można spokojnie grzebać później. Zarówno w pojedynczych serwerach jak w całym klastrze. Więcej na temat SSL można znaleźć na Wiki Proxmoxa: http://pve.proxmox.com/wiki/HTTPS_Certificate_Configuration_(Version_4.x_and_newer)
Konrad Kowalski 7 lat ago
przy próbie tworzenia clastra nie wyskoczył błąd jednak przy próbie sprawdzenia: pvecm status
Cannot initialize CMAP service
natomiast przy uruchomieniu jakiegokolwiek vm wywala błąd: claster not ready – no quorum (500),
Da się przywrócić w normalny sposób do standalone node ? Czy trzeba przeinstalowywać proxmoxa ?
Dariusz 7 lat ago
Sam sobie odpowiem:
błędne ustawienie hosts (niezgadzały się wpisy w hosts z adresami IP),
poprawa w corosync.conf również adresy IP
potem: service corosync restart
i działa jako klaster 🙂
Dariusz 7 lat ago
Dodaj komentarz