Klustring i Proxmox VE

Klustring i Proxmox VE

I tidigare artiklar började vi prata om vad Proxmox VE är och hur det fungerar. Idag ska vi prata om hur du kan använda möjligheten till klustring och visa vilka fördelar det ger.

Vad är ett kluster och varför behövs det? Ett kluster (från engelska kluster) är en grupp servrar som förenas av höghastighetskommunikationskanaler, som fungerar och framstår för användaren som en helhet. Det finns flera huvudscenarier för att använda ett kluster:

  • Ger feltolerans (hög tillgänglighet).
  • Lastbalansering (Lastbalansering).
  • Ökad produktivitet (hög prestanda).
  • Utföra distribuerad datoranvändning (Distribuerad databehandling).

Varje scenario har sina egna krav på klustermedlemmarna. Till exempel, för ett kluster som utför distribuerad beräkning, är huvudkravet hög hastighet för flyttalsoperationer och låg nätverkslatens. Sådana kluster används ofta för forskningsändamål.

Eftersom vi har berört ämnet distribuerad beräkning, vill jag notera att det också finns något sådant som rutsystem (från det engelska nätet - gitter, nätverk). Trots den allmänna likheten, blanda inte ihop rutsystemet och klustret. Grid är inte ett kluster i vanlig mening. Till skillnad från ett kluster är noderna som ingår i rutnätet oftast heterogena och kännetecknas av låg tillgänglighet. Detta tillvägagångssätt förenklar lösningen av distribuerade datorproblem, men tillåter inte att skapa en enda helhet från noder.

Ett slående exempel på ett rutsystem är en populär datorplattform BOIN (Berkeley Open Infrastructure for Network Computing). Denna plattform skapades ursprungligen för projektet SETI @ home (Search for Extra-Terrestrial Intelligence at Home), som hanterar problemet med att hitta utomjordisk intelligens genom att analysera radiosignaler.

Hur fungerar den härEn enorm mängd data som tas emot från radioteleskop bryts upp i många små bitar, och de skickas till noderna i nätsystemet (i SETI@home-projektet spelar frivilliga datorer rollen som sådana noder). Data bearbetas vid noderna och efter att bearbetningen är klar skickas den till SETI-projektets centrala server. Därmed löser projektet det mest komplexa globala problemet utan att ha den nödvändiga datorkraften till sitt förfogande.

Nu när vi har en klar förståelse för vad ett kluster är, föreslår vi att vi överväger hur det kan skapas och användas. Vi kommer att använda ett virtualiseringssystem med öppen källkod Proxmox VE.

Det är särskilt viktigt att tydligt förstå begränsningarna och systemkraven för Proxmox innan du börjar skapa ett kluster, nämligen:

  • maximalt antal noder i ett kluster - 32;
  • alla noder måste ha samma version av Proxmox (det finns undantag, men de rekommenderas inte för produktion);
  • om det i framtiden är planerat att använda funktionen High Availability, bör klustret ha minst 3 noder;
  • portar måste vara öppna för att noder ska kunna kommunicera med varandra UDP/5404, UDP/5405 för corosync och TCP / 22 för SSH;
  • nätverksfördröjning mellan noder bör inte överstiga 2 ms.

Skapa ett kluster

Viktig! Följande konfiguration är en test. Glöm inte att kolla med officiell dokumentation Proxmox V.E.

För att köra ett testkluster tog vi tre servrar med Proxmox hypervisor installerad med samma konfiguration (2 kärnor, 2 GB RAM).

Om du vill veta hur du kan installera Proxmox, rekommenderar vi att du läser vår tidigare artikel - Virtualiseringens magi: en introduktionskurs i Proxmox VE.

Inledningsvis, efter installation av operativsystemet, körs en enda server in fristående läge.

Klustring i Proxmox VE
Skapa ett kluster genom att klicka på knappen Skapa kluster i relevant avsnitt.

Klustring i Proxmox VE
Vi anger ett namn för det framtida klustret och väljer en aktiv nätverksanslutning.

Klustring i Proxmox VE
Klicka på knappen Skapa. Servern kommer att generera en 2048-bitars nyckel och skriva den tillsammans med parametrarna för det nya klustret till konfigurationsfilerna.

Klustring i Proxmox VE
inskription UPPGIFT OK indikerar framgångsrikt slutförande av operationen. När man nu tittar på den allmänna informationen om systemet kan man se att servern har gått över till klusterläge. Hittills består klustret av endast en nod, det vill säga att det ännu inte har de möjligheter som ett kluster behövs för.

Klustring i Proxmox VE

Gå med i ett kluster

Innan vi ansluter till det skapade klustret måste vi skaffa information för att slutföra anslutningen. För att göra detta, gå till avsnittet kluster och tryck på knappen Gå med i Information.

Klustring i Proxmox VE
I fönstret som öppnas är vi intresserade av innehållet i fältet med samma namn. Det kommer att behöva kopieras.

Klustring i Proxmox VE
Alla nödvändiga anslutningsparametrar kodas här: serveradressen för anslutningen och det digitala fingeravtrycket. Vi går till servern som måste ingå i klustret. Vi trycker på knappen Gå med i Cluster och klistra in det kopierade innehållet i fönstret som öppnas.

