Clustering in Proxmox VE

Clustering in Proxmox VE

In eerdere artikelen begonnen we te praten over wat Proxmox VE is en hoe het werkt. Vandaag zullen we het hebben over hoe je de mogelijkheid van clustering kunt gebruiken en laten zien welke voordelen het oplevert.

Wat is een cluster en waarom is het nodig? Een cluster (van het Engelse cluster) is een groep servers verenigd door snelle communicatiekanalen, die voor de gebruiker als één geheel werken en verschijnen. Er zijn verschillende hoofdscenario's voor het gebruik van een cluster:

  • Het bieden van fouttolerantie (Hoge beschikbaarheid).
  • Loadbalancing (Loadbalancering).
  • Verhoging van de productiviteit (hoge performantie).
  • Gedistribueerd computergebruik uitvoeren (Gedistribueerd computergebruik).

Elk scenario heeft zijn eigen vereisten voor de clusterleden. Voor een cluster dat gedistribueerd computergebruik uitvoert, is de belangrijkste vereiste bijvoorbeeld een hoge snelheid van drijvende-kommabewerkingen en een lage netwerklatentie. Dergelijke clusters worden vaak gebruikt voor onderzoeksdoeleinden.

Nu we het onderwerp gedistribueerd computergebruik hebben besproken, zou ik willen opmerken dat er ook zoiets bestaat als grid-systeem (uit het Engelse raster - rooster, netwerk). Ondanks de algemene gelijkenis mogen het rastersysteem en het cluster niet met elkaar worden verward. Grid is geen cluster in de gebruikelijke zin. In tegenstelling tot een cluster zijn de knooppunten in het netwerk meestal heterogeen en worden ze gekenmerkt door een lage beschikbaarheid. Deze aanpak vereenvoudigt de oplossing van gedistribueerde computerproblemen, maar maakt het niet mogelijk om één geheel uit knooppunten te creëren.

Een treffend voorbeeld van een rastersysteem is een populair computerplatform BOINC (Berkeley Open Infrastructuur voor netwerkcomputers). Dit platform is oorspronkelijk voor het project gemaakt SETI @ home (Search for Extra-Terrestrial Intelligence at Home), dat zich bezighoudt met het probleem van het vinden van buitenaardse intelligentie door het analyseren van radiosignalen.

Hoe werkt ditEen enorm scala aan gegevens die door radiotelescopen worden ontvangen, wordt in veel kleine stukjes opgesplitst en naar de knooppunten van het rastersysteem gestuurd (in het SETI@home-project spelen vrijwillige computers de rol van dergelijke knooppunten). De gegevens worden verwerkt op de knooppunten en nadat de verwerking is voltooid, worden deze naar de centrale server van het SETI-project verzonden. Het project lost dus het meest complexe mondiale probleem op zonder dat het over de benodigde rekenkracht beschikt.

Nu we duidelijk begrijpen wat een cluster is, stellen we voor om na te denken over hoe het kan worden gecreëerd en gebruikt. We zullen een open source virtualisatiesysteem gebruiken Proxmox VE.

Het is vooral belangrijk om de beperkingen en systeemvereisten van Proxmox duidelijk te begrijpen voordat u begint met het maken van een cluster, namelijk:

  • maximaal aantal knooppunten in een cluster - 32;
  • alle knooppunten moeten hebben dezelfde versie van Proxmox (er zijn uitzonderingen, maar deze worden niet aanbevolen voor productie);
  • als het de bedoeling is om in de toekomst gebruik te maken van de High Availability-functionaliteit, dan zou het cluster dat moeten hebben minimaal 3 knooppunten;
  • poorten moeten open zijn zodat knooppunten met elkaar kunnen communiceren UDP/5404, UDP/5405 voor corosync en TCP / 22 voor SSH;
  • netwerkvertraging tussen knooppunten mag niet groter zijn 2 мс.

Maak een cluster

