CRM (konfigurace zdrojů)

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

CRM (Cluster Resource Management), pracuje se "zdroji" (resource). "Zdroj" je ve své podstatě pojmenovaná konfigurace agenta, která zajišťuje nějakou službu. Agent je skript, připravený zpracovat tuto konfiguraci a na základě výsledku jejich zpracování vrací hodnotu, kterou crm pak zobrazuje jako stav zdroje.

Takovým zdrojem je kupř. služba která zajistí nahození IP adresy, spuštění webového serveru, namountování adresáře do určitého bodu, aj.

Jednotlivé zdroje mohou (ale nemusí) být na sobě závislé. Některé mohou být vázané jen na učité stroje a u některých může být důležité pořadí spouštění - tohle všechno řeší Pacemaker.

CRM - přidělování zdrojů

CRM - přidělování zdrojů

init skripty (LSB) versus zdroje

Je třeba si uvědomit, že Pacemaker je určen pro clusterové prostředí, řeší tedy spouštění služeb v rámci infrastruktury. Init skripty spouštěné na jednotlivých strojích samy o sobě nemají žádné prostředky k tomu, aby zajistily že během spouštění nedojde ke konfliktu. Ale Pacemaker, díky tomu že komunikuje mezi stroji v rámci clusterové infrastruktury však má přehled o tom, kde která služba běží, takové situaci zabránit může.

Při použití CRM by tedy měly být prostřednictvím init skriptů spouštěny pouze ty služby, které jsou nezbytné pro nahození CRM a zbytek by již měl být zajištěn skrze ně.

Vytvoření zdroje

Každý vytvořený zdroj lze také okomentovat. Tento komentář se pak objevuje i ve statusu

Základní zdroje - primitiva

Základem všech zdrojů jsou primitiva. Primitivum je služba nakonfigurovaná pro jeden stroj. Součástí jeho konfigurace však mohou být i parametry, které se využijí až v případě, že se stane součástí komplexnějšího zdroje, jakým je kupř. master/slave nebo klon.

Nastavení zdroje v režimu master/slave

Upozornění Zdroj master/slave pracuje pouze na dvěma nody. Je-li nakonfigurován takový zdroj v prostředí asymetrického clusteru, pak musí být vždy bezpodmínečně "ukotven" na tyto nody pomocí pravidla location!

Na jednom z nich je spuštěna služba v dominantním režimu (ve stavu master) a na druhém zpravidla v režimu závislém (ve stavu slave). Tohle však nemusí platit vždy!

Kupř. DRBD může být poskytováno na každém z nodů v režimu master, protože si řeší paralelní přístup k datům interně. Většinou však zdroje typu master/slave tvoří master nod, který zajišťuje normální provoz služby, zatím co druhý slave nod je určen pouze jako záloha pro případ výpadku.

Zdroje typu master/slave nelze přesouvat!

Klonování zdroje

Klonované zdroje jsou takové, u kterých není žádný z nodů dominantní.

Klonované zdroje má smysl přesouvat pouze v případě, je-li nakonfigurován běh pouze pro omezený počet paraleleních instancí.


Umístění a závislé spouštění zdrojů v rámci clusteru

"Přišpendlení" primitiva k nodu pomocí location

"Přišpedlení" zdroje na určité nody je nutné použít u nesymetrických clusterů s větším počtem nodů. Typickým zdrojem, který je nutno "přišpendlit" je DRBD, které pracuje vždy pouze se dvěma nody.

Automatické nastavení location

Závislé spouštění zdrojů

Spouštění, běh či zastavení některých zdrojů může být závislé na běhu zdrojů jiných. V rámci CRM lze konfigurovat jak pořadí spouštění, tak i závislosti.

Vynucené pořadí - order

Vynucené pořadí spuštění (či zastavení) zdroje v závislosti na jiné službě se nastavuje jako samostatný zdroj typu order.

Nastavením pořadí lze zajistit, aby ke spuštění, či naopak zastavení služby nedošlo dříve, než jsou pro to vytvořeny podmínky.

Vynucené umístění - collocation

Je-li běh zdroje závislý na jiném zdroji, jehož umístění nemusí být předem známé, pak se použije samostatný zdroj typu collocation - ten zajistí, že se Pacemaker nebude službu spouštět na žádném jiném nodu, než tom, který nabízí zároveň zdroj na němž je požadovaná závislost.