
Varasemates artikkelides rääkisime Proxmox VE-st ja selle toimimisest. Täna tutvustame, kuidas kasutada klastrimise võimalust ja milliseid eeliseid see pakub.
Mis on klaster ja milleks seda vajatakse? Klaster (inglise keeles cluster) on serverite rühm, mis on ühendatud kiirkontaktide kaudu ja toimib ning esindab end kasutajale kui üks tervik. On mitmeid peamisi kasutusstsenaariume klastrite jaoks:
- Veaparanduse tagamine (Kõrge kättesaadavus).
- Koormuse jaotamine (Koormuse jaotamine).
- Töötasu suurendamine (Kõrge jõudlus).
- Jaotatud arvutuste teostamine (Jaotatud arvutus).
Igal stsenaariumil on oma erilised nõudmised klastrite komponentidele. Näiteks on jaotatud arvutusi tegeva klastrite põhivajadus kõrge arvutuste täitmise kiirus ja madal latentsus. Selliseid klastreid kasutatakse sageli teaduslikel ja uurimistöödel.
Kuna rääkisime jaotatud arvutustest, tasub mainida, et olemas on ka mõisted nagu grid-süsteem (inglise keelest grid — võrk, ruudustik). Vaatamata üldisele sarnasusele ei tohiks segi ajada grid-süsteemi ja klastrit. Grid ei ole klaster tuttavas mõttes. Erinevalt klastrist on grid'i kuuluvad sõlmed tihti mitmekesised ja madala kättesaadavusega. See lähenemine lihtsustab hajutatud arvutuste ülesannete lahendamist, kuid ei võimalda luua sõlmedest ühtset tervikut.
Hea näide grid-süsteemist on populaarne arvutusplatvorm (Berkeley Open Infrastructure for Network Computing). See platvorm loodi algselt projekti (Search for Extra-Terrestrial Intelligence at Home), mis tegeleb välismaalaste intelligentsi otsimise probleemiga, analüüsides raadiolainete signaale.
Kuidas see toimibAinulaadne andmekogum, mis saadakse raadioteleskoopidest, jagatakse paljuski väikesteks tükkideks ja saadetakse grid-süsteemi sõlmedesse (projekti SETI@home puhul toimivad selliste sõlmedena vabatahtlike arvutid). Andmeid töödeldakse sõlmedes ja töötluse lõpus saadetakse need SETI keskserverisse. Nii lahendab projekt keerulise globaalprobleemi, omamata vajalikke arvutusvõimekusi.
Nüüd, kui meil on selge arusaam, mis on klaster, vaatame, kuidas seda luua ja kasutada. Kasutame avatud lähtekoodiga virtualiseerimissüsteemi. .
Eriti oluline on enne klastrite loomist selgelt mõista Proxmoxi piiranguid ja süsteeminõudeid, nimelt:
- klastri maksimaalne sõlmearv on — 32;
- kõik sõlmed peavad omama sama versiooni Proxmox (on erandeid, kuid tootmises ei soovitata neid);
- kui plaanitakse tulevikus kasutada High Availability funktsioone, peab klastris olema vähemalt 3 sõlme.;
- Sõlmede vaheline suhtlemine peab toimuma avatud portide kaudu UDP/5404, UDP/5405 corosynci jaoks ja TCP/22 SSH jaoks;
- sõlmede vahelise võrgu latentsus ei tohi ületada 2 ms..
Klastri loomine
Oluline! Alltoodud konfiguratsioon on testimiseks. Ärge unustage tutvuda Proxmox VE-ga.
Testklastri käivitamiseks kasutasime kolme serverit, kus on paigaldatud sama konfiguratsiooniga Proxmoxi hüperviisor (2 tuuma, 2 GB operatiivmälu).
Kui soovite teada, kuidas Proxmoxi paigaldada, soovitame lugeda meie eelmisi artikleid — .
Alguses, pärast operatsioonisüsteemi installimist, töötab server üksikasjalikult Iseseisev režiim.

Loome klastrit, vajutades nuppu Loo klaster vastavas jaotis.

Määrame tulevase klastrinime ja valime aktiivse võrguühenduse.

Vajutame nuppu Loo. Server genereerib 2048-bitise võtme ja salvestab selle koos uue klastriteavet konfiguratsioonifailidesse.

Kirje TEGEVUS OK tõendab, et toiming on edukalt täidetud. Nüüd, vaadates süsteemi üldinfot, on näha, et server on läinud klastrirežiimi. Praegu koosneb klaster vaid ühest sõlmest, seega ei oma ta veel neid võimalusi, mille jaoks klaster on vajalik.

Liitumine klastriga
Enne, kui saame ühenduda loodud klastriga, peate saama teabe ühenduse loomiseks. Selleks läheme jaotisse Klastri ja vajutame nuppu Liitumise teave.

Avanenud aknas meid huvitab sama nime kande sisu. See tuleb kopeerida.

