Klastriranje u Proxmox VE.

Klastriranje u Proxmox VE.

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 BOINC (Berkeley Open Infrastructure for Network Computing). Ova platforma je prvobitno kreirana za projekat SETI@home (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 Proxmox VE.

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 službenom dokumentacijom 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 — Magija virtualizacije: uvod u Proxmox VE.

Izvorno, nakon instalacije OS-a, jedan poslužitelj radi u Standalone-mode.

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

Klastriranje u Proxmox VE.
Postavljamo ime budućeg klastera i odabiremo aktivnu mrežnu vezu.

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

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.

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.

Klastriranje u Proxmox VE.
U otvorenom prozoru, zanimaju nas sadržaji istoimene kolone. Treba ga kopirati.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.
Sada možemo kontrolirati sve čvorove klastera iz jednog GUI-a.

Klastriranje u Proxmox VE.

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.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.
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.

Klastriranje u Proxmox VE.

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.

Klastriranje u Proxmox VE.

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.

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

Klastriranje u Proxmox VE.
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

Klastriranje u Proxmox VE.
Nakon 2 minute mehanizam HA je ispravno djelovao i, ne pronašavši node2, pokrenuo našu VM na node3.

Klastriranje u Proxmox VE.
Č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

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster