HA cluster
- cluster
- je seskupení dvou a více fyzických počítačů (nodů), které navenek může vystupovat jako jeden subjekt.
- nod
- Je fyzický stroj (server, PC,..), vybavený pevnými disky (HDD) a alespoň jednou síťovou kartou, na kterém běží CRM.
Typy clusterů
Výpočetní cluster
Výpočetní cluster ( angl. HPC - High-performance Computing) využívá výpočetního výkonu jednotlivých nodů, tvořených obvykle stroji nižší cenové kategorie, pro zpracování dílčích matematických operací. Celkový výkon je pak mnohonásobně vyšší než by bylo vůbec možné dosáhnout u jediného fyzického stroje.
Diskový cluster
Neboli také Storage cluster vytváří jeden virtuální diskový prostor jeho rozložením mezi fyzické disky nodů. Využít pro tento účel lze buď speciálních clusterových souborových systémů ( OCFS2, GFS2, Lustre, CEPH,...), které jsou schopny řešit rozložení zátěže a redundanci dat mezi nody, nebo clusterové verze LVM (cluster).
Škálovatelné clustery
Jsou spojením nodů, poskytujících podle potřeby paralelně stejný typ služby. V případě potřeby lze tak rozložit zátěž mezi více strojů, bez toho že by došlo k přetížení jednoho z nodů. Tato funkcionalita se angl označuje jako load ballancing. Jelikož lze takto celkový výkon clusteru podle potřeby navyšovat nebo snižovat, označuje se také tento typ clusteru jako škálovatelné (angl. scallable)
HA cluster
Z hlediska funkce může HA cluster implementovat všechny již zmíněné typy clusterů. Liší se především v tom, že tento typ clusteru je schopen přežít kompletní selhání nodu. Angl. zkratka HA znamená vysoce dostupný (high availability), ale také se tento typ clusteru označuje jako Failover Cluster.
Schopnost přežití spuštěných služeb je zajištěna jednak tím, že jsou..
- Data uloženy redundantně (podobně jako u diskového clusteru)
- Nody vzájemně informovány o spuštěných službách, takže v případě selhání nodu může být služba spuštěna jinde (podobně jako u škálovatelných clusterů).
- Nody - jejich operační systém a hardware - navrženy tak, aby byly schopny přečkat i výpadek některého z lokálních disků, aniž by musely být odstaveny. U klasických výpočetních clusterů žádná data lokálně uložena nejsou, takže výpadek celého nodu není nijak kritický.
O vzájemnou komunikaci mezi nody se stará CRM (Cluster Resource Manager), který řeší spouštění a zastavování služeb na jednotlivých nodech, tak aby byly vždy k dispozici. Komerční implementací CRM je např. [ LanderCluster], který může bežet jak na unixové platformně, tak na systémech MS Windows.
Open source implementací CRM, které bude věnován zbytek tohoto manuálu je [Pacemaker], který vyšel z původního projektu [Linux-HA], jehož výsledkem byl HA cluster o dvou nodech - [Heartbeat].
Níže uvedené schéma zobrazuje náš HA cluster, postavený na dvou identických strojích, který lze do budoucna ev. rozšířit o další nody...
NOD 1 NOD 2
/====\ /====\ /====\ /====\ | /====\ /====\ /====\ /====\
| HDD || HDD || HDD || HDD | | | HDD || HDD || HDD || HDD |
\====/ \====/ \====/ \====/ | \====/ \====/ \====/ \====/
/±±±±±±±±±±±\ /±±±±±±±±±±±±\ | /±±±±±±±±±±±\ /±±±±±±±±±±±±\
| RAID1 || RAID1 | | | RAID1 || RAID1 |
\±±±±±±±±±±±/ \±±±±±±±±±±±±/ | \±±±±±±±±±±±/ \±±±±±±±±±±±±/
/――――――――――――――――――――――――――\ | /――――――――――――――――――――――――――\
| LVM VG | | | LVM VG |
\――――――――――――――――――――――――――/ | \――――――――――――――――――――――――――/
/----------\ /-------------\ | /-------------\ /----------\
| LVM LV || LVM LV | | | LVM LV || LVM LV |
\----------/ \-------------/ | \-------------/ \----------/
/^^^^^^^^^^\ /++++++++++++++ ⇄ ++++++++++++++\ /^^^^^^^^^^\
| REISERFS || DRBD || REISERFS |
\^^^^^^^^^^/ \++++++++++++++ ⇄ ++++++++++++++/ \^^^^^^^^^^/
/∷∷∷∷∷∷∷∷∷\ /^^^^^^^^^^^^^^^ ⇄ ^^^^^^^^^^^^^^\ /∷∷∷∷∷∷∷∷∷∷\
∷ Linux ∷ | OCFS2 | ∷ Linux ∷
∷ OS ∷ \^^/^^^/^\^^^^^^ ⇄ ^^\^^^^^^^^^^^/ ∷ OS ∷
\∷∷∷∷∷∷∷∷∷/ / / \ \ \∷∷∷∷∷∷∷∷∷∷/
/∷∷∷∷∷∷∷∷∷\ / / \ \ /∷∷∷∷∷∷∷∷∷∷\
∷ Virtual - / \ ----------- Virtual ∷
\∷∷∷∷∷∷∷∷∷/----- --- ⇄ ---------------\∷∷∷∷∷∷∷∷∷∷/
CLUSTER
Redundance uložených dat
Je zajištěna na dvou úrovních.
- Na úrovni clusteru, mezi jednotlivými nody ji zajišťuje kombinace clusterového souborového systému OCFS2 a DRBD8
- Na lokální úrovni nodů ji zajišťuje softwarový RAID 1
Clusterový souborový systém
Na schématu je "vrstva" v níž se z hierarchického hlediska HA clusteru nachází clusterový souborový systém, zvýrazněna tmavou zelení. Důležitým aspektem pro jeho nasazení je především možnost pracovat s jedním úložištěm z více nodů současně. Což je základní podmínka pro to, aby bylo možné za běhu provádět migraci virtuálních strojů.
Naše volba padla na OCFS2, za jehož vývojem stojí fa. ORACLE. Ten sice zatím nemá podporu pro IPv6 protokol a umožňuje integrovat pouze 255 nodů, ale oproti GFS2 (který vyvíjí fa. Red Hat), je lépe dokumentovaný a z hlediska výkonu má mít i lepší výsledky.
Síťové blokové zařízení
Implementace síťového mirroru DRBD8 (na schématu oranžová vrstva)