Clustering in Proxmox VE

Clustering in Proxmox VE

In eerdere artikelen hebben we besproken wat Proxmox VE is en hoe het werkt. Vandaag zullen we het hebben over de mogelijkheden van clustering en de voordelen die dit biedt.

Wat is een cluster en waarom is het nodig? Een cluster (van het Engelse cluster) is een groep servers die via snelle communicatielijnen zijn verbonden en zich aan de gebruiker voordoet als ƩƩn geheel. Er zijn verschillende belangrijke scenario's voor het gebruik van een cluster:

  • Waarborging van de uitvalbestendigheid (High-availability).
  • Lastenverdeling (Load Balancing).
  • Verhoging van de prestaties (High Performance).
  • Uitvoering van gedistribueerde berekeningen (Distributed computing).

Elk scenario heeft zijn eigen vereisten voor de componenten van het cluster. Bijvoorbeeld, voor een cluster dat gedistribueerde berekeningen uitvoert, is de belangrijkste vereiste een hoge snelheid van drijvende komma-berekeningen en lage netwerklatentie. Dergelijke clusters worden vaak gebruikt voor wetenschappelijk onderzoek.

Nu we het hebben over gedistribueerde berekeningen, is het goed om te vermelden dat er ook zoiets bestaat als een grid-systeem (van het Engelse grid — rooster, netwerk). Ondanks de algemene overeenkomsten, moet men een grid-systeem en een cluster niet verwarren. Een grid is geen cluster in de gebruikelijke zin. In tegenstelling tot een cluster zijn de knooppunten binnen een grid meestal heterogeen en hebben ze een lage beschikbaarheid. Deze aanpak vereenvoudigt de oplossing van gedistribueerde berekeningsproblemen, maar maakt het niet mogelijk om de knooppunten als ƩƩn geheel te creĆ«ren.

Een goed voorbeeld van een grid-systeem is het populaire rekenplatform BOINC (Berkeley Open Infrastructure for Network Computing). Dit platform werd oorspronkelijk ontwikkeld voor het project SETI@home (Search for Extra-Terrestrial Intelligence at Home), dat zich bezighoudt met de zoektocht naar buitenaards leven door het analyseren van radiosignalen.

Hoe het werktEen enorme hoeveelheid gegevens die van radiotelescopen zijn verzameld, wordt opgedeeld in veel kleine stukken, die naar de knooppunten van het grid-systeem worden verzonden (in het project SETI@home fungeren computers van vrijwilligers als deze knooppunten). De gegevens worden op de knooppunten verwerkt en na voltooiing van de verwerking teruggestuurd naar de centrale server van het SETI-project. Op deze manier lost het project een complexe globale uitdaging op, zonder te beschikken over de benodigde rekenkracht.

Nu we een duidelijk begrip hebben van wat een cluster is, laten we bekijken hoe we er een kunnen creƫren en gebruiken. We zullen een open-source virtualisatiesysteem gebruiken. Proxmox VE.

Het is vooral belangrijk om, voordat we beginnen met het creƫren van een cluster, de beperkingen en systeemvereisten van Proxmox goed te begrijpen, namelijk:

  • het maximale aantal knooppunten in het cluster - 32;
  • alle knooppunten moeten hebben dezelfde versie van Proxmox (er zijn uitzonderingen, maar voor productie worden ze niet aanbevolen);
  • als in de toekomst de functionaliteit van High Availability wordt gepland, dan moet er in het cluster minimaal 3 knooppunten zijn;
  • voor de interactie tussen knooppunten moeten de poorten geopend zijn UDP/5404, UDP/5405 voor corosync en TCP/22 voor SSH;
  • de netwerktijd tussen de knooppunten mag niet meer dan zijn 2 ms.

Cluster maken

Belangrijk! De onderstaande configuratie is testgericht. Vergeet niet te controleren met officiƫle documentatie Proxmox VE.

Om een testcluster op te zetten, hebben we drie servers met dezelfde configuratie (2 kernen, 2 GB RAM) met de Proxmox-hypervisor geĆÆnstalleerd.

Als u wilt weten hoe u Proxmox kunt installeren, raden we aan om ons vorige artikel te lezen - De magie van virtualisatie: een inleiding tot Proxmox VE.

Aanvankelijk, na de installatie van het besturingssysteem, werkt een enkele server in Standalone-mode.

Clustering in Proxmox VE
Laten we een cluster maken door op de knop Create Cluster in het bijbehorende gedeelte te klikken.

Clustering in Proxmox VE
We geven een naam aan het toekomstige cluster en kiezen een actieve netwerkverbinding.

Clustering in Proxmox VE
We klikken op de knop Create. De server genereert een sleutel van 2048 bits en schrijft deze samen met de parameters van het nieuwe cluster in de configuratiebestanden.

Clustering in Proxmox VE
De boodschap TASK OK getuigt van een succesvolle uitvoering van de bewerking. Nu, door naar de algemene systeeminformatie te kijken, zien we dat de server in de clustermodus is overgeschakeld. Op dit moment bestaat het cluster slechts uit ƩƩn knooppunt, wat betekent dat het nog niet de mogelijkheden heeft waarvoor een cluster nodig is.

Clustering in Proxmox VE

Verbinden met het cluster

Voordat we verbinding maken met het gemaakte cluster, moeten we de informatie verkrijgen voor de verbinding. Daarom gaan we naar het gedeelte Cluster en klikken op de knop Join Information.

Clustering in Proxmox VE
In het geopende venster zijn we geĆÆnteresseerd in de inhoud van het gelijknamige veld. Dit moet worden gekopieerd.