Belangrijk! De volgende configuratie is een testconfiguratie. Vergeet niet om contact op te nemen met officiële documentatie Proxmox V.E.

Om een ​​testcluster uit te voeren, hebben we drie servers genomen waarop de Proxmox-hypervisor was geïnstalleerd met dezelfde configuratie (2 cores, 2 GB RAM).

Als je wilt weten hoe je Proxmox kunt installeren, raden we je aan ons vorige artikel te lezen - De magie van virtualisatie: een introductiecursus in Proxmox VE.

In eerste instantie wordt na installatie van het besturingssysteem één enkele server uitgevoerd standalone-modus.

Clustering in Proxmox VE
Maak een cluster door op de knop te klikken Cluster maken in het betreffende gedeelte.

Clustering in Proxmox VE
We stellen een naam in voor het toekomstige cluster en selecteren een actieve netwerkverbinding.

Clustering in Proxmox VE
Klik op de knop Maken. De server genereert een 2048-bits sleutel en schrijft deze samen met de parameters van het nieuwe cluster naar de configuratiebestanden.

Clustering in Proxmox VE
opschrift TAAK OK geeft de succesvolle voltooiing van de bewerking aan. Als we nu naar de algemene informatie over het systeem kijken, is te zien dat de server naar de clustermodus is overgeschakeld. Tot nu toe bestaat het cluster uit slechts één knooppunt, dat wil zeggen dat het nog niet de mogelijkheden heeft waarvoor een cluster nodig is.

Clustering in Proxmox VE

Deelnemen aan een Cluster

Voordat we verbinding maken met het gemaakte cluster, moeten we informatie verkrijgen om de verbinding te voltooien. Ga hiervoor naar de sectie TROS en ажимаем опку Deelnemen Informatie.

Clustering in Proxmox VE
In het geopende venster zijn we geïnteresseerd in de inhoud van het gelijknamige veld. Het zal moeten worden gekopieerd.

Clustering in Proxmox VE
Alle noodzakelijke verbindingsparameters worden hier gecodeerd: het serveradres voor verbinding en de digitale vingerafdruk. We gaan naar de server die in het cluster moet worden opgenomen. Wij drukken op de knop Sluit je aan bij Cluster en plak de gekopieerde inhoud in het geopende venster.

Clustering in Proxmox VE
velden Peer-adres и Vingerafdruk wordt automatisch ingevuld. Voer het rootwachtwoord voor knooppuntnummer 1 in, selecteer de netwerkverbinding en druk op de knop Aanmelden.

Clustering in Proxmox VE
Tijdens het proces van deelname aan een cluster wordt de GUI-webpagina mogelijk niet meer bijgewerkt. Het is oké, herlaad gewoon de pagina. Op precies dezelfde manier voegen we nog een knooppunt toe en als resultaat krijgen we een volwaardig cluster van 3 werkende knooppunten.

Clustering in Proxmox VE
Nu kunnen we alle clusterknooppunten vanuit één GUI besturen.

Clustering in Proxmox VE

Organisatie met hoge beschikbaarheid

Proxmox ondersteunt out-of-the-box HA-organisatiefunctionaliteit voor zowel virtuele machines als LXC-containers. Nutsvoorziening ha-manager detecteert en verwerkt fouten en mislukkingen en voert een failover uit van een defect knooppunt naar een werkend knooppunt. Om het mechanisme correct te laten werken, is het noodzakelijk dat virtuele machines en containers een gemeenschappelijke bestandsopslag hebben.

Na het activeren van de High Availability-functionaliteit zal de ha-manager softwarestack continu de status van de virtuele machine of container monitoren en asynchroon communiceren met andere clusterknooppunten.

Gedeelde opslag koppelen

Als voorbeeld hebben we een kleine NFS-bestandsshare geïmplementeerd op 192.168.88.18. Om ervoor te zorgen dat alle knooppunten van het cluster het kunnen gebruiken, moet u de volgende manipulaties uitvoeren.

