Clustering în Proxmox VE

Clustering în Proxmox VE

În articolele anterioare, am început să vorbim despre ce este Proxmox VE și cum funcționează. Astăzi vom vorbi despre cum puteți folosi posibilitatea de grupare și vom arăta ce beneficii oferă.

Ce este un cluster și de ce este necesar? Un cluster (din clusterul englezesc) este un grup de servere unite prin canale de comunicare de mare viteză, care funcționează și apar utilizatorului ca un întreg. Există mai multe scenarii principale pentru utilizarea unui cluster:

  • Oferă toleranță la erori (Valabilitate ridicată).
  • Echilibrarea sarcinii (Echilibrarea sarcinii).
  • Creșterea productivității (performanta ridicata).
  • Efectuarea de calcul distribuit (Calcul distribuit).

Fiecare scenariu are propriile cerințe pentru membrii clusterului. De exemplu, pentru un cluster care efectuează calcul distribuit, principala cerință este viteza mare a operațiunilor în virgulă mobilă și latența redusă a rețelei. Astfel de grupuri sunt adesea folosite în scopuri de cercetare.

Deoarece am atins subiectul calculului distribuit, aș dori să remarc că există și așa ceva ca sistem grilă (din grila engleză - lattice, network). În ciuda asemănării generale, nu confundați sistemul de grilă și clusterul. Grid nu este un cluster în sensul obișnuit. Spre deosebire de un cluster, nodurile incluse în grilă sunt cel mai adesea eterogene și se caracterizează prin disponibilitate scăzută. Această abordare simplifică rezolvarea problemelor de calcul distribuit, dar nu permite crearea unui singur întreg din noduri.

Un exemplu izbitor de sistem grid este o platformă de calcul populară BOIN (Berkeley Open Infrastructure for Network Computing). Această platformă a fost creată inițial pentru proiect SETI @ home (Search for Extra-Terrestrial Intelligence at Home), care tratează problema găsirii inteligenței extraterestre prin analiza semnalelor radio.

Cum funcționeazăO gamă uriașă de date primite de la radiotelescoape este ruptă în multe bucăți mici, iar acestea sunt trimise la nodurile sistemului de rețea (în proiectul SETI@home, computerele voluntare joacă rolul unor astfel de noduri). Datele sunt procesate la noduri și după finalizarea procesării, sunt trimise către serverul central al proiectului SETI. Astfel, proiectul rezolvă cea mai complexă problemă globală fără a avea la dispoziție puterea de calcul necesară.

Acum că avem o înțelegere clară a ceea ce este un cluster, ne propunem să luăm în considerare modul în care poate fi creat și utilizat. Vom folosi un sistem de virtualizare open source Proxmox VE.

Este deosebit de important să înțelegeți clar limitările și cerințele de sistem ale Proxmox înainte de a începe să creați un cluster, și anume:

  • numărul maxim de noduri într-un cluster - 32;
  • toate nodurile trebuie să aibă aceeași versiune a Proxmox (există excepții, dar nu sunt recomandate pentru producție);
  • dacă în viitor se plănuiește să folosească funcționalitatea High Availability, atunci clusterul ar trebui să aibă cel putin 3 noduri;
  • porturile trebuie să fie deschise pentru ca nodurile să comunice între ele UDP/5404, UDP/5405 pentru corosync și TCP / 22 pentru SSH;
  • întârzierea rețelei între noduri nu trebuie să depășească 2 ms.

Creați un cluster

Important! Următoarea configurație este una de testare. Nu uitați să verificați cu documentație oficială Proxmox V.E.

Pentru a rula un cluster de testare, am luat trei servere cu hypervisorul Proxmox instalat cu aceeași configurație (2 nuclee, 2 GB RAM).

Dacă doriți să știți cum puteți instala Proxmox, atunci vă recomandăm să citiți articolul nostru anterior - Magia virtualizării: un curs introductiv în Proxmox VE.

Inițial, după instalarea sistemului de operare, rulează un singur server modul de sine stătător.

Clustering în Proxmox VE
Creați un cluster făcând clic pe butonul Creați un cluster în secțiunea relevantă.

Clustering în Proxmox VE
Setăm un nume pentru viitorul cluster și selectăm o conexiune de rețea activă.

Clustering în Proxmox VE
Faceți clic pe butonul Creați. Serverul va genera o cheie de 2048 de biți și o va scrie împreună cu parametrii noului cluster în fișierele de configurare.

Clustering în Proxmox VE
inscripție SARCINA OK indică finalizarea cu succes a operațiunii. Acum, privind informațiile generale despre sistem, se poate observa că serverul a trecut în modul cluster. Până acum, clusterul este format dintr-un singur nod, adică nu are încă capabilitățile pentru care este nevoie de un cluster.

Clustering în Proxmox VE

Aderarea la un Cluster

Înainte de a ne conecta la clusterul creat, trebuie să obținem informații pentru a finaliza conexiunea. Pentru a face acest lucru, accesați secțiunea Grup și apăsați butonul Informații de alăturare.

Clustering în Proxmox VE
În fereastra care se deschide, ne interesează conținutul câmpului cu același nume. Va trebui copiat.

Clustering în Proxmox VE
Aici sunt codificați toți parametrii necesari de conectare: adresa serverului pentru conectare și amprenta digitală. Mergem la serverul care trebuie inclus în cluster. Apăsăm butonul Alăturați-vă Clusterului iar în fereastra care se deschide, lipiți conținutul copiat.

Clustering în Proxmox VE
domenii Adresa de la egal la egal и amprentă digitală vor fi completate automat. Introduceți parola rădăcină pentru nodul numărul 1, selectați conexiunea la rețea și apăsați butonul Alatura-te.

Clustering în Proxmox VE
În timpul procesului de aderare la un cluster, pagina web GUI poate opri actualizarea. E ok, doar reîncarcă pagina. Exact în același mod, adăugăm un alt nod și, ca rezultat, obținem un cluster cu drepturi depline de 3 noduri de lucru.

Clustering în Proxmox VE
Acum putem controla toate nodurile cluster dintr-o singură GUI.

Clustering în Proxmox VE

Organizație de înaltă disponibilitate

Proxmox ofertă din cutie acceptă funcționalitatea de organizare HA atât pentru mașinile virtuale, cât și pentru containerele LXC. Utilitate ha-manager detectează și gestionează erorile și defecțiunile, efectuând o transferare de la un nod eșuat la unul funcțional. Pentru ca mecanismul să funcționeze corect, este necesar ca mașinile virtuale și containerele să aibă o stocare comună a fișierelor.

După activarea funcționalității de înaltă disponibilitate, stiva software ha-manager va monitoriza continuu starea mașinii virtuale sau a containerului și va interacționa asincron cu alte noduri de cluster.

Atașarea spațiului de stocare partajat

De exemplu, am implementat o mică partajare de fișiere NFS la 192.168.88.18. Pentru ca toate nodurile clusterului să-l poată folosi, trebuie să faceți următoarele manipulări.

Selectați din meniul interfeței web Centru de date - Stocare - Adăugați - NFS.

Clustering în Proxmox VE
Completați câmpurile ID и server de. În lista drop-down Export selectați directorul dorit din cele disponibile și din listă Conţinut — tipuri de date necesare. După apăsarea butonului Adăuga stocarea va fi conectată la toate nodurile clusterului.

Clustering în Proxmox VE
Când creăm mașini virtuale și containere pe oricare dintre noduri, specificăm nostru depozitare ca depozitare.

Configurarea HA

De exemplu, să creăm un container cu Ubuntu 18.04 și să configuram High Availability pentru acesta. După crearea și rularea containerului, accesați secțiunea Datacenter-HA-Add. În câmpul care se deschide, specificați ID-ul mașinii virtuale/containerului și numărul maxim de încercări de repornire și deplasare între noduri.

Dacă acest număr este depășit, hypervisorul va marca VM-ul ca eșuat și îl va pune în starea Eroare, după care va înceta să mai efectueze orice acțiune cu acesta.

Clustering în Proxmox VE
După apăsarea butonului Adăuga utilitate ha-manager va notifica toate nodurile clusterului că acum VM-ul cu ID-ul specificat este controlat și în caz de blocare trebuie repornit pe un alt nod.

Clustering în Proxmox VE

Să facem un accident

Pentru a vedea cum funcționează exact mecanismul de comutare, să oprim sursa de alimentare a nodului 1 în mod anormal. Privim din alt nod ce se întâmplă cu clusterul. Vedem că sistemul a remediat o defecțiune.

Clustering în Proxmox VE

Funcționarea mecanismului HA nu înseamnă continuitatea VM. De îndată ce nodul „cade”, operația VM este oprită temporar până când este repornită automat pe alt nod.

Și aici începe „magia” - clusterul a reatribuit automat nodul pentru a rula VM-ul nostru și în 120 de secunde, munca a fost restabilită automat.

Clustering în Proxmox VE
Stingem nodul 2 pe nutriție. Să vedem dacă clusterul va supraviețui și dacă VM-ul va reveni automat la starea de lucru.

Clustering în Proxmox VE
Din păcate, după cum putem vedea, avem o problemă cu faptul că nu mai există cvorum pe singurul nod care a supraviețuit, care dezactivează automat HA. Dăm comanda de a forța instalarea unui cvorum în consolă.

pvecm expected 1

Clustering în Proxmox VE
După 2 minute, mecanismul HA a funcționat corect și, negăsind nodul 2, a lansat VM-ul nostru pe nodul 3.

Clustering în Proxmox VE
De îndată ce am reactivat nodul 1 și nodul 2, clusterul a fost complet restaurat. Vă rugăm să rețineți că VM nu migrează singur înapoi la nodul 1, dar acest lucru se poate face manual.

Rezumând

V-am spus despre cum funcționează mecanismul de clustering Proxmox și, de asemenea, v-am arătat cum este configurat HA pentru mașinile virtuale și containere. Utilizarea corectă a clusterizării și a HA mărește foarte mult fiabilitatea infrastructurii, precum și asigurarea recuperării în caz de dezastru.

Înainte de a crea un cluster, trebuie să planificați imediat în ce scopuri va fi utilizat și cât de mult va trebui să fie scalat în viitor. De asemenea, trebuie să verificați infrastructura de rețea dacă este pregătită să funcționeze cu întârzieri minime, astfel încât viitorul cluster să funcționeze fără eșecuri.

Spune-ne - folosești capabilitățile de clustering ale Proxmox? Vă așteptăm în comentarii.

Articole anterioare despre hypervisorul Proxmox VE:

Sursa: www.habr.com

Adauga un comentariu