
Korábbi cikkekben elkezdtük bemutatni, hogy mi az a Proxmox VE és hogyan működik. Ma arról fogunk beszélni, hogyan lehet kihasználni a klaszterezési lehetőségeket, és megmutatjuk, milyen előnyöket nyújt ez.
Mi is az a klaszter és mire jó? A klaszter (angolul: cluster) olyan szerverek csoportja, amelyeket nagy sebességű kapcsolatok kötnek össze, és amely felhasználóként egyetlen egységként működik és jelenik meg. A klasztereknél több főbb felhasználási forgatókönyv létezik:
- Hibatűrés biztosítása (Magas rendelkezésre állás).
- A terheléselosztás (Terheléselosztás).
- Teljesítmény növelése (Magas teljesítmény).
- Elosztott számítások végrehajtása (Elosztott számítás).
Minden forgatókönyv saját követelményeket támaszt a klaszter alkotóelemeivel szemben. Például az elosztott számításokat végző klaszterek számára a legfontosabb követelmény a lebegőpontos számítások végrehajtásának magas sebessége és az alacsony hálózati késleltetés. Az ilyen klasztereket gyakran használják tudományos kutatási célokra.
Mivel már szóba került az elosztott számítások témája, érdemes megemlíteni egy másik fogalmat, a grid rendszer (angolul: grid — rács, háló). Bár van némi hasonlóság, a grid rendszert nem szabad összetéveszteni a klaszterrel. A grid nem tekinthető klaszternak a megszokott értelemben. A klaszterrel ellentétben a gridbe tartozó csomópontok gyakran heterogén jellegűek és alacsony elérhetőséggel bírnak. Ez a megközelítés megkönnyíti az elosztott számítási feladatok megoldását, azonban nem teszi lehetővé, hogy a csomópontok egy egységet alkossanak.
Ékes példa egy grid rendszerre a népszerű számítási platform, a (Berkeley Open Infrastructure for Network Computing). Ez a platform eredetileg a (Search for Extra-Terrestrial Intelligence at Home) projekthez készült, amely azzal foglalkozik, hogy földönkívüli intelligenciát keres rádiójelek elemzésével.
Hogyan működik ezA rádiótávcsövekből érkezett hatalmas adathalmazt számos kisebb darabra osztják, amelyeket a grid rendszer csomópontjaira küldenek (a SETI@home projektben az önkéntesek számítógépei játszanak szerepet, mint ilyen csomópontok). Az adatok feldolgozása a csomópontokon történik, és a feldolgozás befejezése után azokat a SETI projekt központi szerverére küldik. Így a projekt egy rendkívül összetett globális problémát old meg anélkül, hogy a szükséges számítási teljesítmény rendelkezésére állna.
Most már, hogy világosan értjük, mi az a klaszter, nézzük meg, hogyan lehet létrehozni és aktiválni. Az nyílt forráskódú virtualizációs rendszert fogjuk használni .
Különösen fontos, hogy a klaszter létrehozása előtt pontosan értsük meg a Proxmox korlátait és rendszerigényeit, nevezetesen:
- a klaszter maximális csomópontszáma — 32;
- minden csomópontnak rendelkeznie kell ugyanazzal a Proxmox verzióval (vannak kivételek, de a termelési környezetben nem ajánlottak);
- ha később a High Availability funkciót kívánja használni, akkor a klaszterben legalább 3 csomópontnak kell lennie;
- a csomópontok közötti kommunikációhoz nyitva kell lennie a portoknak UDP/5404, UDP/5405 a corosynchoz és TCP/22 SSH-hoz;
- a késleltetés a csomópontok között nem haladhatja meg 2 ms.
Klónozási folyamat létrehozása
Fontos! Az alábbi konfiguráció tesztelési célú. Ne felejtsük el ellenőrizni a Proxmox VE-t.
A teszt klaszter elindításához három, azonos konfigurációval rendelkező Proxmox hypervisorral rendelkező szervert vettünk (2 mag, 2 GB RAM).
Ha szeretné megtudni, hogyan telepíthető a Proxmox, javasoljuk, hogy olvassa el előző cikkünket — .
Kezdetben, az operációs rendszer telepítése után, az egységes szerver Standalone-mode.

módban működik. Hozzunk létre egy klasztert a Create Cluster

gombra kattintva a megfelelő szakaszban.

Állítsuk be a létrehozandó klaszter nevét, és válasszuk ki az aktív hálózati kapcsolatot.

Kattintsunk a Create gombra. A szerver generál egy 2048 bites kulcsot, és azt a klasszter új paramétereivel együtt elmenti a konfigurációs fájlokba. TASK OK felirat tanúsítja a művelet sikeres végrehajtását. Most, ha megnézzük a rendszer összesített információját, láthatjuk, hogy a szerver átkapcsolt klaszter üzemmódba. A klaszter egyelőre csak egy csomópontból áll, ezért még nem rendelkezik azokkal a lehetőségekkel, amelyek miatt a klaszter szükséges.

Csatlakozás a klaszterhez
Mielőtt csatlakoznánk a létrehozott klaszterhez, szükségünk van a csatlakozáshoz szükséges információra. Ehhez lépjünk be a Klaszter fülre, és megnyomjuk a gombot Join Information.

szakaszba. A megnyíló ablakban a neve azonos mező tartalma érdekel minket. Ezt másolni kell.

Itt találhatóak a csatlakozáshoz szükséges összes paraméter: a csatlakozási szerver címe és a digitális lenyomat. Menjünk arra a szerverre, amelyet a klaszterhez szeretnénk csatlakoztatni. Kattintsunk a Join Cluster és a megnyíló ablakba illesszük be a másolt tartalmat.

