CRM (CLI)
V předchozí kapitole, věnované konfiguraci zdrojů, bylo na nejrůznějších příkladech demonstrováno použití konzolových nástrojů Pacemakeru, jimiž se prostřednictvím démona /usr/lib/pacemaker/crmd
, cluster ovládá. U většiny příkladů byla zároveň uveden i příklad stejné konfigurace prostřednictvím alternativního CLI nástroje crm.
crm
Je CLI nadstavba, naprogramovaná v shellu, která kombinuje konzolové nástroje Pacemakeru s dalšími utilitami. Dá se používat jako samostatný konzolový nástroj, ale také jako interaktivní shell je-li spuštěna bez parametrů.
Interaktivní crm shell především ulehčuje administraci. Jeho příkazová řádka pracuje se stromovou strukturou. Nástroje pro práci s clusterem, jsou zde kategorizovány do samostatných "složek", které mohou mít v některých případech i několik úrovní. Jako kupř. v níže uvedeném demonstračním příkladu.
- ukončení práce s crm
- Práci v crm shellu lze ukončit buď příkazem quit (alternativně lze použít i bye či exit), nebo kombinací CTRL+C
- nápověda v crm
- Na každé "úrovni" lze použít pro vypsání nápovědy příkaz help
- seznam akceptovaných příkazů
- Na každé úrovni lze příkazem ls vypsat jaká klíčová slova budou akceptována. Může jít jak o příkazy, tak názvy dostupných podúrovní crm
cib
- new
- delete
- reset
- commit
- use
- diff
- list
- import
- cibstatus
N cluster
- add
- health
- Příkaz, který spustí sadu testů, jimiž se ověří stav všech nodů v clusteru (PSSH)
- init
- remove
- run
- Příkaz, kterým lze zavolat spuštění shellového příkazu na všech nodech clusteru. (PSSH)
- start
- Příkaz, který spustí clusterové služby na aktuálním nodu
- status
- Příkaz, který vypíše aktuální stav clusteru
- stop
- Příkaz který zastaví clusterové služby na aktuálním nodu
- wait_for_startup
configure
V rámci configure se provádí výchozí konfigurace agentů. Nastavení proměnných, vzájemných závislostí při spouštění, intervalů spouštění atd. Do vlastního CRM se však změny v konfigurace promítnou až po jejich odeslání příkazem commit.
- N assist
- N cib
- cibstatus
- clone
- colocation,collocation
- commit
- N default-timeouts, default_timeouts
- delete
- edit
- erase
- N fencing_topology
- N filter
- N graph
- group
- N history
- load
- location
- N modgroup
- monitor
- ms,master
- nastaví zdroj (primitive) tak aby se spouštěl na obou strojích
- node
- N _objects
- op_defaults
- order
- primitive
- primitiva jsou základní služby, které lze seskupovat (group), řadit (order) aj.
- property
- ptest
- N ra
- N _regtest
- rename
- refresh
- rsc_defaults
- N rsc_template
- N rsctest
- N rsc_ticket
- save
- show
- výpis stávající konfigurace
- N schema
- N simulate
- N tag
- template
- N _test
- upgrade
- N user
- verify
- xml
N corosync
- add-node
- add_node
- del-node
- del_node
- diff
- edit
- get
- log
- pull
- push
- reload
- set
- show
- status
N history
- detail
- diff
- _dump
- exclude
- graph
- info
- latest
- limit
- log
- node
- peinputs
- refresh
- resource
- session
- setnodes
- show
- source
- timeframe
- transition
- wdiff
node
Sdružuje příkazy pro práci s nody
- attribute
- clearstate
- delete
- fence
- N maintenance
- přepne nod do režimu maintenance
- online
- přepne nod do stavu online, kdy se opět aktivně zapojí do clusteru
- N ready
- přepne nod do režimu ready
- show,list
- vypíše seznam nodů jako prostý text
- standby
- přepne nod do režimu standby
- status
- vypíše seznam nodů ve formě XML struktury s kořenovým elementem
nodes
- status-attr
- utilization
options
V options jsou sdruženy příkazy pro konfiguraci crm. Jejich prostřednictvím lze nastavit kupř. jaký se má použít výchozí editor pro úpravu konfigurace, barevné schéme pro shell, pravidla pro třídění výpisů atd.
- colorscheme
- editor
- check-frequency
- check-mode
- N manage-children
- output
- Nastavení preferovaného výstupu konfigurace - color (barevně zvýrazněný), plain (bez barviček) nebo uppercase (klíčová slova jsou vypisována kapitálkami - tady však můžete narazit na problém že crm nebude umět interpretovat některou z položek)
- pager
- Nastavení preferovaného stránkovače výpisu (more, less, atp.)
- N reset
- save
- N set
- show
- skill-level
- sort-elements
- user
- N wait
ra
Příkazy seskupené v rámci ra jsou určeny především pro získávání informací o dostupných agentech ("resource agents") a jejich konfiguraci.
- classes
- vypisuje seznam dostupných tříd (classes). V případě že, je stejná třída poskytovaná více poskytovateli (provider), vypíše (za lomítkem) i poskytovatele
- list
- vypíše seznam agentů dostupných v rámci třídy. Je-li výpis upřesněn i uvedením poskytovatele (provider), pak vypíše pouze jemu příslušné agenty ("resource agents")
- meta,info
- vypíše přehled všech možných parametrů, které lze nastavit u příslušného agenta. V případě komplexnějších agentů je to včetně podrobného popisu a výstup vypadá podobně jako u manuálu
- providers
- vypisuje naopak na základě názvu agenta jeho poskytovatele - "providera". V případě, že kromě providera je agent nabízen některou třídou (class) přímo, nevypíše nic. Pokud má nějakého poskytovatele, tak jej vypíše teprve po upřesnění třídy.
report
Není skupinou příkazů, ale příkaz který na nodu vygeneruje komprimovaný archív konfiguračních souborů clusteru, včetně aktuální statistiky o jednotlivých nodech.
resource
Příkazy sektupené v rámci resource jsou určeny pro práci s již nakonfigurovanými zdroji. K jejich spouštění (a zastavavení), přesunu mezi nody, a kromě nich je zde také podskupina param která sdružuje příkazy, které umožňují změnit za běhu hodnoty parametrů defaultně nastavené výchozí konfigurací.
- cleanup
- V případě že došlo z nějakého důvodu k chybě, která vede k pozastavení další operace, lze ji tímto způsobem deaktivovat a operaci zkusit provést znovu, s opravenými parametry
- demote
- failcount
- N maintenance
- manage
- CRM se pokusí převzít "vládu" nad zdrojem (nebo skupinou zdrojů), která je ve stavu unmanaged)
- meta
- Umožňuje vypsat případně změnit aktuální nastavení akcí, které manipulují se zdrojem. Tato změna však platí pouze do okamžiku, než jsou znovu načteny výchozí hodnoty z uložené konfigurace (příkaz reprobe)
- migrate,move
- Přesune zdroj na jiný nod. Což znamená že běh služby se na stávajícím nodu zastaví a spustí jinde. Funguje to v závislosti na tom, jakým způsobem agent zdroje podporuje migraci.
- param
- Umožňuje vypsat případně změnit aktuální parametry zdroje. Tato změna však platí pouze do okamžiku, než jsou parametry zdroje znovu načteny z výchozí konfigurace (příkaz reprobe)
- promote
- refresh
- reprobe
- restart
- CRM se pokusí zdroj korektně zastavit a znovu spustit.
- N scores
- Příkaz bez parametrů, který vypíše aktuální skóre všech zdrojů
- N secret
- status,show,list
- vypíše aktuální stav zdrojů
- start
- CRM se pokusí o spuštění zdroje. V případě, že se mu to nepodaří, zůstane zdroj ve stavu "stop" a v monitoru se objeví oznámení o chybě.
- stop
- CRM se pokusí o zastavení zdroje. V případě, že se mu to nepodaří, zdroj zůstane běžet ve stavu "unmanaged" a v monitoru se objeví oznámení o chybě.
- N trace
- unmanage
- CRM dá od zdroje ruce pryč. Záleží na agentovi zda může (ale nemusí) dále monitorovat její běh a případně pak správu zddroje zase převzít
- unmigrate,unmove
- Volání této funkce může být shodné s voláním move.
- N untrace
- N utilization
N script
- describe
- list
- run
- steps
- verify
N site
- ticket
status
Není skupinou příkazu, ale příkazem který vypisuje aktuální stavu clusteru, podobně jako utilita crm_mon.
pcs
Zastřešuje podobně jako crm konzolové nástroje Pacemakeru. Rozdíl je především v tom, že je napsán pro změnu v jazyce Python.