Shlukování v Proxmox VE

Shlukování v Proxmox VE

V minulých článcích jsme začali mluvit o tom, co je Proxmox VE a jak funguje. Dnes si povíme, jak můžete využít možnosti shlukování a ukážeme si, jaké výhody přináší.

Co je to klastr a proč je potřeba? Cluster (z anglického cluster) je skupina serverů spojených vysokorychlostními komunikačními kanály, které fungují a uživateli se jeví jako jeden celek. Existuje několik hlavních scénářů použití clusteru:

  • Poskytování odolnosti proti poruchám (vysoká dostupnost).
  • Vyvažování zátěže (Vyrovnávání zátěže).
  • Zvýšení produktivity (vysoký výkon).
  • Provádění distribuovaných výpočtů (Distribuovaná výpočetní technika).

Každý scénář má své vlastní požadavky na členy klastru. Například pro cluster, který provádí distribuované výpočty, je hlavním požadavkem vysoká rychlost operací s pohyblivou řádovou čárkou a nízká latence sítě. Takové shluky se často používají pro výzkumné účely.

Protože jsme se dotkli tématu distribuovaného počítání, rád bych poznamenal, že existuje také něco jako mřížkový systém (z anglického grid - mřížka, síť). I přes obecnou podobnost nezaměňujte mřížkový systém a shluk. Mřížka není shluk v obvyklém smyslu. Na rozdíl od clusteru jsou uzly zahrnuté v mřížce nejčastěji heterogenní a vyznačují se nízkou dostupností. Tento přístup zjednodušuje řešení distribuovaných výpočetních problémů, ale neumožňuje vytvářet z uzlů jeden celek.

Pozoruhodným příkladem gridového systému je populární výpočetní platforma BOIN (Berkeley Open Infrastructure for Network Computing). Tato platforma byla původně vytvořena pro projekt SETI @ home (Search for Extra-Terrestrial Intelligence at Home), zabývající se problémem hledání mimozemské inteligence pomocí analýzy rádiových signálů.

Jak to fungujeObrovské pole dat přijatých z radioteleskopů je rozbito na mnoho malých kousků a ty jsou odesílány do uzlů mřížkového systému (v projektu SETI@home hrají roli takových uzlů dobrovolné počítače). Data jsou zpracovávána v uzlech a po dokončení zpracování jsou odeslána na centrální server projektu SETI. Projekt tak řeší nejsložitější globální problém, aniž by měl k dispozici potřebný výpočetní výkon.

Nyní, když jasně rozumíme tomu, co je klastr, navrhujeme zvážit, jak jej lze vytvořit a používat. Použijeme open source virtualizační systém Proxmox VE.

Je obzvláště důležité jasně porozumět omezením a systémovým požadavkům Proxmox předtím, než začnete vytvářet cluster, konkrétně:

  • maximální počet uzlů v clusteru - 32;
  • všechny uzly musí mít stejná verze Proxmox (existují výjimky, ale ty se do výroby nedoporučují);
  • pokud se v budoucnu plánuje používat funkcionalitu High Availability, pak by cluster měl mít alespoň 3 uzly;
  • porty musí být otevřené, aby mezi sebou mohly uzly komunikovat UDP/5404, UDP/5405 pro corosync a TCP/22 pro SSH;
  • zpoždění sítě mezi uzly by nemělo překročit 2 ms.

Vytvořte shluk

Důležité! Následující konfigurace je testovací. Nezapomeňte zkontrolovat u oficiální dokumentace Proxmox V.E.

Abychom mohli spustit testovací cluster, vzali jsme tři servery s nainstalovaným hypervisorem Proxmox se stejnou konfigurací (2 jádra, 2 GB RAM).

Pokud chcete vědět, jak nainstalovat Proxmox, doporučujeme přečíst si náš předchozí článek - Kouzlo virtualizace: úvodní kurz Proxmox VE.

Zpočátku po instalaci OS běží jeden server samostatný režim.

Shlukování v Proxmox VE
Vytvořte shluk kliknutím na tlačítko Vytvořit Cluster v příslušné sekci.

Shlukování v Proxmox VE
Nastavíme název pro budoucí cluster a vybereme aktivní síťové připojení.

Shlukování v Proxmox VE
Klepněte na tlačítko Vytvořit. Server vygeneruje 2048bitový klíč a zapíše jej spolu s parametry nového clusteru do konfiguračních souborů.

Shlukování v Proxmox VE
Nápis ÚKOL OK označuje úspěšné dokončení operace. Nyní, když se podíváme na obecné informace o systému, je vidět, že server přešel do režimu clusteru. Cluster se zatím skládá pouze z jednoho uzlu, to znamená, že ještě nemá schopnosti, pro které je cluster potřeba.

Shlukování v Proxmox VE

Připojení ke klastru

Před připojením k vytvořenému clusteru potřebujeme získat informace pro dokončení připojení. Chcete-li to provést, přejděte do sekce Shluk a нажимаем кнопку Informace o připojení.

Shlukování v Proxmox VE
V okně, které se otevře, nás zajímá obsah stejnojmenného pole. Bude potřeba zkopírovat.

Shlukování v Proxmox VE
Zde jsou zakódovány všechny potřebné parametry připojení: adresa serveru pro připojení a digitální otisk. Jdeme na server, který je třeba zahrnout do clusteru. Stiskneme tlačítko Připojte se ke Clusteru a do okna, které se otevře, vložte zkopírovaný obsah.

Shlukování v Proxmox VE
pole Adresa partnera и otisk prstu se vyplní automaticky. Zadejte heslo uživatele root pro uzel číslo 1, vyberte síťové připojení a stiskněte tlačítko Připojit.

Shlukování v Proxmox VE
Během procesu připojování ke clusteru se webová stránka GUI může přestat aktualizovat. To je v pořádku, stačí znovu načíst stránku. Úplně stejným způsobem přidáme další uzel a ve výsledku získáme plnohodnotný cluster 3 pracovních uzlů.

Shlukování v Proxmox VE
Nyní můžeme ovládat všechny uzly clusteru z jednoho GUI.

Shlukování v Proxmox VE

Organizace s vysokou dostupností

Proxmox po vybalení podporuje funkcionalitu organizace HA pro virtuální stroje i kontejnery LXC. Utility ha-manažerka zjišťuje a zpracovává chyby a selhání a provádí převzetí služeb při selhání z uzlu, který selhal, na funkční. Aby mechanismus správně fungoval, je nutné, aby virtuální stroje a kontejnery měly společné úložiště souborů.

Po aktivaci funkce High Availability bude softwarový stack ha-manager nepřetržitě monitorovat stav virtuálního počítače nebo kontejneru a asynchronně interagovat s ostatními uzly clusteru.

Připojování sdíleného úložiště

Jako příklad jsme nasadili malou sdílenou složku NFS na 192.168.88.18. Aby jej všechny uzly clusteru mohly používat, musíte provést následující manipulace.

Vyberte z nabídky webového rozhraní Datové centrum - Úložiště - Přidat - NFS.

Shlukování v Proxmox VE
Vyplňte pole ID и Server. V rozevíracím seznamu Vývoz vyberte požadovaný adresář z dostupných a v seznamu Obsah — požadované datové typy. Po stisknutí tlačítka přidat úložiště bude připojeno ke všem uzlům clusteru.

Shlukování v Proxmox VE
Při vytváření virtuálních strojů a kontejnerů na kterémkoli z uzlů zadáváme naše skladování jako úložiště.

Nastavení HA

Vytvořme například kontejner s Ubuntu 18.04 a nakonfigurujeme pro něj vysokou dostupnost. Po vytvoření a spuštění kontejneru přejděte do sekce Datacenter-HA-Add. V poli, které se otevře, zadejte ID virtuálního počítače/kontejneru a maximální počet pokusů o restartování a přesun mezi uzly.

Pokud je toto číslo překročeno, hypervizor označí virtuální počítač jako neúspěšný a uvede jej do stavu Chyba, po kterém s ním přestane provádět jakékoli akce.

Shlukování v Proxmox VE
Po stisknutí tlačítka přidat nástroj ha-manažerka upozorní všechny uzly clusteru, že je nyní řízen virtuální počítač se zadaným ID a v případě havárie musí být restartován na jiném uzlu.

Shlukování v Proxmox VE

Udělejme havárii

Abychom viděli, jak přesně spínací mechanismus funguje, vypněte napájení node1 abnormálně. Díváme se z jiného uzlu, co se děje s clusterem. Vidíme, že systém opravil chybu.

Shlukování v Proxmox VE

Fungování mechanismu HA neznamená kontinuitu VM. Jakmile uzel „spadne“, provoz virtuálního počítače se dočasně zastaví, dokud nebude automaticky restartován na jiném uzlu.

A zde začíná „kouzlo“ – cluster automaticky přeřadil uzel, aby provozoval náš VM a do 120 sekund byla práce automaticky obnovena.

Shlukování v Proxmox VE
Zhasneme uzel2 na výživě. Uvidíme, zda cluster přežije a zda se VM automaticky vrátí do funkčního stavu.

Shlukování v Proxmox VE
Bohužel, jak vidíme, máme problém s tím, že na jediném přeživším uzlu již není kvorum, které automaticky zakáže HA. Dáváme příkaz k vynucení instalace kvora do konzoly.

pvecm expected 1

Shlukování v Proxmox VE
Po 2 minutách mechanismus HA fungoval správně a nenašel uzel2 a spustil náš virtuální počítač na node3.

Shlukování v Proxmox VE
Jakmile jsme znovu zapnuli uzel1 a uzel2, cluster byl plně obnoven. Upozorňujeme, že virtuální počítač nemigruje zpět do node1 sám o sobě, ale lze to provést ručně.

Sčítání

Řekli jsme vám o tom, jak funguje mechanismus shlukování Proxmox, a také jsme vám ukázali, jak je HA nakonfigurováno pro virtuální stroje a kontejnery. Správné použití clusteringu a HA výrazně zvyšuje spolehlivost infrastruktury a také poskytuje zotavení po havárii.

Před vytvořením clusteru musíte okamžitě naplánovat, pro jaké účely se bude používat a jak moc bude nutné jej v budoucnu škálovat. Musíte také zkontrolovat, zda je síťová infrastruktura připravena pracovat s minimálním zpožděním, aby budoucí cluster fungoval bez poruch.

Řekněte nám – používáte funkce clusteringu Proxmox? Čekáme na vás v komentářích.

Předchozí články o hypervizoru Proxmox VE:

Zdroj: www.habr.com

Přidat komentář