Varasemates artiklites hakkasime rääkima sellest, mis on Proxmox VE ja kuidas see töötab. Täna räägime sellest, kuidas kasutada klasterdamise võimalust ja näitame, mis kasu see annab.
Mis on klaster ja miks seda vaja on? Klaster (inglise keelest cluster) on serverite rühm, mida ühendavad kiired sidekanalid, mis töötavad ja näivad kasutajale ühtse tervikuna. Klastri kasutamiseks on mitu peamist stsenaariumi:
Igal stsenaariumil on klastri liikmetele oma nõuded. Näiteks hajutatud andmetöötlust teostava klastri puhul on põhinõue ujukomaoperatsioonide suur kiirus ja madal võrgu latentsusaeg. Selliseid klastreid kasutatakse sageli uurimiseesmärkidel.
Kuna oleme puudutanud hajutatud andmetöötluse teemat, siis märgin, et on olemas ka selline asi nagu võrgusüsteem (inglise keelest - võre, võrk). Vaatamata üldisele sarnasusele, ärge ajage võrgusüsteemi ja klastrit segamini. Grid ei ole klaster selle tavapärases tähenduses. Erinevalt klastrist on võrgustikus olevad sõlmed enamasti heterogeensed ja neid iseloomustab madal kättesaadavus. Selline lähenemine lihtsustab hajutatud andmetöötluse probleemide lahendamist, kuid ei võimalda sõlmedest ühtset tervikut luua.
Silmatorkav näide võrgusüsteemist on populaarne andmetöötlusplatvorm BOIN (Berkeley Open Infrastructure for Network Computing). See platvorm loodi algselt projekti jaoks SETI @ home (Search for Extra-Terrestrial Intelligence at Home), mis tegeleb maavälise intelligentsi leidmise probleemiga raadiosignaalide analüüsimise teel.
Kuidas see töötabRaadioteleskoopidelt saadud tohutu hulk andmeid purustatakse paljudeks väikesteks tükkideks ja need saadetakse võrgusüsteemi sõlmedesse (SETI@home projektis täidavad selliste sõlmede rolli vabatahtlikud arvutid). Andmeid töödeldakse sõlmedes ja pärast töötlemise lõppu saadetakse SETI projekti keskserverisse. Seega lahendab projekt kõige keerulisema globaalse probleemi, ilma et tema käsutuses oleks vajalikku arvutusvõimsust.
Nüüd, kui meil on selge arusaam klastrist, teeme ettepaneku kaaluda, kuidas seda luua ja kasutada. Kasutame avatud lähtekoodiga virtualiseerimissüsteemi Proxmox VE.
Eriti oluline on enne klastri loomise alustamist selgelt mõista Proxmoxi piiranguid ja süsteeminõudeid, nimelt:
maksimaalne sõlmede arv klastris - 32;
kõik sõlmed peavad olema sama Proxmoxi versioon (on erandeid, kuid neid ei soovitata tootmiseks);
kui tulevikus on plaanis kasutada High Availability funktsionaalsust, siis peaks klastris olema vähemalt 3 sõlme;
pordid peavad olema avatud, et sõlmed saaksid omavahel suhelda UDP/5404, UDP/5405 corosynci jaoks ja TCP / 22 SSH jaoks;
võrgu viivitus sõlmede vahel ei tohiks ületada 2 ms.
Looge klaster
Tähtis! Järgmine konfiguratsioon on test. Ärge unustage kontrollida ametlik dokumentatsioon Proxmox V.E.
Testklastri käivitamiseks võtsime kolm serverit, kuhu oli installitud sama konfiguratsiooniga Proxmoxi hüperviisor (2 tuuma, 2 GB muutmälu).
Esialgu, pärast OS-i installimist, töötab üks server eraldiseisev režiim.
Looge klaster, klõpsates nuppu Loo klaster vastavas jaotises.
Määrame tulevasele klastrile nime ja valime aktiivse võrguühenduse.
Klõpsake nuppu Loo. Server genereerib 2048-bitise võtme ja kirjutab selle koos uue klastri parameetritega konfiguratsioonifailidesse.
Pealdis ÜLESANNE OK näitab toimingu edukat lõpetamist. Nüüd, vaadates üldist teavet süsteemi kohta, on näha, et server on lülitunud klastri režiimile. Siiani koosneb klaster ainult ühest sõlmest, see tähendab, et sellel puuduvad veel võimalused, mille jaoks klastrit vaja on.
Klastriga liitumine
Enne loodud klastriga ühenduse loomist peame hankima teabe ühenduse loomiseks. Selleks minge jaotisse Cluster ja vajutage nuppu Liitumisteave.
Avanevas aknas huvitab meid samanimelise välja sisu. See tuleb kopeerida.
Siin on kodeeritud kõik vajalikud ühenduse parameetrid: serveri aadress ühenduse loomiseks ja digitaalne sõrmejälg. Me läheme serverisse, mis tuleb klastrisse kaasata. Vajutame nuppu Liituge klastriga ja avanevas aknas kleepige kopeeritud sisu.
väljad Peer aadress и Sõrmejälg täidetakse automaatselt. Sisestage sõlme number 1 juurparool, valige võrguühendus ja vajutage nuppu Liitu.
Klastriga liitumise ajal võib GUI veebilehe värskendamine peatada. Pole hullu, laadige leht uuesti. Täpselt samamoodi lisame veel ühe sõlme ja selle tulemusel saame 3 töötavast sõlmest koosneva täisväärtusliku klastri.
Nüüd saame juhtida kõiki klastri sõlme ühest GUI-st.
Kõrge kättesaadavusega organisatsioon
Proxmox kasutusvalmis toetab HA organisatsiooni funktsioone nii virtuaalsete masinate kui ka LXC konteinerite jaoks. Kasulikkus ha-juht tuvastab ja käsitleb vigu ja tõrkeid, teostades tõrkesiirde ebaõnnestunud sõlmelt töötavale sõlmele. Mehhanismi korrektseks tööks on vajalik, et virtuaalmasinatel ja konteineritel oleks ühine failisalvestus.
Pärast funktsiooni High Availability aktiveerimist jälgib ha-manager tarkvarapinn pidevalt virtuaalmasina või konteineri olekut ja suhtleb asünkroonselt teiste klastri sõlmedega.
Ühissalvestusruumi lisamine
Näiteks juurutasime väikese NFS-faili jagamise aadressil 192.168.88.18. Selleks, et kõik klastri sõlmed saaksid seda kasutada, peate tegema järgmised manipulatsioonid.
Valige veebiliidese menüüst Andmekeskus – Salvestus – Lisa – NFS.
Täitke väljad ID и server. Rippmenüüs Eksport valige saadaolevate kataloogide hulgast ja loendist soovitud kataloog sisu — nõutavad andmetüübid. Pärast nupu vajutamist lisama salvestusruum ühendatakse kõigi klastri sõlmedega.
Mis tahes sõlmes virtuaalmasinaid ja konteinereid luues määrame meie ladustamine hoiukohana.
HA seadistamine
Näiteks loome Ubuntu 18.04-ga konteineri ja konfigureerime selle jaoks High Availability. Pärast konteineri loomist ja käitamist minge jaotisse Andmekeskus-HA-Lisa. Avanevas väljas määrake virtuaalmasina/konteineri ID ja maksimaalne taaskäivitamiskatsete arv ja sõlmede vahel liikumiseks.
Kui see arv on ületatud, märgib hüperviisor VM-i ebaõnnestunuks ja paneb selle olekusse Error, misjärel lõpetab sellega mis tahes toimingute tegemise.
Pärast nupu vajutamist lisama utiliit ha-juht annab kõigile klastri sõlmedele teada, et nüüd juhitakse määratud ID-ga VM-i ja krahhi korral tuleb see teises sõlmes taaskäivitada.
Teeme krahhi
Et näha, kuidas lülitusmehhanism täpselt töötab, lülitame node1 toiteallika ebanormaalselt välja. Vaatame teisest sõlmest, mis klastriga toimub. Näeme, et süsteem on vea parandanud.
HA mehhanismi toimimine ei tähenda VM-i järjepidevust. Niipea kui sõlm "kukkub", peatatakse ajutiselt VM-i töö, kuni see teises sõlmes automaatselt taaskäivitatakse.
Ja siit algab “maagia” – klaster määras sõlme automaatselt ümber meie VM-i käitamiseks ja 120 sekundi jooksul taastati töö automaatselt.
Kustutame toitumise sõlme 2. Vaatame, kas klaster jääb ellu ja kas VM naaseb automaatselt tööolekusse.
Kahjuks, nagu näeme, on meil probleem selles, et ainsal säilinud sõlmel pole enam kvoorumit, mis keelab automaatselt HA. Anname käsu sundida kvoorumi paigaldamist konsooli.
pvecm expected 1
2 minuti pärast töötas HA mehhanism õigesti ja kuna sõlme 2 ei leidnud, käivitas see meie VM-i sõlmes 3.
Niipea kui me node1 ja node2 uuesti sisse lülitasime, taastati klaster täielikult. Pange tähele, et VM ei migreeru iseseisvalt tagasi sõlme1, vaid seda saab teha käsitsi.
Kokkuvõtteks
Rääkisime teile, kuidas Proxmoxi klastrite mehhanism töötab, ja näitasime ka, kuidas HA on virtuaalsete masinate ja konteinerite jaoks konfigureeritud. Klastrite ja HA nõuetekohane kasutamine suurendab oluliselt infrastruktuuri töökindlust ning tagab ka avariitaaste.
Enne klastri loomist tuleb kohe planeerida, millistel eesmärkidel seda kasutatakse ja kui palju on vaja seda tulevikus skaleerida. Samuti peate kontrollima võrgu infrastruktuuri valmisolekut töötada minimaalsete viivitustega, et tulevane klaster töötaks tõrgeteta.
Rääkige meile – kas kasutate Proxmoxi klasterdamisvõimalusi? Ootame teid kommentaaridesse.