HA Cluster
Jak funguje Proxmox HA cluster: Spolehlivá a vysoce dostupná virtualizace
Proxmox Virtual Environment (Proxmox VE) je platforma pro virtualizaci, která umožňuje snadné spravování virtualizovaných prostředků a jejich clusterování. Jedním z klíčových prvků Proxmox VE je High Availability (HA) cluster, který poskytuje spolehlivost a vysoce dostupné prostředky pro aplikace a služby.
Co je to Proxmox HA cluster?
Proxmox HA cluster je sdružení několika fyzických nebo virtuálních serverů do jednoho clusteru, který umožňuje automatické přerozdělování pracovní zátěže a obnovu v případě výpadku jednoho ze serverů. Tato funkcionalita zajišťuje, že vaše aplikace a služby jsou dostupné i v případě selhání jednoho z uzlů v clusteru.
Architektura Proxmox HA clusteru
Proxmox HA cluster se skládá ze dvou nebo více uzlů (serverů), které jsou propojeny pomocí síťových spojení pro komunikaci a synchronizaci dat. Každý uzel v clusteru má stejnou konfiguraci a přístup ke společným úložištím dat, jako je například sdílené úložiště pomocí technologie CEPH
V rámci Proxmox HA clusteru je jedno zařízení označeno jako Master (hlavní) a ostatní uzly jsou Slave (podřízené). Master uzel je zodpovědný za řízení a koordinaci clusteru, zatímco Slave uzly poskytují výpočetní a úložný výkon.
V Daktele máme aktuálně zprovozněné dva nezávislé HA clustery, každý obsahuje několik nodů (blades) a jsou rozdělěny 50:50 v každém datovém centru.
HA-PVE1
HA-PVE2
CEPH úložiště
CEPH je open-source distribuovaný systém pro ukládání dat, který umožňuje efektivní a spolehlivé spravování datových úložišť. V rámci Proxmox HA clusteru slouží CEPH k poskytování sdíleného úložiště dat mezi všemi uzly. Data jsou rozdělena a replikována mezi různými uzly, což zajišťuje odolnost proti výpadkům a vysokou dostupnost.
Naše CEPH úložiště jsou postavené na nVME discích, takže nedochází ke zpoždění synchronizace mezi jednotlivými nody. Díky 100Gbits propojení mezi všemi clustery a obouma primárníma datacentrama je latence zápisu změn nemeřitelná.
Corosync
Corosync je open-source software pro komunikaci a koordinaci mezi uzly v clusteru. Používá se k synchronizaci stavu a událostí mezi uzly, což je klíčové pro správné fungování Proxmox HA clusteru. Corosync zajišťuje, že všechny uzly mají konzistentní pohled na stav clusteru a umožňuje rychlou detekci výpadků a přizpůsobení zátěže.
Detekce výpadku a přestěhování virtuálních strojů
Při detekci výpadku uzlu Proxmox HA cluster okamžitě informuje ostatní uzly pomocí Corosyncu. Následně se aktivuje mechanismus přepínání zátěže, při kterém jsou virtuální stroje, které byly provozovány na výpadlém uzlu, automaticky přemístěny na jiný dostupný uzel. Doba trvání tohoto procesu závisí na konfiguraci a zátěži clusteru, ale obvykle se měří v řádu několika desítek sekund. V Daktele máme otestováno, že přepad zákaznických instancí je do plně provozního stavu do 2 minut.
Popis funkcionality Proxmox Backup Serveru v rámci Proxmox HA clusteru
Proxmox Backup Server (PBS) je open-source nástroj vyvinutý společností Proxmox Server Solutions pro zálohování a obnovu dat v prostředí virtualizace. V rámci Proxmox HA clusteru hraje PBS klíčovou roli při zajištění spolehlivé ochrany dat a vysoce dostupného zálohovacího řešení.
Zálohování virtuálních strojů
Pomocí PBS pravidelně zálohujme virtuálních stroje (VM) běžící na uzlech v Proxmox HA clusteru. Zálohy jsou plánovány a prováděny automaticky podle definovaného časového plánu. V naší implementaci se zálohy provádějí dvakrát denně, což zajišťuje aktuálnost dat a minimální ztrátu v případě výpadku. Pro vybrané zákazníky jsme schopni zálohy dělat každou hodinu.
PBS zálohuje pomocí snapshotů, takže zálohy jsou velmi rychlé.
K zálohování také používáme další technologie, jako Dirvish nebo Xtra backup. Dá se tedy říci, že jsme schopni obnovit nejen celý stroj 1:1 k poslední záloze, ale i jen část instance, jako jsou soubory nebo jen databázi.
Georedundantní zálohování
Náš Proxmox HA cluster využívá dva georedundantní Fullflash Proxmox Backup Servery pro ukládání záloh. Tento přístup zajišťuje, že zálohy jsou uloženy na dvou oddělených místech, což zvyšuje odolnost proti výpadkům a zajišťuje spolehlivost při obnovení dat v případě havárie v jednom z datových center.
Deduplikace a komprese dat
PBS využívá techniky deduplikace a komprese dat k efektivnímu využití úložného prostoru. Deduplikace identifikuje a odstraní duplicity dat mezi jednotlivými zálohami, zatímco komprese redukuje velikost datových souborů. To pomáhá snižovat nároky na úložiště a šetří prostor i šířku pásma při přenosu dat mezi uzly. Díky tomu jsme schopni odzálohovat přes 100TB dat denně.
Integrita a ověřování záloh
PBS provádí pravidelnou kontrolu integrity záloh, aby se zajistilo, že jsou zálohy úplné a nepoškozené. Ověřování záloh je důležitou součástí zabezpečení dat a pomáhá minimalizovat riziko ztráty dat v případě potřeby obnovy.
Jednoduchá správa a monitoring
Proxmox Backup Server poskytuje uživatelsky přívětivé rozhraní pro konfiguraci, plánování a monitorování záloh. Administrátoři mohou snadno sledovat stav zálohování, provádět obnovení dat a spravovat úložiště prostřednictvím centrálního rozhraní.
Pro další zvýšení informovanosti o stavu záloh máme zavedené další metody monitoringu:
hlídání stavu pomocí Zabbixu
notifikace do tiketovacího systému
Obnova ze zálohy
Díky geo-redundantním úložištím a vrstvenými zálohami jsme schopni obnovit provoz i případě výpadku celého DC nebo při nekonzistentnosti dat v jednotlivých zákaznických instancích.