Klustring i Proxmox VE
fält Peer-adress и Fingeravtryck kommer att fyllas i automatiskt. Ange root-lösenordet för nod nummer 1, välj nätverksanslutningen och tryck på knappen Ansluta sig.

Klustring i Proxmox VE
Under processen att gå med i ett kluster kan det hända att GUI-webbsidan slutar uppdateras. Det är ok, ladda bara om sidan. På exakt samma sätt lägger vi till ytterligare en nod och som ett resultat får vi ett fullfjädrat kluster med 3 fungerande noder.

Klustring i Proxmox VE
Nu kan vi styra alla klusternoder från ett GUI.

Klustring i Proxmox VE

Hög tillgänglighetsorganisation

Proxmox out of the box stöder HA-organisationsfunktioner för både virtuella maskiner och LXC-behållare. Verktyg ha-chef upptäcker och hanterar fel och misslyckanden, utför en failover från en misslyckad nod till en fungerande. För att mekanismen ska fungera korrekt är det nödvändigt att virtuella maskiner och behållare har en gemensam fillagring.

Efter att ha aktiverat High Availability-funktionen kommer ha-manager-mjukvarustacken kontinuerligt att övervaka tillståndet för den virtuella maskinen eller behållaren och interagera asynkront med andra klusternoder.

Bifogar delad lagring

Som ett exempel distribuerade vi en liten NFS-filresurs på 192.168.88.18. För att alla noder i klustret ska kunna använda det måste du göra följande manipulationer.

Välj från webbgränssnittsmenyn Datacenter - Lagring - Lägg till - NFS.

Klustring i Proxmox VE
Fyll i fälten ID и server. I rullgardinslistan Exportera välj önskad katalog från de tillgängliga och i listan Innehåll — nödvändiga datatyper. Efter att ha tryckt på knappen Lägg till lagringen kommer att kopplas till alla klusternoder.

Klustring i Proxmox VE
När vi skapar virtuella maskiner och behållare på någon av noderna anger vi vår förvaring som förvaring.

Ställer in HA

Låt oss till exempel skapa en behållare med Ubuntu 18.04 och konfigurera High Availability för den. När du har skapat och kört behållaren går du till avsnittet Datacenter-HA-Lägg till. I fältet som öppnas anger du ID för den virtuella maskinen/behållaren och det maximala antalet försök att starta om och flytta mellan noder.

Om detta antal överskrids kommer hypervisorn att markera den virtuella datorn som misslyckad och sätta den i feltillståndet, varefter den slutar utföra några åtgärder med den.

Klustring i Proxmox VE
Efter att ha tryckt på knappen Lägg till användbarhet ha-chef kommer att meddela alla noder i klustret att nu är den virtuella datorn med det angivna ID:t kontrollerad och i händelse av en krasch måste den startas om på en annan nod.

Klustring i Proxmox VE

Låt oss krascha

För att se exakt hur omkopplingsmekanismen fungerar, låt oss stänga av nod1s strömförsörjning på ett onormalt sätt. Vi ser från en annan nod vad som händer med klustret. Vi ser att systemet har åtgärdat ett fel.

Klustring i Proxmox VE

Funktionen av HA-mekanismen betyder inte kontinuiteten hos VM. Så snart noden "faller" stoppas VM-operationen tillfälligt tills den automatiskt startas om på en annan nod.

Och det är här "magin" börjar - klustret omtilldelade automatiskt noden för att köra vår VM och inom 120 sekunder återställdes arbetet automatiskt.

Klustring i Proxmox VE
Vi släcker nod2 på näring. Låt oss se om klustret kommer att överleva och om den virtuella datorn kommer att återgå till ett fungerande tillstånd automatiskt.

Klustring i Proxmox VE
Tyvärr, som vi kan se, har vi ett problem med det faktum att det inte längre finns ett kvorum på den enda överlevande noden, vilket automatiskt inaktiverar HA. Vi ger kommandot att tvinga installationen av ett kvorum i konsolen.

pvecm expected 1

Klustring i Proxmox VE
Efter 2 minuter fungerade HA-mekanismen korrekt och, utan att hitta node2, startade vår virtuella dator på nod3.

Klustring i Proxmox VE
Så snart vi slog på nod1 och nod2 igen, var klustret helt återställt. Observera att den virtuella datorn inte migrerar tillbaka till nod1 på egen hand, men detta kan göras manuellt.

Sammanfattningsvis

Vi berättade om hur Proxmox-klustringsmekanismen fungerar och visade dig också hur HA är konfigurerad för virtuella maskiner och behållare. Korrekt användning av klustring och HA ökar avsevärt infrastrukturens tillförlitlighet, samt ger katastrofåterställning.

Innan du skapar ett kluster måste du omedelbart planera för vilka ändamål det ska användas och hur mycket det kommer att behöva skalas i framtiden. Du måste också kontrollera nätverksinfrastrukturen för beredskap att arbeta med minimala förseningar så att det framtida klustret fungerar utan fel.

Berätta för oss - använder du Proxmox klustringsmöjligheter? Vi väntar på dig i kommentarerna.

Tidigare artiklar om Proxmox VE hypervisor:

Källa: will.com

Lägg en kommentar