
U prethodnim člancima počeli smo govoriti o tome što je Proxmox VE i kako on funkcioniše. Danas ćemo pričati o tome kako iskoristiti mogućnost klasterizacije i pokazati koje prednosti to donosi.
Što je zapravo klaster i zašto je potreban? Klaster (od eng. cluster) je grupa servera povezanih brzim komunikacionim kanalima, koja radi i predstavlja se korisniku kao jedinstvena celina. Postoji nekoliko osnovnih scenarija korišćenja klastera:
- Osiguranje otpornosti na greške (High-availability).
- Upravljanje opterećenjem (Load Balancing).
- Povećanje performansi (High Performance).
- Izvršavanje distribuiranih proračuna (Distributed computing).
Svaki scenario postavlja svoje vlastite zahteve za komponente klastera. Na primer, za klaster koji izvršava distribuirane proračune, osnovni zahtev je visoka brzina izvršavanja operacija sa pokretnom tačkom i niska latencija mreže. Takvi klasteri se često koriste u naučno-istraživačke svrhe.
Pošto smo se dotakli teme distribuiranih proračuna, valja napomenuti da postoji i pojam grid-sistema (od eng. grid — rešetka, mreža). Iako postoje sličnosti, ne treba brkati grid-sistem i klaster. Grid nije klaster u uobičajenom smislu. Za razliku od klastera, čvorovi koji čine grid su najčešće heterogeni i imaju nisku dostupnost. Ovaj pristup olakšava rešavanje zadataka distribuiranih proračuna, ali ne omogućava stvaranje jedinstvene jedinice od čvorova.
Svetli primer grid-sistema je popularna računarska platforma (Berkeley Open Infrastructure for Network Computing). Ova platforma je prvobitno kreirana za projekat (Search for Extra-Terrestrial Intelligence at Home), koji se bavi problemom traženja vanzemaljskog života putem analize radio signala.
Kako to funkcioniraOgroman skup podataka dobijenih sa radiotelescopa razbija se na mnogo malih delova, koji se šalju na čvorove grid-sistema (u projektu SETI@home ulogu takvih čvorova igraju računari volontera). Podaci se obrađuju na čvorovima i nakon završetka obrade šalju se na centralni server projekta SETI. Na taj način projekat rešava složen globalni problem, ne posedujući potrebne računarske resurse.
Sada kada imamo jasno razumijevanje što je klaster, razmotrit ćemo kako ga možemo stvoriti i koristiti. Koristit ćemo sustav virtualizacije s otvorenim izvorom .
Posebno je važno prije nego što započnemo s izradom klastera jasno razumjeti ograničenja i sustavne zahtjeve Proxmoxa, a to su:
- maksimalni broj čvorova u klasteru — 32;
- svi čvorovi moraju imati istovjetnu verziju Proxmoxa (ima iznimaka, ali se ne preporučuju za produkciju);
- ako se planira koristiti funkcionalnost visoke dostupnosti, klaster mora sadržavati najmanje 3 čvora;
- za međusobnu komunikaciju čvorova moraju biti otvorene portove UDP/5404, UDP/5405 za corosync i TCP/22 za SSH;
- odgoda u mreži između čvorova ne smije prelaziti 2 ms.
Kreiranje klastera
Važno! Ispod navedena konfiguracija je testna. Ne zaboravite provjeriti sa Proxmox VE.
Kako bismo pokrenuli testni klaster, uzeli smo tri poslužitelja s instaliranim hipervizorom Proxmox iste konfiguracije (2 jezgre, 2 GB RAM-a).
Ako želite saznati kako instalirati Proxmox, preporučamo da pročitate naš prethodni članak — .
Izvorno, nakon instalacije OS-a, jedan poslužitelj radi u Standalone-mode.

Stvorit ćemo klaster pritiskom na gumb Create Cluster u odgovarajućem odjeljku.

Postavljamo ime budućeg klastera i odabiremo aktivnu mrežnu vezu.

Pritisnite gumb Create. Poslužitelj će generirati 2048-bitni ključ i zapisati ga zajedno s parametrima novog klastera u konfiguracijske datoteke.

Natpis ZADATAK OK svjedoči o uspješnom izvođenju operacije. Sada, gledajući opće informacije o sustavu, može se vidjeti da je poslužitelj prešao u klasterski način rada. Za sada klaster se sastoji samo od jednog čvora, što znači da još uvijek nema onih mogućnosti zbog kojih je klaster potreban.

Priključivanje na klaster
Prije nego se povežemo s kreiranim klasterom, trebamo dobiti informacije za izradu veze. Za to ulazimo u odjeljak Klaster i pritisnite tipku Join Information.

U otvorenom prozoru, zanimaju nas sadržaji istoimene kolone. Treba ga kopirati.

Ovdje su kodirani svi potrebni parametri za povezivanje: adresa poslužitelja za povezivanje i digitalni otisak. Prvo se prebacujemo na poslužitelj koji treba biti uključen u klaster. Pritisnemo gumb Pridruži se klasteru i u otvorenom prozoru umetnemo kopirani sadržaj.

