U prošlim člancima počeli smo govoriti o tome što je Proxmox VE i kako radi. Danas ćemo govoriti o tome kako možete iskoristiti mogućnost klasteriranja i pokazati koje prednosti daje.
Što je klaster i zašto je potreban? Klaster (od engleskog cluster) je skupina poslužitelja ujedinjenih brzim komunikacijskim kanalima, koji rade i pojavljuju se korisniku kao jedinstvena cjelina. Postoji nekoliko glavnih scenarija za korištenje klastera:
Pružanje tolerancije na pogreške (visoka dostupnost).
Svaki scenarij ima svoje zahtjeve za članove klastera. Na primjer, za klaster koji izvodi distribuirano računalstvo, glavni zahtjev je velika brzina operacija s pomičnim zarezom i niska latencija mreže. Takvi se klasteri često koriste u istraživačke svrhe.
Budući da smo se dotakli teme distribuiranog računarstva, želio bih napomenuti da postoji i nešto poput mrežni sustav (od engleske mreže - rešetka, mreža). Unatoč općoj sličnosti, nemojte brkati mrežni sustav i klaster. Grid nije klaster u uobičajenom smislu. Za razliku od klastera, čvorovi uključeni u mrežu najčešće su heterogeni i karakterizira ih niska dostupnost. Ovaj pristup pojednostavljuje rješavanje problema distribuiranog računalstva, ali ne dopušta stvaranje jedinstvene cjeline od čvorova.
Upečatljiv primjer grid sustava je popularna računalna platforma BOIN (Berkeley Open Infrastructure for Network Computing). Ova platforma je izvorno stvorena za projekt SETI @ Home (Search for Extra-Terrestrial Intelligence at Home), koja se bavi problemom pronalaženja izvanzemaljske inteligencije analizom radio signala.
Kako ovo radiOgroman niz podataka primljenih od radio-teleskopa razbija se na mnogo malih dijelova, koji se šalju u čvorove mrežnog sustava (u projektu SETI@home ulogu takvih čvorova igraju volonterska računala). Podaci se obrađuju u čvorovima te se nakon završene obrade šalju na središnji poslužitelj SETI projekta. Dakle, projekt rješava najsloženiji globalni problem bez raspolaganja potrebnom računalnom snagom.
Sada kada imamo jasno razumijevanje što je klaster, predlažemo da razmotrimo kako se može stvoriti i koristiti. Koristit ćemo virtualizacijski sustav otvorenog koda Proxmox VE.
Posebno je važno jasno razumjeti ograničenja i sistemske zahtjeve Proxmoxa prije početka stvaranja klastera, naime:
najveći broj čvorova u klasteru - 32;
svi čvorovi moraju imati ista verzija Proxmoxa (postoje iznimke, ali se ne preporučuju za proizvodnju);
ako se u budućnosti planira koristiti funkcionalnost High Availability, onda bi klaster trebao imati najmanje 3 čvora;
portovi moraju biti otvoreni kako bi čvorovi međusobno komunicirali UDP/5404, UDP/5405 za korosinhronizaciju i TCP/22 za SSH;
mrežno kašnjenje između čvorova ne smije premašiti 2 ms.
Napravite klaster
Važno! Sljedeća konfiguracija je testna. Ne zaboravite provjeriti s službena dokumentacija Proxmox V.E.
Kako bismo pokrenuli testni klaster, uzeli smo tri poslužitelja s instaliranim Proxmox hipervizorom s istom konfiguracijom (2 jezgre, 2 GB RAM-a).
U početku, nakon instaliranja OS-a, pokreće se jedan poslužitelj samostalni način rada.
Napravite klaster klikom na gumb Stvorite klaster u relevantnom odjeljku.
Postavljamo naziv za budući klaster i odabiremo aktivnu mrežnu vezu.
Pritisnite gumb Kreiraj. Poslužitelj će generirati 2048-bitni ključ i zapisati ga, zajedno s parametrima novog klastera, u konfiguracijske datoteke.
natpis ZADATAK OK označava uspješan završetak operacije. Sada, gledajući opće informacije o sustavu, može se vidjeti da je poslužitelj prešao u način rada klastera. Za sada se klaster sastoji samo od jednog čvora, odnosno još nema mogućnosti za koje je klaster potreban.
Pridruživanje klasteru
Prije spajanja na stvoreni klaster potrebno je pribaviti podatke za dovršetak povezivanja. Da biste to učinili, idite na odjeljak grozd i nazimaem gumb Informacije o pridruživanju.
U prozoru koji se otvori zanima nas sadržaj istoimenog polja. Morat će se kopirati.
Ovdje su kodirani svi potrebni parametri povezivanja: adresa poslužitelja za povezivanje i digitalni otisak prsta. Idemo na poslužitelj koji treba uključiti u klaster. Pritisnemo gumb Pridružite se klasteru i u prozor koji se otvori zalijepite kopirani sadržaj.
Polja Peer adresa и Otisak prsta automatski će se popuniti. Unesite root lozinku za čvor broj 1, odaberite mrežnu vezu i pritisnite gumb Pridružiti.
Tijekom procesa pridruživanja klasteru, GUI web stranica se može prestati ažurirati. U redu je, samo ponovno učitajte stranicu. Na potpuno isti način dodajemo još jedan čvor i kao rezultat dobivamo punopravni klaster od 3 radna čvora.
Sada možemo kontrolirati sve čvorove klastera iz jednog GUI-ja.
Organizacija visoke dostupnosti
Proxmox izvan kutije podržava funkcionalnost HA organizacije i za virtualne strojeve i za LXC spremnike. Korisnost ha-menadžer otkriva i obrađuje pogreške i kvarove, izvodeći failover s pokvarenog čvora na onaj koji radi. Da bi mehanizam ispravno radio, potrebno je da virtualni strojevi i spremnici imaju zajedničku pohranu datoteka.
Nakon aktiviranja funkcionalnosti visoke dostupnosti, softverski skup ha-manager kontinuirano će pratiti stanje virtualnog stroja ili spremnika i asinkrono komunicirati s drugim čvorovima klastera.
Priključivanje dijeljene pohrane
Kao primjer, postavili smo malu NFS datoteku za dijeljenje na 192.168.88.18. Kako bi ga mogli koristiti svi čvorovi klastera, potrebno je izvršiti sljedeće manipulacije.
Odaberite iz izbornika web sučelja Datacenter - Storage - Add - NFS.
Popunite polja ID и Server. Na padajućem popisu Izvoz odaberite željeni direktorij iz dostupnih i na popisu Sadržaj — potrebne vrste podataka. Nakon pritiska na tipku dodati pohrana će biti povezana sa svim čvorovima klastera.
Prilikom izrade virtualnih strojeva i spremnika na bilo kojem od čvorova, specificiramo naše skladištenje kao skladište.
Postavljanje HA
Na primjer, stvorimo spremnik s Ubuntu 18.04 i konfigurirajmo High Availability za njega. Nakon stvaranja i pokretanja spremnika, idite na odjeljak Datacenter-HA-Add. U polju koje se otvori navedite ID virtualnog stroja/spremnika i maksimalan broj pokušaja ponovnog pokretanja i prelaska između čvorova.
Ako se taj broj premaši, hipervizor će označiti VM kao neispravan i staviti ga u stanje greške, nakon čega će prestati izvršavati bilo kakve radnje s njim.
Nakon pritiska na tipku dodati korisnost ha-menadžer obavijestit će sve čvorove klastera da je sada VM s navedenim ID-om kontroliran i da se u slučaju pada mora ponovno pokrenuti na drugom čvoru.
Napravimo sudar
Da vidimo kako točno funkcionira sklopni mehanizam, nenormalno isključimo napajanje čvora1. Gledamo s drugog čvora što se događa s klasterom. Vidimo da je sustav popravio kvar.
Rad HA mehanizma ne znači i kontinuitet VM. Čim čvor "padne", rad VM-a se privremeno zaustavlja dok se automatski ponovno ne pokrene na drugom čvoru.
I tu počinje "magija" - klaster je automatski ponovno dodijelio čvor za pokretanje našeg VM-a i unutar 120 sekundi rad je automatski vraćen.
Gasimo čvor 2 na prehrani. Da vidimo hoće li klaster preživjeti i hoće li se VM automatski vratiti u radno stanje.
Jao, kao što vidimo, imamo problem s činjenicom da više nema kvoruma na jedinom preživjelom čvoru, što automatski onemogućuje HA. Dajemo naredbu za prisilnu instalaciju kvoruma u konzoli.
pvecm expected 1
Nakon 2 minute, HA mehanizam je ispravno radio i, ne pronalazeći node2, pokrenuo je našu VM na node3.
Čim smo ponovno uključili node1 i node2, klaster je u potpunosti obnovljen. Imajte na umu da se VM ne migrira sam natrag na node1, već se to može učiniti ručno.
Sažimanje
Rekli smo vam kako funkcionira Proxmox mehanizam klasteriranja, a također smo vam pokazali kako se HA konfigurira za virtualne strojeve i spremnike. Ispravno korištenje klasteriranja i HA uvelike povećava pouzdanost infrastrukture, kao i pružanje oporavka od katastrofe.
Prije stvaranja klastera potrebno je odmah isplanirati za koje će se svrhe koristiti i koliko će ga trebati skalirati u budućnosti. Također morate provjeriti spremnost mrežne infrastrukture za rad s minimalnim kašnjenjima kako bi budući klaster radio bez kvarova.
Recite nam - koristite li Proxmoxove mogućnosti klasteriranja? Čekamo vas u komentarima.