V dnešní době, kdy dostupnost služeb hraje klíčovou roli v podnikovém prostředí, je nezbytné zajistit, aby kritické aplikace byly vždy dostupné a odolné vůči poruchám. Jedním ze způsobů, jak toho dosáhnout, je implementace HA (High Availability) clusteru. V tomto článku se podrobně zaměříme na konfiguraci HA clusteru s využitím softwaru Corosync a Pacemaker, které společně představují robustní řešení pro správu clusterů v Linuxovém prostředí.
Co je HA cluster?
HA cluster, nebo také cluster vysoké dostupnosti, je skupina spojených počítačových serverů, která má za cíl zajistit vysokou dostupnost a odolnost proti poruchám pro kritické aplikace a služby. V případě selhání jednoho z uzlů clusteru automaticky dojde k přesunutí zatížení na další dostupné uzly, čímž se minimalizuje doba odstávky.
Základní komponenty
Pro sestavení HA clusteru s Corosync a Pacemaker potřebujeme:
- Corosync: Software pro řízení clusteru, který zajišťuje komunikaci mezi uzly clusteru.
- Pacemaker: Správce zdrojů clusteru, který rozhoduje, kde a jak bude zdroj spuštěn na základě definovaných pravidel.
Předpoklady
- Dva nebo více serverů s nainstalovaným Linuxem, každý s unikátní IP adresou a hostname.
- Síťová konfigurace umožňující komunikaci mezi servery.
- Nainstalovaný software pro správu balíčků (např. YUM nebo APT) pro instalaci potřebných balíčků.
Instalace a konfigurace Corosync
-
Instalace Corosync a Pacemaker
Na všech uzlech clusteru nainstalujeme Corosync a Pacemaker pomocí správce balíčků.
sudo yum install corosync pacemaker pcs
pro CentOS/RHEL nebo
sudo apt-get install corosync pacemaker pcs
pro Debian/Ubuntu.
sudo apt-get install corosync pacemaker pcs
-
Konfigurace autentizace
Na jednom z uzlů nastavíme autentizaci mezi uzly clusteru pomocí nástroje pcs
. To nám umožní spravovat cluster z jednoho místa.
kde node1 a node2 jsou hostname vašich serverů a heslo je heslo pro autentizaci.
kde node1
a node2
jsou hostname vašich serverů a heslo
je heslo pro autentizaci.
-
Vytvoření clusteru
Po úspěšné autentizaci vytvoříme cluster pomocí nástroje pcs
.
sudo pcs cluster setup --name my_cluster node1 node2
my_cluster
je jméno vašeho clusteru.
-
Spuštění clusteru
Na všech uzlech spustíme služby Corosync a Pacemaker.
sudo pcs cluster start --all
Konfigurace Pacemaker
-
Vytvoření a konfigurace zdrojů
Zdroje (resources) jsou služby nebo aplikace, které cluster spravuje. Pomocí nástroje pcs
vytvoříme a nakonfigurujeme zdroje dle potřeby. Například pro webový server Apache bychom použili:
sudo pcs resource create Apache ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
-
Konfigurace politiky failoveru
Dále nastavíme politiky pro automatické přesouvání zdrojů mezi uzly v případě selhání. Tyto politiky definujeme prostřednictvím constraints v Pacemakeru.
sudo pcs constraint colocation add Apache with WebVIP INFINITY
sudo pcs constraint order WebVIP then Apache
Testování a monitoring
Po dokončení konfigurace je důležité provést testování failover scénářů, aby bylo zajištěno, že při selhání jednoho uzlu dojde k automatickému přesunu zdrojů na další dostupný uzel bez zásadního přerušení služby. K monitoringu stavu clusteru lze využít nástroje pcs status
a crm_mon
.
Implementace HA clusteru s Corosync a Pacemaker je efektivním řešením pro zajištění vysoké dostupnosti kritických aplikací. Správná konfigurace a testování jsou klíčové pro úspěšnou implementaci a bezproblémový provoz.