Siin on kõik vajalikud ühendusparameetrid: serveri aadress ühendamiseks ja digitaalne sõrmjälg. Liigume serverisse, mille tuleb lisada klastrisse. Vajutame nuppu Liitu klastriga ja avanemas aknas kleepime kopeeritud sisu.

Muutujad Kaaslase aadress ja Sõrmjälg täidetakse automaatselt. Sisestame root-parooli sõlme number 1, valime võrguühenduse ja vajutame nuppu Liitu.

Klastriga liitumise käigus võib veebilehe GUI värskendamine peatuda. See on normaalne, lihtsalt värskendame lehte. Samamoodi lisame teise sõlme ja lõpuks saame täieliku klastrina 3 töötavat sõlme.

Nüüd saame hallata kõiki klastris olevaid sõlmi ühest GUI-st.

Tippkättesaadavuse korraldamine
Proxmox toetab „kastist väljas” HA funktsionaalsust nii virtuaalmasinate kui ka LXC-konteinerite jaoks. Utiliit ha-manager tuvastab ja lahendab tõrked ja rikete, viies tõrkuvale sõlmele üle töövahetusele. Et mehhanism toimiks õigesti, peavad virtuaalmasinad ja konteinerid omama ühist failide salvestusruumi.
Pärast High Availability funktsiooni aktiveerimist hakkab ha-manager tarkvarakiht pidevalt jälgima virtuaalmasina või konteineri tööseisundit ja asünkroonselt suhtlema teiste klastrinoodidega.
Liidame ühise salvestustoa
Näiteks oleme seadnud üles väikese NFS failisalvestuse aadressile 192.168.88.18. Et kõik klastrinoodid saaksid seda kasutada, tuleb teha järgmised toimingud.
Valime veebiliidese menüüst Datacenter — Storage — Add — NFS.

Täidame väljad ID ja Server. Rippmenüüs Export valime vajalikud kataloogid ja loendis Content — vajalikud andmetüübid. Nupule vajutades Lisa salvestus ühendatakse kõigi klastrinoodidega.

Virtuaalmasinate ja konteinerite loomisel mõnesugustest sõlmedest määrame meie storage salvestusteks.
Seame üles HA
Näiteks loome konteineri Ubuntu 18.04 ja seadistame selle High Availability. Pärast konteineri loomist ja käivitamist siseneme jaotisse Datacenter — HA — Add. Avanevas väljades määrame virtuaalmasina/konteineri ID ja maksimaalse restardi ja liikumise katsete arvu nootide vahel.
Kui see hulk ületatakse, märgib hyperviisor VM-i kui tõrget ja viib selle olekusse Error, mille järel lõpetatakse igasuguste toimingute tegemine sellega.

Pärast nuppu vajutamist Lisa utiliit ha-manager teavitab kõiki klastrinode, et nüüd juhitakse VM-i, millel on antud ID, ja kui see langeb, tuleb see käivitada teisel nodil.

Loome tõrke
Et näha, kuidas vahetusmehhanism töötab, lülitame node1 ootamatult välja. Vaatame teiselt nodilt, mis toimub klastriga. Näeme, et süsteem on tõrke registreerinud.

HA mehhanismi toimimine ei tähenda VM-i katkematut tööd. Kui node "langes", peatatakse VM-i töö ajutiselt, kuni see automaatselt taaskäivitub teisel nodil.
Ja siin algab "maagia" — klaster määras automaatselt teise node meie VM-i täitmiseks ja töö taastati automaatselt 120 sekundi jooksul.

Lülitame node2 välja. Vaata, kas klaster suudab seda taluda ja kas VM tagastatakse automaatselt töökorda.

Kahjuks näeme, et meil on tekkinud probleem sellega, et ainuses elusolev node ei oma enam kvoorumit, mis automaatselt peatab HA töö. Anname konsoolis käsu kvoorumi jõustamiseks.
pvecm ootas 1 
Kaks minutit hiljem töötas HA mehhanism õigesti ja, leides node2, käivitas meie VM node3 peal.

Niipea kui lülitasime tagasi node1 ja node2, taastati klaster täielikult. Pange tähele, et VM node1-le automaatselt ei migreeru, kuid seda saab teha käsitsi.
Teeme kokkuvõtteid
Rääkisime teile, kuidas Proxmoxi klasterdamismehhanism töötab, ja näitasime, kuidas seadistada HA virtuaalmasinate ja konteinerite jaoks. Korralik klasterdamise ja HA kasutamine suurendab oluliselt infrastruktuuri usaldusväärsust ning tagab tõrkejärgse taastumise.
Enne klastrite loomist tuleb kohe planeerida, millistel eesmärkidel see kasutatakse ja kui palju seda tulevikus skaleerida. Samuti tuleb kontrollida võrginfra valmisolekut töötamiseks minimaalse latentsusega, et tulevane klaster töötaks probleemideta.
Rääkige meile — kas kasutate Proxmoxis klasterdamise võimalusi? Ootame teie kommentaare.
Eelnevad artiklid Proxmox VE hüperviisorist:
Allikas: habr.com
