CRM (CLI)

From DCEwiki
Jump to: navigation, search

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[edit]

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.

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 na oblast template v konfiguraci zdrojů příkaz list. Ten by v případě že bychom měli nakonfigurované nějaké šablony vypsal jejich seznam, ale protože zatím neexistují, zůstal výpis prázdný.

Tím že příkaz zopakuje bez volání list, "skočíme" rovnou do oblasti, kde lze pracovat se šablonami. O úroveň výš se lze vrátit buď příkazem cd (podobně jako když měníme adresář), end, up nebo back - všechny 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
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[edit]

new 
delete 
reset 
commit 
use 
diff 
list 
import 
cibstatus 

N cluster[edit]

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[edit]

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[edit]

add-node 
add_node 
del-node 
del_node 
diff 
edit 
get 
log 
pull 
push 
reload 
set 
show 
status 

N history[edit]

detail 
diff 
_dump 
exclude 
graph 
info 
latest 
limit 
log 
node 
peinputs 
refresh 
resource 
session 
setnodes 
show 
source 
timeframe 
transition 
wdiff 

node[edit]

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[edit]

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[edit]

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[edit]

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.

Poznámka Následující příkaz vygeneruje archiv s názvem report_1.tar.bz2, který obsahuje adresář s názvem report_1 a celou strukturu souborů a adresářů souborů jednotlivých nodů v uvedený čas.
crm(live)# report -f 14:17 report_1

resource[edit]

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[edit]

describe 
list 
run 
steps 
verify 

N site[edit]

ticket 

status[edit]

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

Poznámka
Poznámka
Poznámka

pcs[edit]

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.