Selecteer in het webinterfacemenu Datacenter - Opslag - Toevoegen - NFS.

Clustering in Proxmox VE
Vul de velden in ID и server. In vervolgkeuzelijst Exporteren selecteer de gewenste map uit de beschikbare mappen en in de lijst Content — vereiste gegevenstypen. Na het indrukken van de knop Toevoegen de opslag wordt verbonden met alle clusterknooppunten.

Clustering in Proxmox VE
Bij het maken van virtuele machines en containers op een van de knooppunten specificeren we onze mediaopslag als opslag.

HA instellen

Laten we bijvoorbeeld een container maken met Ubuntu 18.04 en hiervoor Hoge beschikbaarheid configureren. Nadat u de container heeft gemaakt en uitgevoerd, gaat u naar de sectie Datacenter-HA-Toevoegen. Geef in het geopende veld de ID van de virtuele machine/container op en het maximale aantal pogingen om opnieuw op te starten en tussen knooppunten te schakelen.

Als dit aantal wordt overschreden, zal de hypervisor de VM als mislukt markeren en in de Error-status zetten, waarna hij er geen acties meer mee uitvoert.

Clustering in Proxmox VE
Na het indrukken van de knop Toevoegen nut ha-manager zal alle knooppunten van het cluster laten weten dat de VM met het opgegeven ID nu wordt beheerd en in geval van een crash opnieuw moet worden opgestart op een ander knooppunt.

Clustering in Proxmox VE

Laten we een crash maken

Om te zien hoe het schakelmechanisme precies werkt, gaan we de stroomvoorziening van knooppunt 1 abnormaal uitschakelen. We kijken vanuit een ander knooppunt wat er met het cluster gebeurt. We zien dat het systeem een ​​fout heeft verholpen.

Clustering in Proxmox VE

De werking van het HA-mechanisme betekent niet de continuïteit van de VM. Zodra het knooppunt "valt", wordt de VM-operatie tijdelijk stopgezet totdat deze automatisch opnieuw wordt opgestart op een ander knooppunt.

En dit is waar de “magie” begint: het cluster heeft het knooppunt automatisch opnieuw toegewezen om onze VM te laten draaien en binnen 120 seconden werd het werk automatisch hersteld.

Clustering in Proxmox VE
We doven node2 op het gebied van voeding. Laten we eens kijken of het cluster zal overleven en of de VM automatisch naar een werkende staat zal terugkeren.

Clustering in Proxmox VE
Helaas hebben we, zoals we kunnen zien, een probleem met het feit dat er niet langer een quorum is op het enige overgebleven knooppunt, waardoor HA automatisch wordt uitgeschakeld. We geven de opdracht om de installatie van een quorum in de console te forceren.

pvecm expected 1

Clustering in Proxmox VE
Na 2 minuten werkte het HA-mechanisme correct en omdat knooppunt2 niet werd gevonden, werd onze VM op knooppunt3 gelanceerd.

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

Opsomming

We hebben u verteld hoe het Proxmox-clustermechanisme werkt, en hebben u ook laten zien hoe HA is geconfigureerd voor virtuele machines en containers. Het juiste gebruik van clustering en HA verhoogt de betrouwbaarheid van de infrastructuur aanzienlijk en zorgt voor herstel na een ramp.

Voordat u een cluster maakt, moet u onmiddellijk plannen voor welke doeleinden het zal worden gebruikt en in hoeverre het in de toekomst zal moeten worden opgeschaald. U moet ook de netwerkinfrastructuur controleren op gereedheid om met minimale vertragingen te werken, zodat het toekomstige cluster zonder fouten werkt.

Vertel ons: gebruikt u de clustermogelijkheden van Proxmox? We wachten op je in de reacties.

Eerdere artikelen over de Proxmox VE-hypervisor:

Bron: www.habr.com

Voeg een reactie