Klasterizacija v Proxmox VE

Klasterizacija v Proxmox VE

V prejšnjih člankih smo začeli razlagati, kaj je Proxmox VE in kako deluje. Danes bomo govorili o tem, kako izkoristiti možnost klasterizacije ter katere prednosti to prinaša.

Kaj je klaster in zakaj je potreben? Klaster (iz angleškega "cluster") je skupina strežnikov, povezanih z hitrimi komunikacijskimi kanali, ki deluje in se uporabniku predstavi kot ena celota. Obstaja več osnovnih scenarijev uporabe klasterja:

  • Zagotavljanje odpornosti na napake (Visoka disponibilnost).
  • Porazdelitev bremena (Obremenitveno uravnavanje).
  • Povečanje zmogljivosti (Visoka zmogljivost).
  • Izvajanje porazdeljenih izračunov (Porazdeljeno računanje).

Vsak scenarij postavlja svoje posebne zahteve glede sestavin klasterja. Na primer, za klaster, ki izvaja porazdeljene izračune, je glavna zahteva visoka hitrost izvajanja operacij z decimalnimi številkami in nizka latenca omrežja. Takšni klasterji se pogosto uporabljajo v znanstvenoraziskovalne namene.

Ker smo že omenili temo porazdeljenih izračunov, bi radi poudarili, da obstaja tudi pojem grid-sistem (iz angleškega "grid" — mreža, omrežje). Kljub splošni podobnosti ne smemo zamenjevati grid-sistem in klaster. Grid ni klaster v običajnem pomenu. Za razliko od klasterja so vozli v grid-sistemu pogosto heterogeni in se razlikujejo po nizki dostopnosti. Takšen pristop poenostavi reševanje nalog porazdeljenih izračunov, vendar ne omogoča, da bi iz vozlov ustvarili eno celoto.

Opazen primer grid-sistema je priljubljena računska platforma BOINC (Berkeley Open Infrastructure for Network Computing). Ta platforma je bila prvotno ustvarjena za projekt SETI@home (Search for Extra-Terrestrial Intelligence at Home), ki se ukvarja s problemom iskanja nezemeljske inteligence z analizo radijskih signalov.

Kako to funkcioniraOgromen zbir podatkov, pridobljenih z radioteleskopi, se razdeli na številne majhne kose, ki se pošljejo na vozlišča grid-sistema (v projektu SETI@home to vlogo igrajo računalniki prostovoljcev). Podatki se obdelujejo na vozliščih in po zaključku obdelave pošljejo na centralni strežnik projekta SETI. Tako projekt rešuje zapleteno globalno nalogo, ne da bi imel na voljo zahtevano računsko moč.

Sedaj, ko imamo jasno razumevanje, kaj je klaster, razmislimo, kako ga lahko ustvarimo in uporabimo. Uporabili bomo sistem virtualizacije z odprtokodnim izvorom. Proxmox VE.

Še posebej je pomembno, da pred začetekom ustvarjanja klasterja jasno razumemo omejitve in sistemske zahteve Proxmox, in sicer:

  • maksimalno število nod v klasterju — 32;
  • vse node morajo imeti isto različico Proxmox (obstajajo izjeme, a za produkcijo niso priporočljive);
  • če se kasneje načrtuje uporaba funkcionalnosti visoke razpoložljivosti, mora klaster imeti vsaj 3 node;
  • za medsebojno delovanje nod morajo biti odprte vrata UDP/5404, UDP/5405 za corosync in TCP/22 za SSH;
  • zakasnitev v omrežju med nodami ne sme presegati 2 ms.

Ustvarjanje klasterja

Pomembno! Spodnja konfiguracija je testna. Ne pozabite preveriti uradne dokumentacije Proxmox VE.

Da bi zagnali testni klaster, smo vzeli tri strežnike z nameščenim hipervizorjem Proxmox enake konfiguracije (2 jedra, 2 GB RAM).

Če želite izvedeti, kako lahko namestite Proxmox, priporočamo, da preberete naš prejšnji članek — Magija virtualizacije: uvodni tečaj v Proxmox VE.

Sprva, po namestitvi OS, enotni strežnik deluje v Standalone-mode.

Klasterizacija v Proxmox VE
Ustvarimo klaster, tako da pritisnemo gumb Create Cluster v ustreznem razdelku.

Klasterizacija v Proxmox VE
Določimo ime prihodnjemu klasterju in izberemo aktivno omrežno povezavo.

Klasterizacija v Proxmox VE
Pritisnemo gumb Create. Strežnik bo generiral 2048-bitni ključ in ga shranil skupaj s parametri novega klasterja v konfiguracijske datoteke.

Klasterizacija v Proxmox VE
Napisa TASK OK dokončuje uspešno izvedbo operacije. Zdaj, ko pogledamo splošne informacije o sistemu, vidimo, da je strežnik prešel v način klasterja. Doslej klaster sestavlja le ena node, torej ne ponuja še tistih možnosti, zaradi katerih je klaster potreben.

Klasterizacija v Proxmox VE

Priključitev na klaster

Preden se povežemo z ustvarjenim klasterjem, moramo pridobiti informacije za izvedbo povezave. Za to gremo v razdelek Cluster in pritisnite gumb Join Information.

Klasterizacija v Proxmox VE
V odprtem oknu nas zanima vsebina istoimenskega polja. To bomo morali kopirati.

Klasterizacija v Proxmox VE
Tukaj so kodirane vse potrebne povezovalne parametre: naslov strežnika za povezovanje in digitalni odtis. Preidemo na strežnik, ki ga je treba vključiti v grozd. Pritisnite gumb Pridruži se grozdu in v odprtem oknu prilepite kopiirano vsebino.