Mezők Peer Address és Fingerprint automatikusan ki lesznek töltve. Beírjuk az 1-es számú node root jelszavát, kiválasztjuk a hálózati csatlakozást, és rákattintunk a gombra Csatlakozás.

A clusterhez való csatlakozás során a GUI weboldal nem frissülhet. Ez normális, egyszerűen frissítsük az oldalt. Pontosan ugyanígy adunk hozzá egy másik node-ot, így végül egy teljes értékű, 3 működő csomópontból álló klasztert kapunk.

Mostantól egyetlen GUI-ból ellenőrizhetjük a cluster összes csomópontját.

Magas rendelkezésre állás megszervezése
A Proxmox „dobozból kivéve” támogatja a HA megszervezésének funkcióját mind virtuális gépek, mind LXC konténerek esetén. Az eszköz ha-manager észleli és kezeli a hibákat és leállásokat, végrehajtva a hibaokozó node-ról a működőre való átváltást. Annak érdekében, hogy a mechanizmus megfelelően működjön, a virtuális gépeknek és a konténereknek közös fájltárolóval kell rendelkezniük.
A Magas rendelkezésre állás funkció aktiválása után a ha-manager programcsomag folyamatosan figyelni fogja a virtuális gép vagy konténer állapotát, és aszinkron módon kommunikál a cluster többi csomópontjával.
Csatlakoztatjuk a közös tárolót
Példaként egy kis NFS fájltárolót telepítettünk a 192.168.88.18 címen. Ahhoz, hogy a cluster összes csomópontja használni tudja, a következő lépéseket kell végrehajtani.
Válasszunk az webes felület menüjéből Datacenter — Storage — Add — NFS.

Töltsük ki a mezőket ) és és Szerver. A legördülő listában Export válasszuk ki a kívánt könyvtárat a hozzáférhetőkből, és a Content — szükséges adattípusok. A gombra kattintva Ezután adja meg az Amazon S3-hoz való hozzáféréshez szükséges fiókot — válassza ki a meglévőt a listából, vagy kattintson a tároló csatlakozásra kerül az összes cluster csomóponthoz.

Bármelyik csomóponton történő virtuális gépek és konténerek létrehozásakor meg kell adnunk a tárolás mint tárolót.
HA beállítása
Példaként létrehozunk egy Ubuntu 18.04 konténert, és beállítjuk számára a Magas rendelkezésre állást. A konténer létrehozása és elindítása után lépjünk a Datacenter — HA — Add. A megnyíló mezőbe adjuk meg a virtuális gép/konténer ID-ját és a maximális újraindítási és node-ok közötti mozgatási kísérletek számát.
Ha ez a szám túllépésre kerül, a hypervisor hibásnak jelöli meg a VM-et és átváltja Hiba állapotba, majd leállítja a további műveleteket vele.

A gomb megnyomása után Ezután adja meg az Amazon S3-hoz való hozzáféréshez szükséges fiókot — válassza ki a meglévőt a listából, vagy kattintson eszköz ha-manager értesíti a cluster összes csomópontját, hogy mostantól a megadott ID-jú VM-ért felelős, és ha leáll, újra kell indítani egy másik node-on.

Szüneteltetjük a rendszert
Annak megértéséhez, hogyan működik a váltási mechanizmus, áramtalanítjuk node1-et. Nézzük meg egy másik node-ról, hogy mi történik a klaszterrel. Látjuk, hogy a rendszer rögzítette a leállást.

A HA mechanizmus működése nem jelenti a VM folyamatos működését. Amint a node „megbukik”, a VM működése átmenetileg megáll, amíg automatikusan újra nem indítják egy másik node-on.
Itt kezdődik a „varázslat” — a klaszter automatikusan újraassignálta a node-ot a VM végrehajtásához, és 120 másodpercen belül a működés automatikusan helyreállt.

Áramtalanítjuk node2-t. Nézzük meg, hogy a klaszter elbírja-e és automatikusan visszatér-e a VM működési állapotába.

Sajnos, ahogy látjuk, problémánk adódott, mivel az egyetlen életben maradt node-on már nincs kvorum, ami automatikusan letiltja a HA működését. A konzolon kiadjuk a kvorum kényszerített beállításának parancsát.
pvecm expected 1 
Két perc elteltével a HA mechanizmus megfelelően működött és nem találva node2-t, elindította a VM-t node3-on.

Amint újra bekapcsoltuk node1-et és node2-t, a klaszter munkája teljesen helyreállt. Vegye észre, hogy a VM nem migrál vissza automatikusan node1-re, de ezt kézzel megteheti.
Összegzés
Beszéltünk arról, hogyan működik a klaszterezési mechanizmus a Proxmox-ban, és megmutattuk, hogyan állítható be a HA a virtuális gépek és konténerek számára. A klaszterezés és a HA megfelelő használata jelentősen növeli az infrastruktúra megbízhatóságát, és biztosítja a hiba utáni helyreállítást.
A klaszter létrehozása előtt fontos megtervezni, hogy milyen célokra fogják használni, és mennyire szükséges a jövőbeli skálázás. Szintén ellenőrizni kell a hálózati infrastruktúrát az alacsony késleltetés és a zökkenőmentes működés érdekében.
Mondja el nekünk — használja-e a klaszterezési lehetőségeket a Proxmox-ban? Várjuk hozzászólását.
A Proxmox VE hypervizorral kapcsolatos korábbi cikkek:
Forrás: habr.com
