CRM (CLI)

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

Administračním nástrojem, který integruje ostatní příkazy je konzolový nástroj crm. Ten spolupracuje s démonem crmd, skrz který se cluster ovládá. Je-li démon /usr/lib/heartbeat/crmd v běhu, vypadá monitorovací výstup clusteru bez spuštěných a nakonfigurovaných zdrojů takto..

Poznámka
nod-1:~# crm status
============
Last updated: Tue Apr 12 11:44:55 2011
Stack: openais
Current DC: nod-1 - partition with quorum
Version: 1.0.9-da7075976b5ff0bee71074385f8fd02f296ec8a3
2 Nodes configured, 2 expected votes
0 Resources configured.
============

Online: [ nod-2 nod-1 ]

Příkaz lze používat i jako shell, a to spuštěním bez parametrů. Výhodou shellového přístupu je, že lze využívat nápovědy, ukládání historie příkazů, automatického doplňování při nastavování zdrojů, atd.

Poznámka
crm(live)configure# show
node nod-1
node nod-2
property $id="cib-bootstrap-options" \
	dc-version="1.0.9-da7075976b5ff0bee71074385f8fd02f296ec8a3" \
	cluster-infrastructure="openais" \
	expected-quorum-votes="2" \
	stonith-enabled="false" \
	last-lrm-refresh="1302601487"
nod-1:~#

Volání crm s parametry má zase výhodu v tom, že lze operativně zjišťovat různé informace z clusteru a používat jako vstupy pro různé skripty.

crm shell

Příkazová řádka crm shellu pracuje se stromovou strukturou. Příkazy jsou seskupeny do "složek", které mohou v některých případech mít i několik úrovní. Jako kupř. v níže uvedeném demonstračním příkladu.

Poznámka
crm(live)#
crm(live)# configure template list
crm(live)#
crm(live)# configure template
crm(live)configure template# cd 
crm(live)configure# template
crm(live)configure template# end
crm(live)configure# end
crm(live)#

Hned zkraje příkladu je aplikován příkaz list pro výpis konfiguračních šablon. Jelikož v aktuální konfiguraci žádné šablony zatím neexistují, zůstal jeho výpis prázdný.

Ovšem příkazem na následujícím řádku "skočíme" přímo do skupiny příkazů pro práci se šablonami. Zpět o úroveň výš se lze dostat buď příkazem cd (podobně jako když měníme adresář), nebo end - oba mají stejný efekt.

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

cib

new
delete
reset
commit
use
diff
list
import
cibstatus

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.

cibstatus
clone
colocation,collocation
commit
delete
edit
erase
group
load
location
monitor
ms,master
nastaví zdroj (primitive) tak aby se spouštěl na obou strojích
node
op_defaults
order
primitive
primitiva jsou základní služby, které lze seskupovat (group), řadit (order) aj.
property
ptest
rename
refresh
rsc_defaults
save
show
výpis stávající konfigurace
template
upgrade
verify
xml

node

Sdružuje příkazy pro práci s nody

attribute
clearstate
delete
fence
online
show,list
vypíše seznam nodů jako prostý text
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.

skill-level
user
editor
pager
sort-elements
output
colorscheme
check-frequency
check-mode
show
save

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.

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
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.
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ě.
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.

status

Není skupinou příkazu, ale příkazem který vypisuje aktuální stavu clusteru, podobně jako utilita crm_mon.

Poznámka
Poznámka
Poznámka