Klasterizacija v Proxmox VE
Polja Naslov peer in Odtis bodo samodejno izpolnjeni. Vnesite root geslo za vozlišče številka 1, izberite omrežno povezavo in pritisnite gumb Pridruži se.

Klasterizacija v Proxmox VE
Med postopkom pridruževanja grozdu se lahko spletna stran GUI preneha posodabljati. To je v redu, preprosto osvežite stran. Na enak način dodamo še eno vozlišče in tako dobimo popoln grozd treh delujočih vozlišč.

Klasterizacija v Proxmox VE
Zdaj lahko nadzorujemo vsa vozlišča grozda iz enega GUI.

Klasterizacija v Proxmox VE

Organizacija visoke razpoložljivosti

Proxmox 'iz škatle' podpira funkcionalnost organizacije HA tako za virtualne stroje kot za LXC kontejnerje. Orodje ha-manager odkriva in obravnava napake in okvare, izvaja preklop v sili z okvarjenega vozlišča na delovno. Da mehanizem deluje pravilno, je potrebno, da imajo virtualni stroji in kontejnerji skupno datotečno shranjevanje.

Po aktiviranju funkcionalnosti visoke razpoložljivosti bo programski sklop ha-manager začel nenehno spremljati stanje delovanja virtualnega stroja ali kontejnerja in asinhrono komunicirati z drugimi vozlišči grozda.

Pridružujemo skupno shranjevanje

Za primer smo postavili majhno datotečno shranjevanje NFS na naslovu 192.168.88.18. Da bi ga vsa vozlišča grozda lahko uporabljala, je potrebno izvesti naslednje korake.

Izberemo v meniju spletnega vmesnika Datacenter — Shranjevanje — Dodaj — NFS.

Klasterizacija v Proxmox VE
Izpolnimo polja ID in Strežnik. V padajočem seznamu Izvoz izberite potrebno mapo iz razpoložljivih in v seznamu Vsebina — potrebne vrste podatkov. Po pritisku na gumb Dodaj bo shranjevanje povezano z vsemi vozlišči grozda.

Klasterizacija v Proxmox VE
Pri ustvarjanju virtualnih strojev in kontejnerjev na katerem koli od vozlišč navedite našo pohrana kot shranjevanje.

Nastavimo HA

Za primer ustvarimo kontejner z Ubuntu 18.04 in nastavimo visoko razpoložljivost zanj. Po ustvarjanju in zagonu kontejnerja preidemo na razdelek Datacenter — HA — Dodaj. V odprtem polju navedite ID virtualnega stroja/kontejnerja in največje število poskusov ponovnega zagona in premikov med vozlišči.

Če bo to število preseženo, bo hipervizor označil VM kot neuspešno in jo preusmeril v stanje Napaka, po čemer ne bo več izvajal nobenih dejanj z njo.

Klasterizacija v Proxmox VE
Po pritisku na gumb Dodaj orodje ha-manager obvesti vse vozlišča v grozdju, da zdaj VM z указаным ID nadzira in v primeru padca jo je treba znova zagnati na drugem vozlišču.

Klasterizacija v Proxmox VE

Ustvarimo neuspeh

Da bi videli, kako deluje mehanizem preklapljanja, nepričakovano izklopimo node1. Oglejmo si z drugega vozlišča, kaj se dogaja z grozdom. Opazimo, da je sistem zabeležil neuspeh.

Klasterizacija v Proxmox VE

Delovanje mehanizma HA ne pomeni neprekinjenega delovanja VM. Takoj ko vozlišče 'pade', se delo VM začasno ustavi do avtomatskega ponovnega zagona na drugem vozlišču.

Tukaj se začne 'magija' — grozd je samodejno dodelil drugo vozlišče za izvajanje naše VM in v 120 sekundah je delo bilo samodejno obnovljeno.

Klasterizacija v Proxmox VE
Izklopimo node2. Poglejmo, ali bo grozd zdržal in ali se bo VM samodejno vrnila v delovno stanje.

Klasterizacija v Proxmox VE
Žal, kot vidimo, smo naleteli na težavo, da na edinem preživelem vozlišču ni več kvoruma, kar samodejno onemogoči delovanje HA. Uporabimo ukaz za prisilno nastavitev kvoruma v konzoli.

pvecm pričakoval 1

Klasterizacija v Proxmox VE
Po 2 minutah je mehanizem HA pravilno deloval in ker ni našel node2, je zagnal našo VM na node3.

Klasterizacija v Proxmox VE
Ko smo ponovno vključili node1 in node2, je bilo delovanje grozda v celoti obnovljeno. Upoštevajte, da VM ne migrira samodejno nazaj na node1, to pa lahko storimo ročno.

Zaključno

Povedali smo vam o tem, kako deluje mehanizem grozdenja v Proxmox, ter pokazali, kako se nastavi HA za virtualne stroje in kontejnerje. Pametna uporaba grozdenja in HA znatno povečuje zanesljivost infrastrukture in zagotavlja obnovitev po neuspehih.

Pred ustvarjanjem grozda je treba takoj načrtovati, za katere namene se bo uporabljal in koliko ga bo potrebno širiti v prihodnosti. Prav tako je treba preveriti omrežno infrastrukturo za pripravljenost dela z minimalnimi zamudami, da bo prihodnji grozd deloval brez težav.

Povejte nam — ali izkoriščate možnosti grozdenja v Proxmoxu? Čakamo vas v komentarjih.

Prejšnji članki o hipervizorju Proxmox VE:

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster