Pacemaker supprimer une ressource

 

Suite à l'article précédent qui permet de mettre en place un failover d'IP, voici un petit article sur la suppression d'une ressource dans pacemaker. On profite de ce cas pour apprendre à utiliser le shell crm.

On va procéder avec précautions pour supprimer une ressource, il peut être assez facile de "casser" toute la configuration de notre cluster.

CRM en mode shell

Il faut savoir que les commandes crm sont interractives et disposent d'une aide :

# crm
crm(live)#

On se retrouve dans une sorte de shell. Pour avoir l'aide :

crm(live)# help

This is the CRM command line interface program.

Available commands:

cib              manage shadow CIBs
resource         resources management
configure        CRM cluster configuration
node             nodes management
options          user preferences
ra               resource agents information center
status           show cluster status
quit,bye,exit    exit the program
help             show help
end,cd,up        go back one level

On peut alors passer dans la partie "configure" ou "node" comme on l'avait fait directement sur la ligne de commande avec toutes les options.

Si on se trouve dans la partie "configure" pour revenir au début il suffit de faire end.

Si une modification est faite, pour l'appliquer il suffit de faire commit.

Supprimer une ressource

On va appliquer cette utilisation du shell crm en supprimant une ressource. Je prends ici le cas qui suit l'article précédent en supprimant la ressource VIP-1.

Etape 1 : travailler sur une copie de la conf

Par sécurité on ne va pas travailler directement en live sur le cluster mais on va faire une copie de la configuration et travailler dessus :

crm(live)# cib new backup_config
INFO: backup_config shadow CIB created

crm(backup_config)# cib new temp_config
INFO: temp_config shadow CIB created

 

Je crée en fait deux copie, un backup et une copie de travail. On remarque au passage que lors de la création d'une copie on se retrouve dessus, regardez l'info entre (). Quand on travaille sur la version "live" on a crm(live) et crm(backup_config) pour la copie de backup.

Je veux travailler sur la version temporaire :

# crm(temp_config)# cib use temp_config
crm(temp_config)#

Etape 2 : affichage de la configuration

crm(temp_config)# configure
crm(temp_config)configure# show
node $id="1a6b7362-3ec0-45ef-8617-59c295aa06fa" node02
node $id="cf0c3898-174c-46eb-bb73-524712ab7f70" node01 \
attributes standby="off"
primitive VIP-1 ocf:heartbeat:IPaddr2 \
params ip="192.168.14.35" nic="eth0:0" cidr_netmask="24" \
op monitor interval="30s" timeout="20s"
location cli-prefer-VIP-1 VIP-1 \
rule $id="cli-prefer-rule-VIP-1" inf: #uname eq node01
property $id="cib-bootstrap-options" \
dc-version="1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff" \
cluster-infrastructure="Heartbeat" \
stonith-enabled="false" \
no-quorum-policy="ignore" \
dc-deadtime="10s"

On entre dans la partie configure et on affiche la conf avec la commande show.

Etape 3 : suppression d'une ressource

crm(temp_config)configure# delete VIP-1
INFO: hanging location:cli-prefer-VIP-1 deleted

La ressource est supprimée dans la conf temporaire, si vous faites un crm_mon la ressource est toujours fonctionnelle dans le cluster.

 Etape 4 : mise à jour sur le cluster

Premièrement on sort de la partie config :

crm(temp_config)configure# verify
crm(temp_config)configure# commit
crm(temp_config)configure# end

Le verify permet de verifier que notre configuration est conforme.

On publie la conf temporaire dans le cluster :

crm(temp_config)# cib commit temp_config
INFO: commited 'temp_config' shadow CIB to the cluster

Cette fois-ci on à bien supprimé la ressource du cluster.

On peut supprimer la conf temporaire :

crm(temp_config)# cib use live
crm(live)# cib delete temp_config
INFO: temp_config shadow CIB deleted

Revenir sur la conf précédente

Comme j'ai fait un backup de ma conf je peux revenir dessus :

crm(live)# cib commit backup_config
INFO: commited 'backup_config' shadow CIB to the cluster

A vous de jouer.