Polja Peer adresa i Fingerprint bit će automatski ispunjena. Unosimo root lozinku za čvor broj 1, biramo mrežnu vezu i pritisnemo gumb Pridruži se.

Tijekom pridruživanja klasteru, web stranica GUI možda neće ažurirati. To je normalno, samo osvježite stranicu. Na isti način dodajemo još jedan čvor i na kraju dobivamo potpuno funkcionalan klaster s 3 radna čvora.

Sada možemo kontrolirati sve čvorove klastera iz jednog GUI-a.

Organizacija visoke dostupnosti
Proxmox "iz kutije" podržava funkcionalnost organizacije HA za virtualne strojeve, kao i za LXC kontejnere. Alat ha-manager otkriva i rješava greške i kvarove, provodeći prebacivanje s kvara na aktivni čvor. Da bi mehanizam ispravno radio, virtualni strojevi i kontejneri trebaju imati zajedničku pohranu.
Nakon aktivacije funkcionalnosti visoke dostupnosti, softverski paket ha-manager će kontinuirano pratiti stanje rada virtualnog stroja ili kontejnera i asinkrono komunicirati s drugim čvorovima klastera.
Pridružujemo zajedničku pohranu
Za primjer, postavili smo malu NFS pohranu na adresi 192.168.88.18. Da bi svi čvorovi klastera mogli koristiti ovu pohranu, potrebno je napraviti sljedeće korake.
Biramo u izborniku web sučelja Datacentar — Pohrana — Dodaj — NFS.

Ispunjavamo polja ID i Server. U padajućem popisu Izvesti biramo željenu direktoriju iz dostupnih i u popisu Sadržaj — potrebne vrste podataka. Nakon pritiska na gumb Dodati pohrana će biti povezana sa svim čvorovima klastera.

Prilikom stvaranja virtualnih strojeva i kontejnera na bilo kojem od čvorova, navodimo našu storage kao pohranu.
Postavljamo HA
Za primjer ćemo napraviti kontejner s Ubuntu 18.04 i postaviti visoku dostupnost za njega. Nakon stvaranja i pokretanja kontejnera, idemo na odjeljak Datacentar — HA — Dodaj. U otvorenom polju navodimo ID virtualnog stroja/kontejnera i maksimalni broj pokušaja ponovnog pokretanja i premještanja između čvorova.
Ako pređemo ovu količinu, hipervizor će označiti VM kao neispravnu i prebaciti je u stanje pogreške, nakon čega će prestati izvršavati bilo kakve akcije s njom.

Nakon pritiska na gumb Dodati alat ha-manager obavijestit će sve čvorove klastera da sada VM s navedenim ID-om kontrolira i da se u slučaju pada mora ponovno pokrenuti na drugom čvoru.

Izazvat ćemo grešku
Da bismo vidjeli kako točno funkcionira mehanizam prebacivanja, isključit ćemo node1 od napajanja. Gledamo iz drugog čvora što se događa s klasterom. Vidimo da je sustav zabilježio grešku.

Rad mehanizma HA ne znači neprekidno funkcioniranje VM. Čim node 'padne', rad VM se privremeno zaustavlja do automatskog ponovnog pokretanja na drugom čvoru.
I tu počinje 'magija' — klaster je automatski preusmjerio čvor za izvršavanje naše VM i unutar 120 sekundi rad je automatski obnovljen.

Isključujemo node2 od napajanja. Pogledajmo hoće li klaster izdržati i hoće li se VM automatski vratiti u radno stanje.

Nažalost, kako vidimo, imamo problem s tim da na jedinom preživjelom čvoru više nema kvora, što automatski isključuje rad HA. U konzoli dajemo naredbu za prisilno uspostavljanje kvora.
pvecm očekivao 1 
Nakon 2 minute mehanizam HA je ispravno djelovao i, ne pronašavši node2, pokrenuo našu VM na node3.

Čim smo ponovno uključili node1 i node2, rad klastera je bio potpuno obnovljen. Imajte na umu da VM ne migrira sama natrag na node1, ali to se može učiniti ručno.
Zaključujemo
Ispričali smo vam kako je mehanizam klasterizacije u Proxmoxu osmišljen, kao i kako se HA postavlja za virtualne strojne i kontejnere. Pravilna upotreba klasterizacije i HA značajno povećava pouzdanost infrastrukture, kao i osigurava oporavak nakon grešaka.
Prije nego što stvorite klaster, potrebno je odmah planirati za koje ciljeve će se koristiti i koliko će biti potrebno proširiti ga u budućnosti. Također treba provjeriti mrežnu infrastrukturu da bi bila spremna raditi s minimalnim kašnjenjima, kako bi budući klaster radio bez grešaka.
Recite nam — koristite li mogućnosti klasterizacije u Proxmoxu? Čekamo vaše komentare.
Prethodni članci o hipervizoru Proxmox VE:
Izvor: habr.com