Clustering in Proxmox VE
Hier zijn alle nodige verbindingsparameters gecodeerd: het serveradres voor verbinding en de digitale handtekening. We gaan naar de server die we aan de cluster moeten toevoegen. Druk op de knop Voeg toe aan cluster en plak de gekopieerde inhoud in het geopende venster.

Clustering in Proxmox VE
Velden Peer-adres en Fingerprint worden automatisch ingevuld. Voer het root-wachtwoord van node nummer 1 in, kies de netwerkverbinding en druk op de knop Voeg toe.

Clustering in Proxmox VE
Tijdens het toevoegen aan de cluster kan de GUI-webpagina stoppen met vernieuwen. Dit is normaal, vernieuw gewoon de pagina. Voeg op dezelfde manier nog een node toe, en je krijgt uiteindelijk een volledige cluster van 3 werkende nodes.

Clustering in Proxmox VE
Nu kunnen we alle nodes van de cluster vanuit ƩƩn GUI beheren.

Clustering in Proxmox VE

Organisatie van High Availability

Proxmox ondersteunt "uit de doos" de functionaliteit van HA-organisatie voor zowel virtuele machines als LXC-containers. De tool ha-manager detecteert en behandelt fouten en storingen en voert failover uit van de defecte node naar de werkende. Om het mechanisme correct te laten functioneren, moeten de virtuele machines en containers een gedeelde opslag hebben.

Na activatie van de High Availability-functionaliteit, begint de software-stack ha-manager continu de status van de virtuele machine of container te volgen en asynchroon te communiceren met andere nodes van de cluster.

Voeg gedeelde opslag toe

Als voorbeeld hebben we een kleine NFS-opslag opgezet op adres 192.168.88.18. Om ervoor te zorgen dat alle nodes van de cluster deze kunnen gebruiken, moeten we de volgende stappen doorlopen.

Selecteer in het menu van de webinterface Datacenter — Opslag — Voeg toe — NFS.

Clustering in Proxmox VE
Vul de velden in ID en Server. In de vervolgkeuzelijst Exporteer selecteer de gewenste map uit de beschikbare en in de lijst Inhoud — de benodigde datatypes. Na het indrukken van de knop Add wordt de opslag verbonden met alle nodes van de cluster.

Clustering in Proxmox VE
Bij het maken van virtuele machines en containers op een van de nodes, geven we onze opslag op als opslag.

Stel HA in

Als voorbeeld creĆ«ren we een container met Ubuntu 18.04 en stellen we High Availability voor deze in. Na het maken en opstarten van de container, gaan we naar het gedeelte Datacenter — HA — Voeg toe. Vul in het geopende veld het ID van de virtuele machine/container en het maximale aantal herstartproberen en verplaatsingen tussen nodes in.

Als deze hoeveelheid wordt overschreden, markeert de hypervisor de VM als defect en zet deze in de status Fout, waarna het stopt met het uitvoeren van enige acties ermee.

Clustering in Proxmox VE
Na het klikken op de knop Add tool ha-manager zal het alle knooppunten van het cluster op de hoogte stellen dat de VM met de opgegeven ID nu wordt beheerd en dat deze in geval van uitval opnieuw moet worden opgestart op een ander knooppunt.

Clustering in Proxmox VE

Laten we een fout simuleren

Om te zien hoe het failover-mechanisme werkt, schakelen we node1 onverwacht uit. We kijken vanaf een andere node wat er met het cluster gebeurt. We zien dat het systeem de fout heeft geregistreerd.

Clustering in Proxmox VE

De werking van het HA-mechanisme betekent niet dat de VM continu operationeel blijft. Zodra een node 'valt', stopt de werking van de VM tijdelijk tot het automatisch opnieuw opstarten op een ander knooppunt.

En hier begint de 'magie' — het cluster heeft automatisch de node opnieuw toegewezen voor onze VM en binnen 120 seconden was het werk automatisch hersteld.

Clustering in Proxmox VE
We schakelen node2 uit. Laten we zien of het cluster standhoudt en of de VM automatisch weer operationeel wordt.

Clustering in Proxmox VE
Helaas, zoals we zien, hebben we een probleem dat er op de enige overgebleven actieve node geen quorum is, wat automatisch de werking van HA uitschakelt. We geven een commando in de console om het quorum handmatig in te stellen.

pvecm verwachte 1

Clustering in Proxmox VE
Na 2 minuten heeft het HA-mechanisme correct gewerkt en zonder node2 werd onze VM op node3 gestart.

Clustering in Proxmox VE
Zodra we node1 en node2 weer inschakelden, was het cluster volledig hersteld. Houd er rekening mee dat de VM niet automatisch migreert terug naar node1, maar dit kan handmatig worden gedaan.

Laten we de balans opmaken

We hebben u verteld hoe het clusteringmechanisme in Proxmox werkt en hoe HA wordt ingesteld voor virtuele machines en containers. Het juiste gebruik van clustering en HA verhoogt de betrouwbaarheid van de infrastructuur aanzienlijk en zorgt voor herstel na storingen.

Voordat u een cluster aanmaakt, moet u van tevoren plannen voor welke doeleinden het zal worden gebruikt en hoezeer het in de toekomst moet worden opgeschaald. Controleer ook de netwerkinfrastructuur op gereedheid om met minimale vertragingen te werken, zodat het toekomstige cluster soepel draait.

Vertel het ons — maakt u gebruik van de clustering mogelijkheden in Proxmox? We kijken uit naar uw reacties.

Vorige artikelen over de hypervisor Proxmox VE:

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster