U prošlim člancima smo počeli da pričamo o tome šta je Proxmox VE i kako funkcioniše. Danas ćemo govoriti o tome kako možete iskoristiti mogućnost klasteriranja i pokazati koje prednosti ona daje.
Šta je klaster i zašto je potreban? Klaster (od engleskog cluster) je grupa servera ujedinjenih brzim komunikacijskim kanalima, koji rade i izgledaju korisniku kao jedinstvena cjelina. Postoji nekoliko glavnih scenarija za korištenje klastera:
Svaki scenario ima svoje zahtjeve za članove klastera. Na primjer, za klaster koji izvodi distribuirano računanje, glavni zahtjev je velika brzina operacija s pomičnim zarezom i nisko kašnjenje mreže. Takvi se klasteri često koriste u istraživačke svrhe.
Pošto smo se dotakli teme distribuiranog računarstva, želeo bih da napomenem da postoji i nešto kao što je mrežni sistem (od engleskog grid - rešetka, mreža). Uprkos opštoj sličnosti, nemojte brkati mrežni sistem i klaster. Mreža nije klaster u uobičajenom smislu. Za razliku od klastera, čvorovi uključeni u mrežu su najčešće heterogeni i karakteriziraju ih niska dostupnost. Ovaj pristup pojednostavljuje rješavanje problema distribuiranog računarstva, ali ne dozvoljava stvaranje jedne cjeline od čvorova.
Upečatljiv primjer grid sistema je popularna računarska platforma BOIN (Otvorena infrastruktura Berklija za mrežno računarstvo). Ova platforma je prvobitno kreirana za projekat SETI @ home (Search for Extra-Terrestrial Intelligence at Home), koji se bavi problemom pronalaženja vanzemaljske inteligencije analizom radio signala.
Kako ovo radiOgroman niz podataka primljenih od radio-teleskopa razbije se na mnogo malih komada, i oni se šalju u čvorove grid sistema (u projektu SETI@home ulogu takvih čvorova imaju volonterski računari). Podaci se obrađuju na čvorovima i nakon završene obrade šalju se na centralni server SETI projekta. Dakle, projekat rješava najsloženiji globalni problem, a da ne raspolaže potrebnom računarskom snagom.
Sada kada imamo jasno razumijevanje o tome šta je klaster, predlažemo da razmotrimo kako se može kreirati i koristiti. Koristićemo sistem virtuelizacije otvorenog koda Proxmox VE.
Posebno je važno jasno razumjeti ograničenja i sistemske zahtjeve Proxmox-a prije nego počnete kreirati klaster, a to su:
maksimalan broj čvorova u klasteru - 32;
svi čvorovi moraju imati ista verzija Proxmoxa (postoje izuzeci, ali se ne preporučuju za proizvodnju);
ako se u budućnosti planira korištenje funkcije visoke dostupnosti, tada bi klaster trebao imati najmanje 3 čvora;
portovi moraju biti otvoreni da bi čvorovi mogli međusobno komunicirati UDP/5404, UDP/5405 za korosinhronizaciju i TCP/22 za SSH;
kašnjenje mreže između čvorova ne bi trebalo da prelazi 2 ms.
Kreirajte klaster
Bitan! Sljedeća konfiguracija je testna. Ne zaboravite provjeriti kod službena dokumentacija Proxmox V.E.
Za pokretanje testnog klastera uzeli smo tri servera sa instaliranim Proxmox hipervizorom iste konfiguracije (2 jezgra, 2 GB RAM-a).
U početku, nakon instaliranja OS-a, pokreće se jedan server samostalni način rada.
Kreirajte klaster klikom na dugme Kreiraj klaster u relevantnom odjeljku.
Postavljamo ime za budući klaster i biramo aktivnu mrežnu vezu.
Kliknite na dugme Kreiraj. Server će generirati 2048-bitni ključ i upisati ga, zajedno s parametrima novog klastera, u konfiguracijske datoteke.
Caption ZADATAK OK označava uspješan završetak operacije. Sada, gledajući opšte informacije o sistemu, može se videti da je server prešao u klaster režim. Do sada se klaster sastoji od samo jednog čvora, odnosno još nema mogućnosti za koje je klaster potreban.
Pridruživanje klasteru
Prije povezivanja na kreirani klaster, moramo dobiti informacije za završetak povezivanja. Da biste to učinili, idite na odjeljak jato i nazimaem dugme Pridružite se informacijama.
U prozoru koji se otvori zanima nas sadržaj istoimenog polja. Trebaće ga kopirati.
Ovdje su kodirani svi potrebni parametri veze: adresa servera za povezivanje i digitalni otisak prsta. Idemo na server koji treba da bude uključen u klaster. Pritisnemo dugme Pridružite se klasteru i u prozoru koji se otvori zalijepite kopirani sadržaj.
polja Peer adresa и otisak prsta će se popuniti automatski. Unesite root lozinku za čvor broj 1, odaberite mrežnu vezu i pritisnite dugme pristupiti.
Tokom procesa pridruživanja klasteru, GUI web stranica može prestati da se ažurira. U redu je, samo ponovo 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 kontrolisati sve čvorove klastera iz jednog GUI.
Organizacija visoke dostupnosti
Proxmox iz kutije podržava funkcionalnost HA organizacije i za virtuelne mašine i za LXC kontejnere. Utility ha-menadžer detektuje i obrađuje greške i kvarove, izvodeći prelazak na grešku sa neuspjelog čvora na radni. Da bi mehanizam ispravno funkcionisao, neophodno je da virtuelne mašine i kontejneri imaju zajedničko skladište datoteka.
Nakon aktiviranja funkcionalnosti visoke dostupnosti, softverski stog ha-manager će kontinuirano pratiti stanje virtuelne mašine ili kontejnera i asinhrono će stupiti u interakciju sa drugim čvorovima klastera.
Priključivanje dijeljene pohrane
Kao primjer, postavili smo mali NFS deljeni fajl na 192.168.88.18. Da bi svi čvorovi klastera mogli da ga koriste, potrebno je da uradite sledeće manipulacije.
Odaberite iz menija web interfejsa Datacenter - Storage - Add - NFS.
Popunite polja ID и server. U padajućoj listi izvoz izaberite željeni imenik iz dostupnih i na listi sadržaj — potrebne vrste podataka. Nakon pritiska na dugme dodati skladište će biti povezano sa svim čvorovima klastera.
Kada kreiramo virtuelne mašine i kontejnere na bilo kom od čvorova, specificiramo naše skladištenje kao skladište.
Postavljanje HA
Na primjer, hajde da kreiramo kontejner sa Ubuntu 18.04 i konfigurišemo visoku dostupnost za njega. Nakon kreiranja i pokretanja kontejnera, idite na odjeljak Datacenter-HA-Add. U polju koje se otvori navedite ID virtuelne mašine/kontejnera i maksimalan broj pokušaja ponovnog pokretanja i kretanja između čvorova.
Ako je ovaj broj prekoračen, hipervizor će označiti VM kao neuspješan i staviti ga u stanje Error, nakon čega će prestati obavljati bilo kakve radnje s njim.
Nakon pritiska na dugme dodati korisnost ha-menadžer će obavijestiti sve čvorove klastera da je sada VM sa navedenim ID-om kontroliran i u slučaju pada mora se ponovo pokrenuti na drugom čvoru.
Hajde da napravimo sudar
Da vidimo kako tačno funkcioniše mehanizam za prebacivanje, hajde da nenormalno isključimo napajanje čvora 1. Gledamo sa drugog čvora šta se dešava sa klasterom. Vidimo da je sistem otklonio kvar.
Rad HA mehanizma ne znači kontinuitet VM. Čim čvor "padne", VM operacija se privremeno zaustavlja dok se automatski ne pokrene na drugom čvoru.
I tu počinje “magija” - klaster je automatski preraspodijelio čvor za pokretanje našeg VM-a i u roku od 120 sekundi rad je automatski vraćen.
Gasimo node2 na ishrani. Hajde da vidimo da li će klaster preživeti i da li će se VM automatski vratiti u radno stanje.
Avaj, kao što vidimo, imamo problem sa činjenicom da više nema kvoruma na jedinom preživjelom čvoru, što automatski onemogućava HA. Dajemo naredbu za prisilno instaliranje kvoruma u konzoli.
pvecm expected 1
Nakon 2 minute, HA mehanizam je radio ispravno i, ne pronalazeći čvor 2, pokrenuo je naš VM na čvoru 3.
Čim smo ponovo uključili čvor 1 i čvor 2, klaster je u potpunosti vraćen. Imajte na umu da se VM ne migrira nazad na node1 sam, ali to se može uraditi ručno.
Sumiranje
Rekli smo vam kako funkcioniše Proxmox mehanizam za klasterisanje, a takođe smo vam pokazali kako je HA konfigurisan za virtuelne mašine i kontejnere. Pravilna upotreba klasteriranja i HA uvelike povećava pouzdanost infrastrukture, kao i omogućava oporavak od katastrofe.
Prije kreiranja klastera morate odmah planirati u koje svrhe će se 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.