
Iepriekšējās rakstās mēs sākām stāstīt par to, kas ir Proxmox VE un kā tas darbojas. Šodien mēs pastāstīsim par to, kā var izmantot klasterizācijas iespēju un parādīsim, kādas priekšrocības tā sniedz.
Kas tad ir klasteris un kādam tam vajadzētu būt? Klasteris (no angļu valodas cluster) — tas ir serveru kopums, kas apvienots ar ātriem sakaru kanāliem un darbojās un tiek lietotājam prezentēts kā viena vienība. Ir vairāki galvenie klastera izmantošanas scenāriji:
- Izpildes uzticamības nodrošināšana (Augsta pieejamība).
- Slodzes līdzsvarošana (Slodzes balansēšana).
- Veiktspējas paaugstināšana (Augsta veiktspēja).
- Izpildīt sadalītas aprēķinus (Sadalīto aprēķinu).
Katram scenārijam ir savas prasības attiecībā uz klastera komponentiem. Piemēram, klasterim, kas veic sadalītos aprēķinus, galvenā prasība ir liela ātrums ar mainīgo komatu operācijām un zema tīkla latentums. Tādas klasteris bieži tiek izmantotas zinātniskos pētījumos.
Ja mēs esam pieskārušies sadalīto aprēķinu tēmai, ir vērts pieminēt tādu jēdzienu kā grid-sistēma (no angļu valodas grid — režģis, tīkls). Neskatoties uz vispārējo līdzību, nevajadzētu sajaukt grid-sistēmu ar klasteri. Grid nav klasteris parastajā izpratnē. Atšķirībā no klastera, grid mezgli visbiežāk ir heterogēni un atšķiras ar zemu pieejamību. Šāds pieejas veids atvieglo sadalīto aprēķinu uzdevumu risināšanu, bet neļauj izveidot no mezgla vienotu veselu.
Spiestams grid-sistēmas piemērs ir populāra aprēķinu platforma (Berkeley Open Infrastructure for Network Computing). Šī platforma sākotnēji tika izveidota projektam (Search for Extra-Terrestrial Intelligence at Home), kas nodarbojas ar jautājumu par citplanētiešu intelekta meklēšanu, analizējot radioviļņu signālus.
Efemerāli vispārējie mākonīšiMilzīgs datu kopums, kas iegūts no radioteleskopiem, tiek sadalīts daudzu mazu fragmentu, un tie tiek nosūtīti uz grid-sistēmas mezgliem (projektā SETI@home šādu mezglu lomu spēlē brīvprātīgo datoru). Dati tiek apstrādāti mezglos un, pabeidzot apstrādi, tiek nosūtīti uz centra serveri projekta SETI. Tādējādi projekts risina sarežģītu globālu uzdevumu, neiegūstot nepieciešamās aprēķinu jaudas.
Tagad, kad mums ir skaidra izpratne par to, kas ir klasteris, piedāvājam apskatīt, kā to izveidot un izmantot. Mēs izmantosim atvērtā koda virtualizācijas sistēmu. .
Īpaši svarīgi pirms klastera izveides ir skaidri saprast Proxmox ierobežojumus un sistēmas prasības, proti:
- maksimālais mezglu skaits klasterī — 32;
- visiem mezgliem jābūt vienādai Proxmox versijai (ir izņēmumi, bet ražošanas vidē tie nav ieteicami);
- ja turpmāk plānots izmantot High Availability funkcionalitāti, tad klasterī jābūt vismaz 3 mezgliem;
- mezglu savstarpējai saziņai jābūt atvērtām portiem UDP/5404, UDP/5405 corosync un TCP/22 SSH;
- aizture tīklā starp mezgliem nedrīkst pārsniegt 2 ms.
Klastra izveide
Svarīgi! Zemāk norādītā konfigurācija ir testēšanas. Neaizmirstiet pārbaudīt ar Proxmox VE.
Lai uzsāktu testējošo klasteri, mēs paņēmām trīs serverus ar instalētu Proxmox hipervizoru, kas ir vienādas konfigurācijas (2 kodoli, 2 GB operatīvās atmiņas).
Ja vēlaties uzzināt, kā var instalēt Proxmox, iesakām izlasīt mūsu iepriekšējo rakstu — .
Sākotnēji, pēc OS instalācijas, vienotais serveris darbojas Standalone-mode.

Izveidosim klasteri, nospiežot pogu Create Cluster attiecīgajā sadaļā.

Norādām nākamā klastera nosaukumu un izvēlamies aktīvo tīkla savienojumu.

Nospiežam pogu Create. Serveris ģenerēs 2048 bitu atslēgu un ierakstīs to kopā ar jaunā klastera parametriem konfigurācijas failos.

Uzraksts TASK OK apliecina, ka operācija veikta veiksmīgi. Tagad, aplūkojot vispārējo informāciju par sistēmu, redzams, ka serveris ir pārgājis uz klastera režīmu. Pagājis, klasteris sastāv tikai no viena mezgla, tas nozīmē, ka tam vēl nav to iespēju, dēļ kuriem nepieciešams klasteris.

Pievienošana klasterim
Pirms pievienošanās izveidotajam klasterim, mums ir nepieciešams iegūt informāciju, lai veiktu pieslēgšanos. Tāpēc ejam sadaļā Klasteris and press the button Join Information.

Atvērtajā logā mūs interesē šī paša nosaukuma lauku saturs. To nepieciešams nokopēt.

Šeit ir kodēti visi nepieciešamie savienojuma parametri: servera adrese savienojumam un ciparu pirksta nospiedums. Pārejam uz serveri, kas jāiekļauj klasterī. Noklikšķinām uz pogas Pievienoties klasterim un atvērtajā logā ielīmējiet nokopēto saturu.

Lauki Partnera adrese un Fingerprint tiks automātiski aizpildīti. Ievadām root paroli no 1. mezgla, izvēlamies tīkla savienojumu un nospiežam pogu Pievienoties.

Pievienojot klasterim, GUI tīmekļa lapa var pārstāt atjaunoties. Tas ir normāli, vienkārši atsvaidziniet lapu. Tieši tādā pašā veidā pievienojam vēl vienu mezglu un galu galā iegūstam pilnvērtīgu klasteri no 3 strādājošiem mezgliem.

Tagad mēs varam kontrolēt visus klastera mezglus no viena GUI.

Augstas pieejamības organizēšana
Proxmox „no kastes” atbalsta HA organizēšanas funkcionalitāti gan virtuālajām mašīnām, gan LXC konteineriem. Rīks ha-manager izsaka un apstrādā kļūdas un atteikumus, veicot avārijas pārslēgšanos no neizdevušā mezgla uz strādājošo. Lai mehānisms darbotos pareizi, ir nepieciešams, lai virtuālajām mašīnām un konteineriem būtu kopīgs failu krātuves avots.
Pēc augstas pieejamības funkcionalitātes aktivizēšanas, ha-manager programmatūras komplekts nepārtraukti uzraudzīs virtuālās mašīnas vai konteineru darbības stāvokli un asinkroni sadarbojoties ar citiem klastera mezgliem.
Pievienojam kopējo krātuvi
Piemēram, mēs esam izveidojuši nelielu NFS failu krātuvi adresē 192.168.88.18. Lai visi klastera mezgli varētu to izmantot, ir jāveic šādas darbības.
Izvēlamies tīmekļa saskarnes izvēlnē Datacentrs — Krātuve — Pievienot — NFS.

Aizpildām laukus ID un Serveris. Izvēlnes sarakstā Eksports izvēlieties nepieciešamo direktoriju no pieejamām un sarakstā Saturs — nepieciešamie datu tipi. Pēc pogas nospiešanas Pievienot krātuve tiks pieslēgta visiem klastera mezgliem.

Veidojot virtuālās mašīnas un konteinerus jebkurā no mezgliem, norādām mūsu glabātuve kā krātuvi.
Iestatām HA
Piemēram, izveidosim konteineru ar Ubuntu 18.04 un iestatīsim tam augsto pieejamību. Pēc konteineru izveidošanas un palaišanas ieejam sadaļā Datacentrs — HA — Pievienot. Atvērtajā laukā norādām virtuālās mašīnas/konteinera ID un maksimālo mēģinājumu skaitu restartēšanai un pārvietošanai starp mezgliem.
Ja, ja skaits tiks pārsniegts, hipervizors atzīs VM par izgāzušos un pārvietos to kļūdas stāvoklī, pēc tam pārtrauks ar to veikt jebkādas darbības.

Pēc pogas nospiešanas Pievienot rīks ha-manager informēs visas klastera mezglus par to, ka tagad VM ar norādīto ID tiek kontrolēta, un, ja tā sabruks, to būs nepieciešams restartēt citā mezglā.

Izraisīsim izgāšanos
Lai redzētu, kā tieši darbojas pārslēgšanas mehānisms, izslēgsim node1 strāvas padevi. Apskatīsim no cita mezgla, kas notiek ar klasteri. Redzam, ka sistēma ir fiksējusi izgāšanos.

HA mehānisma darbība nenozīmē VM nepārtrauktību. Tiklīdz mezgls ir "kritis", VM darbība uz laiku apstājas līdz automātiskajai restartēšanai citā mezglā.
Un te sākas "maģija" — klasteris automātiski piešķīra mezglu mūsu VM izpildei, un 120 sekunžu laikā darbība tika automātiski atjaunota.

Izslēgsim node2 strāvas padevi. Apskatīsim, vai klasteris to izturēs un vai VM automātiski atgriezīsies darbībā.

Diemžēl, kā redzam, mums radās problēma ar to, ka vienīgajā palikušajā mezglā vairs nav kvoruma, kas automātiski izslēdz HA darbību. Konsolē izpildām komandu, lai piespiedu kārtā noteiktu kvorumu.
pvecm gaidīja 1 
Pusstundas laikā HA mehānisms strādāja pareizi un, neatrodot node2, palaida mūsu VM uz node3.

Tiklīdz mēs atkal ieslēdzām node1 un node2, klastera darbība tika pilnībā atjaunota. Lūdzu, ņemiet vērā, ka VM automātiski nemigrē atpakaļ uz node1, bet to var izdarīt manuāli.
Noslēdzot
Mēs pastāstījām jums par to, kā darbojas klasterizācijas mehānisms Proxmox, un parādījām, kā iestatīt HA virtuālām mašīnām un konteineriem. Pareiza klasterizācijas un HA izmantošana ievērojami palielina infrastruktūras uzticamību un nodrošina atjaunošanu pēc kļūmēm.
Pirms klastera izveides ir jāplāno, kādam nolūkam tas tiks izmantots un cik daudz to vajadzēs nākotnē paplašināt. Tāpat ir jānoskaidro tīkla infrastruktūras gatavība darbam ar minimālu aizturi, lai nākotnes klasteris darbotos bez neveiksmēm.
Pastāstiet mums — vai jūs izmantojat klasterizācijas iespējas Proxmox? Gaidām jūsu komentāros.
Iepriekšējie raksti par hipervizoru Proxmox VE:
Avots: habr.com
