Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
11 février 2015

htmlpdflatexmanmd




stonithd

stonithd

Options disponibles pour les ressources stonith

OPTIONS

stonith−timeout = time [60s] Délai d'attente pour que l'action stonith se termine par périphérique stonith
priority = integer [0] La priorité de la ressource stonith. Les périphériques sont tentés dans l'ordre de priorité la plus haut à la plus faible.
pcmk_host_argument = string [port] Paramètre alternatif pour fournir le port.
pcmk_host_map = string [] Un mappage de noms d'hôtes vers des numéro de port pour les périphériques qui ne supportent pas les noms d'hôte (ex: node1:1,node2:2,3)
pcmk_host_list = string [] Une liste de machines contrôlées par ce périphérique
pcmk_host_check = string [dynamic−list] Comment déterminer quelle machine sont contrôlées par ce périphérique (dynamic-list, static-list, none)
pcmk_reboot_action = string [reboot] Commande alternative à lancer au lieu de reboot
pcmk_reboot_timeout = time [60s] Délai alternatif à utiliser pour les action de reboot au lieu de stonith-timeout.
pcmk_reboot_retries = integer [2] Nombre maximum de tentative de reboot dans la période timeout
pcmk_off_action = string [off] Commande alternative à lancer au lieu de off
pcmk_off_timeout = time [60s] délai alternatif pour les actions off
pcmk_off_retries = integer [2] Nombre de tentatives de la commande off dans la période timeout
pcmk_list_action = string [list] Commande alternative à lancer au lieu de 'list'
pcmk_list_timeout = time [60s] délai alternatif pour la commande list
pcmk_list_retries = integer [2] Nombre de tentatives de la commande list dans la période timeout
pcmk_monitor_action = string [monitor] Commande alternative à la commande monitor
pcmk_monitor_timeout = time [60s] délai alternatif pour la commande monitor
pcmk_monitor_retries = integer [2] Nombre de tentatives de la commande monitor dans la période timeout
pcmk_status_action = string [status] Commande alternative à la commande status
pcmk_status_timeout = time [60s] délai alternatif pour la commande status
pcmk_status_retries = integer [2] Nombre de tentatives de la commande status dans la période timeout
^
11 février 2015

htmlpdflatexmanmd




pengine

pengine

Options qui peuvent être configurées pour le moteur de stratégie.

OPTIONS

no−quorum−policy = enum [stop] Quoi faire quand le cluster n'a pas de quorum (stop, freeze, ignore, suicide)
symmetric−cluster = boolean [true] Toutes les ressources peuvent se lancer de partout par défaut
default−resource−stickiness = integer [0]
is−managed−default = boolean [true] Définis si les ressources du cluster devaient démarrer/stopper quand demandé
maintenance−mode = boolean [false] Définis si les ressources de monitor du cluster devaient démarrer/stopper quand demandé
start−failure−is−fatal = boolean [true] Traite toujours les erreurs de démarrage comme fatal
enable−startup−probes = boolean [true] Devrait vérifier le cluster pour les ressources actives durant le démarrage
stonith−enabled = boolean [true] Les nœuds en erreur sont "stonithisés"
stonith−action = enum [reboot] Action à envoyer au périphérique STONITH (reboot, poweroff, off)
stonith−timeout = time [60s] Temps d'attente pour terminer l'action STONITH
startup−fencing = boolean [true] Nœud STONITH non vus
cluster−delay = time [60s] délai d'aller-retour sur le réseau
batch−limit = integer [0] Nombre de jobs que le TE est autorisé à exécuter en parallèle
migration−limit = integer [−1] Nombre de jobs de migration que le TE est autorisé à exécuter en parallèle sur un nœud
default−action−timeout = time [20s] Délai d'attente pour que les actions se terminent
stop−all−resources = boolean [false] Spécifie si le cluster stop toutes les ressources actives
stop−orphan−resources = boolean [true] Spécifie si les ressources supprimées devaient être stoppées
stop−orphan−actions = boolean [true] Spécifie si les actions supprimées sont annulées
remove−after−stop = boolean [false] Supprime les ressources du LRM après qu'elles aient été stoppées
pe−error−series−max = integer [−1] Le nombre max d'entrées PE resultant en ERROR à sauvegarder. 0 pour désactiver, -1 illimité
pe−warn−series−max = integer [5000] Le nombre max d'entrées PE resultant en WARNING à sauvegarder. 0 pour désactiver, -1 illimité
pe−input−series−max = integer [4000] Nombre d'autres entrées PE à sauvegarder. 0 pour désactiver, -1 illimité
node−health−strategy = enum [none] Les attributs de nœud de combinaison de stratégie pour déterminer la santé générale du nœud. (none, migrate-on-red, only-green, progressive, custom)
node−health−green = integer [0] Le score green traduit en contraintes rsc_location. seulement avec node−health−strategy
node−health−yellow = integer [0] Le score yellow traduit en contraintes rsc_location. seulement avec node−health−strategy
node−health−red = integer [−INFINITY] Le score red traduit en contraintes rsc_location. seulement avec node−health−strategy
placement-strategy = enum [defaut] La stratégie pour déterminer le placement de ressource (default, utilization, minimal, balanced).
^
11 février 2015

htmlpdflatexmanmd




crmd

crmd

Service crmd

OPTIONS

dc-version = string [none] Version de Pacemaker dans le DC du cluster
cluster-infrastructure = string [heartbeat] La pile de messagerie sur lequel Pacemaker fonctionne
dc-deadtime = time [20s] Temps d'attente pour une réponse d'autres nœuds durant le démarrage
cluster-recheck-interval = time [15min] Interval pour les changements d'options, paramètres de ressources et contraintes basées sur le temps
load-threshold = percentage [80%] Quantité maximum de ressources système qui devraient être utilisé par les nœuds du cluster
node-action-limit = integer [0] Nombre de jobs maximum qui peuvent être planifiés par nœuds. Défaut: 2x cœurs.
election-timeout = time [2min] Le besoin d'ajuster cette valeur indique la présence d'un bug
shutdown-escalation = time [20min] Le besoin d'ajuster cette valeur indique la présence d'un bug
crmd-integration-timeout = time [3min] Le besoin d'ajuster cette valeur indique la présence d'un bug
crmd-finalization-timeout = time [30min] Le besoin d'ajuster cette valeur indique la présence d'un bug
crmd-transition-delay = time [0s] Activer cette option va ralentir la récupération du cluster.
^
08 février 2015

htmlpdflatexmanmd




stonith_admin

stonith_admin

Permet d'ajouter/supprimer/lister/vérifier les périphériques et le status des hôtes.

OPTIONS

-V, --verbose Augmente la verbosité
-q, --quiet mode silencieux

Commandes

-l, --list=value Liste les périphériques qui peuvent terminer l'hôte spécifié
-L, --list-registered Liste tous les périphériques enregistrés
-I, --list-installed Liste les périphériques installés
-M, --metadata Vérifie les méta-données du périphérique
-Q, --query=value Vérifie le status du périphérique
-F, --fence=value Enlève l'hôte nommé
-U, --unfence=value Remet l'hôte nommé
-B, --reboot=value Reboot l'hôte nommé
-C, --confirm=value Confirme que l'hôte nommé s'est arrête proprement
-H, --history=value Récupère les opérations de fencing
-R, --register=value Enregistre le périphérique stonith nommé
-D, --deregister=value Dé-enregistre le périphérique stonith nommé
-r, --register-level=value Enregistre un niveau stonith pour l'hôte nommé.
-d, --deregister-level=value Dé-enregistre un niveau stonith pour l'hôte nommé.

Options et modifiers

-a, --agent=value L'agent à instancier avec --register (ex fence_xvm)
-e, --env-option=value
-o, --options=value
-v, --device=value Un périphérique à associer avec un hôte donné et un niveau stonith
-i, --index=value Le niveau stonith (1-9)
-t, --timeout=value Timeout d'opération en seconde
--tolerance=value Ne fait rien si une requête équivalente à --fence a réussis moins de N secondes plus tôt.
-L, --list-all Alias pour --list-registered
^
08 février 2015

htmlpdflatexmanmd




pacemakerd

pacemakerd

Service pacemaker

OPTIONS

-V, --verbose Augmente la verbosité
-S, --shutdown Dit à Pacemaker d'éteindre la machine
-F, --features Affiche la version complète et liste les fonctionnalités de pacemaker
-f, --foreground Ne met pas en tâche de fond
-p, --pid-file=value Fichier pid
^
08 février 2015

htmlpdflatexmanmd




fence_legacy

fence_legacy

Helper qui présente une interface style RHCS pour les plugins stonith. Ne devrait jamais être invoqué par l'utilisateur directement

OPTIONS

-t sub_agent Sous agent
-n name Nom du nœud
-o on, off, reset, stat, hostlist
-s Commande stonith
-q mode silencieux
^
08 février 2015

htmlpdflatexmanmd




crm_verify

crm_verify

Vérifie une configuration complète.

OPTIONS

-V, --verbose Augmente la verbosité

Source de données

-L, --live-check Vérifie la configuration utilisée par le cluster en cours
-x, --xml-file=value Vérifie la configuration dans le fichier nommé
-X, --xml-text=value Vérifie la configuration dans la chaîne spécifiée
-p, --xml-pipe Vérifie la configuration depuis stdin

Options additionnelles

-S, --save-xml=value Sauvegarde le XML vérifié dans le fichier nommé.
^
08 février 2015

htmlpdflatexmanmd




crm_ticket

crm_ticket

Effectue des tâches liées aux tickets du cluster. Permet aux attributs de ticket d'être requêtés, modifiés ou supprimés.

OPTIONS

-V, --verbose Augmente la verbosité
-q, --quiet mode silencieux
-t, --ticket=value ID de ticket

Requêtes

-l, --info Affiche les informations du ticket
-L, --details Affiche les détails du ticket
-w, --raw Affiche l'ID du ticket
-q, --query-xml Requête le xml du ticket
-c, --constraints Affiche les contraintes src_ticket qui s'appliquent au ticket

Commandes

-g, --grant Autorise un ticket à ce site de cluster
-r, --revoke Révoque un ticket du site de cluster
-s, --standby Dit au site de cluster que ce ticket est en standby
-a, --activate Dit au site de cluster que ce ticket est actif

Commandes avancées

-G, --get-attr=value Affiche l'attribut nommé pour un ticket
-S, --set-attr=value Définis l'attribut nommé pour un ticket
-D, --delete-attr=value Supprime l'attribut nommé pour un ticket
-C, --cleanup Supprime tous les états d'un ticket avec ce site de cluster

Options additionnelles

-v, --attr-value=value Valeur d'attribut à utiliser avec -S
-d, --default=value Valeur d'attribut par défaut à afficher s'il n'est pas trouvé.
-f, --force Force l'action
-n, --set-name=value ID de l'objet instance_attributes à changer
-i, --nvpair=value ID de l'objet nvpair à changer/supprimer

Exemples

Afficher les informations des tickets
crm_ticket --info
Afficher le XML de ticketA:
crm_ticket --ticket ticketA query-xml
Afficher les contraintes rsc_ticket qui s'appliquent à ticketA:
crm_ticket --ticket ticketA --constraints
Autoriser ticketA:
crm_ticket --ticket ticketA --grant
lis la valeur de l'attribut granted:
crm_ticket --ticket ticketA --get-attr granted
Définis la valeur de l'attribut standby:
crm_ticket --ticket ticketA --set-attr standby --attr-value true
Supprime l'attribut granted
crm_ticket --ticket ticketA --delete-attr granted
Efface l'historique des opération de ticketA
crm_ticket --ticket ticketA --cleanup
^
08 février 2015

htmlpdflatexmanmd




crm_standby

crm_standby

Wrapper pour crm_attribute. Place un nœud en standby. les nœuds en standby ne peuvent pas héberger de ressources cluster

OPTIONS

-V, --verbose Augmente la verbosité
-q, --quiet mode silencieux

Commandes

-G, --query Requête la valeur courante de l'attribut/option
-v, --update=value Met à jour la valeur de l'attribut/option
-D, --delete Supprime l'attribut/option

Options additionnelles

-N, --node=value Définis un attribut pour le nœud nommé (au lieu du nœud courant)
-l, --lifetime=value Jusqu'à quand cela doit prendre effet. (reboot, forever)
-i, --id=value L'id utilisé pour identifier l'attribut
^
08 février 2015

htmlpdflatexmanmd




crm_simulate

crm_simulate

Outil pour simuler la réponse du cluster à des évènements

OPTIONS

-V, --verbose Augmente la verbosité
-q, --quiet mode silencieux

Opérations

-R, --run Détermine la réponse du cluster à une configuration et un statut donné.
-S, --simulate Simule l'exécution de transition et affiche le statut du cluster résultant
-X, --in-place Simule l'exécution de transition et stocke le résultat dans le fichier d'entrée
-s, --show-scores Affiche les scores d'allocation
-U, --show-utilization Affiche des informations d'utilisation
-P, --profile=value Lance tous les tests dans le répertoire nommé pour créer des données de profile

Évènements de cluster

-u, --node-up=value Met un nœud online
-d, --node-down Met un nœud offline
-f, --node-fail Marque un nœud en erreur
-i, --op-inject=value $rsc_$task_$interval@$node=$rc - Injecte la tâche spécifiée avant de lancer la simulation
-F, --op-fail=value $rsc_$task_$interval@$node=$rc - Échoue la tâche spécifiée durant la simulation
-t, --set-datetime=value Définis la date
-q, --quorum=value Spécifie une valeur pour le quorum
-g, --ticket-grant=value Autorise un ticket
-r, --ticket-revoke=value Révoque un ticket
-b, --ticket-standby=value Crée un ticket standby
-e, --ticket-activate=value Active un ticket

Options de sortie

-I, --save-input=value Sauvegarde la configuration dans le fichier nommé
-O, --save-output=value Sauvegarde la configuration dans le fichier nommé
-G, --save-graph=value Sauvegarde le graphe de transition (xml) dans le fichier nommé
-D, --save-dotfile=value Sauvegarde le graphe de transition (DOT) dans le fichier nommé
-a, --all-actions Affiche toutes les actions possible dans le graphe DOT.

Source de données

-L, --live-check Se connecte au CIB et utilise le contenu courant en entrée
-x, --xml-file=value Récupère le xml depuis le fichier nommé
-p, --xml-pipe Récupère le xml depuis stdin
^
08 février 2015

htmlpdflatexmanmd




crm_shadow

crm_shadow

Effectue un changement de configuration dans une copie shadow avant de mettre à jours le cluster actif. Définis un environnement dans lequel les outils de configuration ( cibadmin, crm_resource, etc) travaillent offline au lieu du cluster en cours, permettant de visualiser les changements et de tester les effets.

OPTIONS

-V, --verbose Augmente la verbosité
-w, --which Indique la copie shadow active
-p, --display Affiche le contenu de la copie shadow active
-E, --edit Édite le contenu de la copie shadow avec l'$EDITOR
-d, --diff Affiche les changements dans la copie shadow active
-F, --file Affiche l'emplacement de la copie shadow active

Commandes

-c, --create=value Créé la copie shadow nommée depuis la configuration du cluster actif
-e, --create-empty=value Créé la copie shadow nommée avec une configuration de cluster vide
-C, --commit=value Met à jour le contenu de la copie shadow nommée dans le cluster
-D, --delete=value Supprime le contenu de la copie shadow nommée
-r, --reset=value Recrée la copie shadow nommée depuis la configuration du cluster actif.
-s, --switch=value bascule sur la copie shadow nommée

Options additionnelles

-f, --force Force l'action
-b, --batch Ne crée par un nouveau shell
-a, --all Upload tout le CIB, uncluant le status avec --commit.

Exemples

Créer une copie shadow vide
crm_shadow --create-empty myShadow
Créer une copie shadow depuis la configuration du cluster
crm_shadow --create myShadow
Affiche la configuration shadow courante:
crm_shadow --display
supprime la configuration shadow courante:
crm_shadow --delete myShadow
Upload le configuration shadow courante dans le cluster
crm_shadow --commit myShadow
^
08 février 2015

htmlpdflatexmanmd




crm_resource

crm_resource

Effectue des tâche liées aux ressources du cluster. Permet aux ressources d'être requêtée (définition et emplacement), modifiées, et déplacée dans le cluster.

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux
-r, --resource=value ID de la ressource

Queries

-L, --list Liste toutes les ressources du cluster
-l, --list-raw Liste les ID de toutes les ressources instantiées
-O, --list-operations Liste les opérations de ressources actives.
-o, --list-all-operations Liste toutes les opérations de ressource.
--list-standards Liste les standards supportés
--list-ocf-providers Liste tous les fournisseur OCF disponibles
--list-agents=value Liste tous les agents disponibles pour le standard nommé et/ou fournisseur
--list-ocf-altenatives=value Liste tous les fournisseurs disponibles pour l'agent OCF
--show-metadata=value Affiche les méta-données pour le class:provider:agent donné
-q, --query-xml Requête la définition d'une ressource (template étendu)
-w, --query-xml-raw Requête la définition d'une ressource (xml brut)
-W, --locate Affiche l'emplacement courante d'une ressource
-A, --stack Affiche les prérequis et dépendances d'une ressource
-a, --constraints Affiche les contraintes d'emplacement qui s'appliquent à une ressource

Commandes

-p, --set-parameter=value Définis le paramètre spécifié pour une ressource.
-g, --get-parameter=value Affiche le paramètre spécifié pour une ressource.
-d, --delete-parameter=value Supprime le paramètre spécifié pour une ressource.
-M, --move Déplace une ressource depuis son emplacement courant, en spécifiant optionnellement une destination (-N) et/ou une durée pour laquelle elle doit prendre effet (-u).
-U, --un-move Supprime toutes les contraintes crées par une commande move.

Commandes avancées

-D, --delete Supprime une ressource du CIB
-F, --fail Dis au cluster que cette ressource a échoué
-R, --refresh Rafraîchit le CIB depuis le LRM
-C, --cleanup Supprime une ressource du LRM
-P, --reprobe Re-vérifie les ressources démarrées en dehors du CRM.
--force-stop Bypasse le cluster et stop une ressource sur le nœud local
--force-start Bypasse le cluster et démarre une ressource sur le nœud local
--force-check Bypasse le cluster et vérifie l'état d'une ressource dans le nœud local

Options additionnelles

-N, --node=value uname de l'hôte
-t, --resource-type=value type de ressource (primitive, clone, group, ...)
-v, --parametr-value=value Valeur à utiliser avec -p, -g ou -d
-u, --lifetime=value durée de vie des contraintes de migration
-m, --meta modifie un attribut d'utilisation de ressource.
-s, --set-name=value ID de l'objet instance_attributes à changer
-i, --nvpair=value ID de l'objet nvpair à changer/supprimer
-f, --force

Exemples

Lister les ressources configurées
crm_resource --list
lister les agents OCF disponibles
crm_resource --list-agents ocf
lister les agents OCF disponibles du projet linux-ha:
crm_resource --list-agents ocf:heartbeat
Affiche l'emplacement courant de myResource:
crm_resource --resource myResource --locate
déplace myResource sur une autre machine:
crm_resource --resource myResource --move
déplace myResource vers une machine spécifique:
crm_resource --resource myResource --move --node altNode
Permet à myResource de revenir à son emplacement original:
crm_resource --resource myResource --un-move
Dit au cluster que myResource a échoué:
crm_resource --resource myResource --fail
Stop un myResource ( et tout ce qui dépend de lui):
crm_resource --resource myResource --set-parameter target-role --meta --parameter-value Stopped
Dit au cluster de ne pas gérer myResource:
crm_resource --resource myResource --set-parameter is-managed --meta --parameter-value false
Efface l'historique d'opération de MyResource dans aNode:
crm_resource --resource MyResource --cleanup --node aNode
^
08 février 2015

htmlpdflatexmanmd




crm_report

crm_report

Créer une archive contenant tout ce qui est nécessaire pour reporter les problèmes de cluster

OPTIONS

-v Augmente la verbosité
--features Fonctionnalités du logiciel
-f, --from time Heure de début au format "YYYY−M−D H:M:S"
-t, --to time Heure de fin (défaut: now)
-T, --cts test Test CTS ou jeu de tests à extraire
--cts-log Fichier de log maître CTS
-n, --nodes nodes Noms des nœuds pour ce cluster seulement nécessaire si le cluster n'est pas actif sur la machine courante
-l, --logfile file Fichier de log pour la collecte
-p patt Expression régulière additionnelle pour matcher les variables à supprimer (défaut: "passz.*")
-L patt Expression régulière additionnelle pour matcher dans les logs (défaut: CRIT: ERROR:)
-M Collecte seulement les logs spécifié par -l
-S, --single-node Opéraion de nœud simple, ne tente pas de démarrer de collecteur de rapports sur d'autres nœuds
-c, --cluster type Force le type de cluster (corosync,openais,heartbeat,logmaster)
-C, --corosync Force le type de cluster corosync
-u, --user user user ssh pour les nœuds du cluster (défaut: root)
--dest Fichier/répertoire de destination

Exemples

crm_report −f "2011−12−14 13:05:00" unexplained−apache−failure crm_report −f 2011−12−14 −t 2011−12−15 something−that−took−multiple−days crm_report −f 13:05:00 −t 13:12:00 brief−outage
^
08 février 2015

htmlpdflatexmanmd




crm_node

crm_node

Outil d'affichage des informations de nœud bas-niveau

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux

Stack

-A, --openais Tente de se connecter seulement à un cluster basé sur OpenAIS
-H, --heartbeat Tente de se connecter seulement à un cluster basé sur Hearbeat

Commandes

-n, --name Affiche le nom utilisé par le cluster pour ce nœud
-N, --name-for-id=value Affiche le nom utilisé par le cluster pour le nœud avec l'id spécifié
-e, --epoch Affiche le temps auquel le nœud a joins le cluster
-q, --quorum Affiche un 1 si la partition a un quorum, 0 sinon
-l, --list Affiche tous les membres connus (passé et présents) de ce cluster)
-p, --partition Affiche les membre de cette partition
-i, --cluster-id Affiche l'id du nœud de ce cluster
-R, --remove=value Supprime le nœud stoppé avec le nodeid spécifie dans le cluster.

Options additionnelles

-f --force Force l'opération
^
08 février 2015

htmlpdflatexmanmd




crm_mon

crm_mon

Fournis un sommaire de l'état courant du cluster

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux

Modes

-h, --as-html=value Écrit le status du cluster dans le fichier html donné
-X, --as-xml Écrit le statut du cluster en xml sur sdtout.
-w, --web-cgi Affiche le statut du cluster comme sortie simple ligne (utilisable par nagios)
-S, --snmp-traps=value Envoie des traps snmp à cette station
-C, --snmp-community=value Spécifie la communauté snmp.

Options d'affichage

-n, --group-by-node Groupe les ressources par nœud
-r, --inactive Affiche les ressources inactives
-f, --failcounts Affiche les compteurs d'erreur
-o, --operations Affiche l'historique des opérations des ressources
-t, --timing-details Affiche l'horodatage de l'historique des opérations des ressources
-c, --tickets Affiche les tickets des clusters
-W, --watch-fencing Écoute pour les évènements de fencing.
-A, --show-node-attributes Affiche les attributs de nœud

Options additionnelles

-i, --interval=value fréquence de rafraîchissement en seconde
-1, --one-shot Affiche le status une seule fois sur la console et quitte.
-N, --disable-ncurses Désactive l'utilisation de ncurses
-d, --daemonize Lance en tâche de fond
-p, --pid-file=value Emplacement du fichier pid
-E, --external-agent=value Un programme à lancer quand les opérations de ressource prennent effet.
-e, --external-recipient=value Un conteneur pour le programme.

Exemples

Afficher le statut du cluster sur la console et les mises à jours qui se produisent:
crm_mon
Afficher le statut du cluster sur la console une seul fois:
crm_mon -1
Afficher le statut du cluster, grouper les ressources par nœud, et inclure les ressources interactives dans la liste:
crm_mon --group-by-node --inactive
Lancer crm_mon en tâche de fond et écrire dans un fichier html:
crm_mon --daemonize --as-html /path/to/file.html
Lancer crm_mon et exporter le statut en xml sur stdout, puis quitter:
crm_mon --as-xml
Lancer crm_mon en tâche de fond et envoyer les alertes snmp:
crm_mon --daemonize --snmp-traps snmptrapd.example.com
^
08 février 2015

htmlpdflatexmanmd




crm_master

crm_master

Wrapper pour crm_attribute. Met à jours, définis ou supprime un score de promotion d'une ressource. Ne devrait être invoqué qu'avec un agent de ressource OCF.

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux

Commandes

-v, --upgrade Met à jour la valeur de l'attribut/option
-G, --query Requête la valeur courante de l'attribut/option
-D, --delete Supprime l'attribut/option

Options additionnelles

-N, --node=value Définis un attribut pour le nœud nommé ( au lieu du courant)
-l, --lifetime=value Durée de vie de l'attribut (reboot, forever)
-i, --id=valeur L'ID utilisé pour identifier l'attribut
^
08 février 2015

htmlpdflatexmanmd




crm_failcount

crm_failcount

Wrapper pour crm_attribute. Définis, met à jour ou supprime le compteur d'erreur pour la ressource spécifiée ou le nœud nommé.

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux
-r, --resource-id=value Ressource à mettre à jours

Commandes

-v, --upgrade Met à jours la valeur de l'attribut/option
-G, --query Requête la valeur courante de l'attribut/option
-D, --delete Supprime l'attribut/option

Options additionnelles

-N, --node=value Définis un attribut pour le nœud nommé ( au lieu du courant)
-l, --lifetime=value Durée de vie de l'attribut (reboot, forever)
-i, --id=valeur L'ID utilisé pour identifier l'attribut
^
08 février 2015

htmlpdflatexmanmd




crm_error

crm_error

Outil pour afficher une description textuelle sur un code d'erreur

OPTIONS

-v, --verbose mode verbeux
^
08 février 2015

htmlpdflatexmanmd




crm_diff

crm_diff

Utilitaire pour comparer les configurations Pacemaker au format XML. Produit une sortie diff-like qui peut s'appliquer comme un patch.

OPTIONS

-v, --verbose mode verbeux
-o, --original=value Fichier xml
-O, --original-string=valeur chaine xml
-n, --new=value compare l'xml original au contenu du fichier nommé
-N, --new-string=value Compare l'xml original au contenu de la chaîne fournie
-p, --patch=value Patche l'xml original avec le contenu du fichier nommé
-c, --cib Compare/patch l'entrée en CIB
-f, --filter Supprime les différence sans importance entre les 2 entrées

Exemples

Obtenir les 2 fichiers de configuration avec cibadmin dans 2 configurations de cluster:
cibadmin --query › cib-old.xml
cibadmin --query › cib-new.xml
calculer et sauvegarder la différence entre les 2:
crm_diff --original cib-old.xml --new cib-new.xml › patch.xml
Appliquer le patche au fichier original:
crm_diff --original cib-old.xml --patch patch.xml › updated.xml
Appliquer le patche au cluster courant:
cibadmin --patch patch.xml
^
08 février 2015

htmlpdflatexmanmd




crm_attribute

crm_attribute

Gère les attributs de nœuds et les options du cluster

OPTIONS

-q, --quiet mode silencieux
-v, --verbose mode verbeux
-n, --name=value Le nom de l'attribut

Commandes

-u, --upgrade Met à jours la valeur de l'attribut/option
-Q, --query Requête la valeur courante de l'attribut/option
-D, --delete Supprime l'attribut/option

Options additionnelles

-N, --node=value Définis un attribut pour le nœud nommé ( au lieu d'une option du cluster)
-t, --type=value Quelle partie de la configuration se trouve l'option à mettre à jours/supprimer/requêter (crm_config, rsc_defaults, op_defaults, tickets)
-l, --lifetime=value Durée de vie de l'attribut node (reboot, forever)
-z, --utilization Définis un attribut d'utilisation pour le nœud
-s, --set-name=value Le jeu d'attribut dans lequel placer la valeur.
-i, --id=valeur L'ID utilisé pour identifier l'attribut
-d, --default=value Valeur par défaut à afficher si rien n'est trouvé dans la configuration.

Exemples

Ajouter un nouvel attribut appelé location avec la valeur office pour l'hôte myhost:
crm_attribute --node myhost --name location --update office
Lire la valeur de l'attribut de nœud location pour l'hôte myhost:
crm_attribute --node myhost --name location --query
Changer la valeur de l'attribut de nœud location pour l'hôte myhost:
crm_attribute --node myhost --name location --update backoffice
Supprimer l'attribut du nœud location pour l'hôte myhost:
crm_attribute --node myhost --name location --delete
Lire la valeur de l'option du cluster cluster-delay:
crm_attribute --type crm_config --name cluster-delay --query
Lire la valeur le l'option du cluster cluster-delay, affiche seulement la valeur:
crm_attribute --type crm_config --name cluster-delay --query --quiet
^
08 février 2015

htmlpdflatexmanmd




cibadmin

cibadmin

Fournis un accès direct à la configuration du cluster

OPTIONS

-v, --verbose mode verbeux

Commandes

-u, --upgrade Met à jours la configuration à la dernière syntaxe
-Q, --query Requête le contenu du CIB
-E, --erase Efface le contenu de tout le CIB
-B, --bump Augmente la valeur epock du CIB de 1
-C, --create Crée un objet dans le CIB. Échoue si l'objet existe déjà
-M, --modify Trouve l'objet dans l'arborescenc XML du CIB et le met à jours. Échoue s'il n'existe pas sauf si -c est spécifié
-P, --patch Fournis une mise à jours sous la forme d'un diff xml
-R, --replace Remplace récursivement un objet dans le CIB
-D, --delete Supprime le premier objet correspondant au critère fournis. (ex ‹op id="rsc1_op1" name="monitor"/› )
-d, --delete-all Utilisé avec --xpath, supprime tous les objets correspondant dans la configuration, pas seulement de premier.
-5, --md5-sum Calcule le hash du CIB sur le disque
-6, --md5-sum-versioned Calcule un hash du CIB versionné à la volée
-S, --sync Force le refresh du CIB sur tous les nœuds
-a, --empty Affiche un CIB vide

Options additionnelles

-f, --force
-t, --timeout=value Temps en seconde d'attente avant de déclarer l'opération échouée
-s, --sync-coll Attend que l'appel se termine avant de retourner
-l, --local La commande prend effet localement, devrait seulement être utilisé pour les requêtes
-c, --allow-create Permet à la cible d'une opération -M d'être créé s'il n'existe pas.
-n, --no-children En requêtant un objet, n'inclus par ses enfant dans le résultat retourné

Données

-X, --xml-text=value Récupère le xml depuis la chaîne fournie
-x, --xml-file=value nom du fichier xml à récupérer
-p, --xml-pipe Récupère le xml depuis stdin
-A, --xpath=value Un XPath valide à utiliser au lieu de -o
-o, --scope=value Limite le scope de l'opération à une section spécifique du CIB. ( nodes, resources, constraints, crm_config, rsc_defaults, op_defaults ou status )
-N, --node=value Envoie la commande à l'hôte spécifié

Exemples

Demander la configuration du nœud local:
cibadmin --query --local
Demander les options de configuration du cluster:
cibadmin --query --scope crm_config
Demander tous les paramètres target-role:
cibadmin --query --xpath "//nvpair[@name='target-role']"
Supprimer tous les paramètres is-managed:
cibadmin --delete-all --xpath "//nvpair[@name='is-managed']"
Supprimer la ressource nommée old:
cibadmin --delete --xml-text '‹primitive id="old"/›'
Supprimer toutes les ressources de la configuration:
cibadmin --replace --scope resources --xml-text '‹resources/›'
Remplacer toute la configuration avec le contenu de $HOME/pacemaker.xml:
cibadmin --replace --xml-file $HOME/pacemaker.xml
Remplacer la section constraints de la configuration avec le contenu de $HOME/constraints.xml:
cibadmin --replace --scope constraints --xml-file $HOME/constraints.xml
Augmenter la version de configuration pour empêcher d'anciennes configurations d'être chargées accidentellement:
cibadmin --modify --xml-text '‹cib admin_epoch="admin_epoch++"/›'
Éditer la configuration avec l'éditeur du système:
cibadmin --query › $HOME/local.xml
$EDITOR $HOME/local.xml
cibadmin --replace --xml-file $HOME/local.xml
^
08 février 2015

htmlpdflatexmanmd




attrd_updater

attrd_updater

Outil de mise à jour des attributs de nœud du cluster

OPTIONS

-v, --verbose mode verbeux
-q, --quiet mode silencieux
-n, --name=value Le nom de l'attribut

Commandes

-U, --update=value Met à jours la valeur de l'attribut dans attrd. Met à jours également la configuration du cluster
-Q, --query Lis la valeur de l'attribut depuis attrd
-D, --delete Supprime la valeur dans attrd.
-R, --refresh Force le service atrd à renvoyer toutes les valeurs courants à CIB.

Options additionnelles

-l, --lifetime=value Durée de vie de l'attribut du nœud (forever ou reboot)
-d, --delay=value Temps d'attente en seconde pour que d'autres changements se produisent
-s, --set=value Jeu d'attributs dans lequel placer la valeur.
^
26 janvier 2015

htmlpdflatexmanmd




votequorum

votequorum

configuration pour votequorum

L'extrait corosync.conf suivant va activer le service votequorum avec corosync:
quorum {
    provider: corosync_votequorum
}

   votequorum lis sa configuration depuis corosync.conf. Certaines valeurs peuvent être changé en temps réel, d'autres sont seulement lues au lancement de corosync. Il est très important que ces valeurs soient consistantes entre tous les nœuds participant au cluster.

   votequorum requière une valeur expected_votes pour fonctionner, qui peut être fait de 2 manières. Le nombre de votes attendus sera automatiquement calculé quand la section nodelist est présente dans corosync.conf, ou expected_votes peut être spécifié dans la section quorum. Le manque des 2 définissions désactive votequorum. Si les 2 sont présents, la valeur de la section quorum a précédence.

Exemple (sans nodelist) d'un cluster de 8 nœuds (chaque nœud a 1 vote):
quorum {
    provider: corosync_votequorum
    expected_votes: 8
}

Exemple (avec nodelist) d'un cluster de 3 nœuds (chaque nœud a 1 vote):
quorum {
    provider: corosync_votequorum
}
    
nodelist {
    node {
        ring0_addr: 192.168.1.1
    }
    node {
        ring0_addr: 192.168.1.2
    }
    node {
        ring0_addr: 192.168.1.3
    }
}

Fonctionnalités spéciales

   two_node: 1 active les opération de cluster à 2 nœuds (défaut: 0). Ce mode est un cas qui nécessite une considération spéciale. Avec un cluster à 2 nœuds, chaque nœud avec un simple vote, il y a donc 2 votes dans le cluster. Utiliser le calcule de majorité (50% de vote + 1) pour calculer le quorum implique que le quorum est de 2. Cela signifie que les 2 nœuds doivent toujours être en fonction pour que le quorum soit opérationnel.

Activer le two_node, le quorum est définis artificiellement à 1:
quorum {
    provider: corosync_votequorum
    expected_votes: 2
    two_node: 1
}

ou:
quorum {
    provider: corosync_votequorum
    two_node: 1
}
    
nodelist {
    node {
        ring0_addr: 192.168.1.1
    }
    node {
        ring0_addr: 192.168.1.2
    }
}

   Notes: activer le two_node active automatiquement wait_for_all. Il reste possible de changer wait_for_all dans la configuratio. Si plus de 2 nœuds sont joins au cluster, l'option two_node est automatiquement désactivé.

   wait_for_all: 1 (défaut: 0). le fonctionnement général de votequorum est de basculer d'un état 'inquorate' à un état 'quorate' dès que possible. Par exemple, dans un cluster à 8 nœuds, où tous les nœuds ont un vote à 1, expected_votes est à 8, et quorum est à 5 ( 50% + 1 ). Dès qu'au moins 5 nœuds sont visibles entre-eux, la partition d'au moins 5 devient 'quorate' et peut commencer à opérer. Quand WFA est activé, le cluster attend que tous les nœuds sont visibles au moins un fois. C'est utile combiné avec last_man_standing.

Exemple de configuration:
quorum {
    provider: corosync_votequorum
    expected_votes: 8
    wait_for_all: 1
}

   last_man_standing: 1 / last_man_standing_window: 10000. Active le LMS (Last Man Standing), défaut: 0. Le fonctionnement général de votequorum est de définir expected_votes et quorum au démarrage et d'utiliser ces valeurs durant toute la duées du cluster. En utilisant l'exemple d'un cluster 8 nœuds où chaque nœud a 1 vote, expected_votes est définis à 8 et quorum à 5. Cette condition permet un total de 3 pannes. Si une 4ème panne se produit, le cluster devient 'inquorate' et il va stopper les services. LMS permet au cluster de recalculer dynamiquement expected_votes et quorum sous des conditions spécifiques. Il est essentiel d'active WFA en utilisant LMS. En utilisant un cluster à 8 nœud, LMS permet de poursuivre le quorum opérant en perdant en cascade, jusqu'à 6 nœuds.

Exemple

- Le cluster est pleinement opérationnel avec 8 nœuds ( expected_votes: 8, quorum: 5)
- 3 nœuds tombent en panne, le cluster reste en quorum avec 5 mœuds
- Après last_man_standing_window millisecondes, expected_votes et quorum sont recalculés: expected_votes: 5 quorum: 3.
- À ce point, 2 nœuds supplémentaires peuvent être en panne et le quorum est maintenu avec 3 nœuds.
- Encore une fois, les valeurs sont recalculées: expected_votes: 3 quorum: 2
- À ce point, 1 nœud peut tomber en panne et le quorum est maintenu avec 2 nœuds
- Une fois de plus: expected_votes: 2 quorum: 2

   Notes: pour que le cluster descende automatiquement de 2 nœuds à 1 nœuds, auto_tie_breaker doit également être activé.

Exemple de configuration:
quorum {
    provider: corosync_votequorum
    expected_votes: 8
    last_man_standing: 1
}

ou (augmente le timeout à 20 secondes):
quorum {
    provider: corosync_votequorum
    expected_votes: 8
    last_man_standing: 1
    last_man_standing_window: 20000
}

   auto_tie_breaker: 1 active ATB (Auto Tie Breaker), défaut: 0. Le fonctionnement général de votequorum permet de perdre simultanément 50% -1 nœud, assumant que chaque nœud a 1 vote. Quand ATB est activé, le cluster pour perdre jusqu'à 50% de nœuds en même temps. Par défaut le cluster, ou le jeu de nœuds qui sont en contacte avec le nœud qui a le nodeid le plus faible restera en quorum. Les autres nœuds deviennent 'inquorate'. Ce mode peut être changé avec:

   auto_tie_breaker_node: lowest|highest|‹list of node IDs› 'lowest' est le défaut. Alternativement il est possible de spécifier un id de nœud qui sera requis pour maintenir le quorum. Si une liste de nœud est donnée, les nœuds sont évalués dans l'ordre, donc si le premier est présent il sera utilisé pour déterminer la partition 'quorate', si ce nœud n'est pas disponible, le second est vérifié.

exemple de configuration:
quorum {
    provider: corosync_votequorum
    expected_votes: 8
    auto_tie_breaker: 1
    auto_tie_breaker_node: lowest
}

autre exemple:
quorum {
    provider: corosync_votequorum
    expected_votes: 8
    auto_tie_breaker: 1
    auto_tie_breaker_node: 1 3 5
}

   allow_downscale: 1, active l'AD (Allow Downscale), défaut: 0. Votequorum ne descend jamais les votes du quorum. Avec AD activé, les expected_votes et quorum sont recalculés quand un nœud quitte le cluster dan un état clean.

1) Un cluster de N nœuds ( N est supérieur à 3).
2) expected_votes est à 3
3) Seul 3 nœuds fonctionnent
4) l'admin souhaite augmenter le traitement et ajouter 10 nœuds
5) expected_votes est automatiquement définis à 13
6) expected_votes minimum est de 3 (définis dans la configuration)
- À ce point, le votequorum fonctionne normalement.
7) L'admin souhaite supprimer des nœuds du cluster
8) En utilisant un shutdown ordonné, l'admin peut réduire la taille du cluster automatiquement jusqu'à 3, mais pas en dessous.

Exemples de configuration:
quorum {
    provider: corosync_votequorum
    expected_votes: 3
    allow_downscale: 1
}

   expected_votes_tracking: 1 Active l'EVT (Expected Votes Tracking), défaut: 0. l'EVT stocke la plus haute valeur vue des votes attendus sur disque et l'utilise comme valeur minimum pour les votes attendus en l'absence d'une haute autorité. C'est utile quand un groupe de nœuds devient détaché du cluster principal et après un redémarrage pouvant avoir suffisamment de votes pour fournir un quorum, qui peut se produire en utilisant allow_downscale. Noter que même si la version en mémoire de expected_votes est réduite, par exemple en utilisant corosync-quorumtool, la valeur stockée supérieur à la valeur vue, qui n'est jamais réduite. La valeur est maintenue dans le fichier /var/lib/corosync/ev_tracking qui peut être supprimée si vous n'avez pas besoin d'expected_votes.

Notes

- WFA / LMS / ATB / AD peuvent être combinés ensembles
- Pour changer les votes par défau pour un nœud il y a 2 options:

nodelist:
nodelist {
    node {
        ring0_addr: 192.168.1.1
        quorum_votes: 3
    }
    ....
}

ou quorum (déprécié):
quorum {
    provider: corosync_votequorum
    expected_votes: 2
    votes: 2
}

   Dans le cas où votes dans nodelist et quorum sont définis, la valeur de nodelist est utilisée.

  Seul votes, quorum_votes, expected_votes et two_node peuvent être changé en temps réels. Le reste nécessite de redémarrer le cluster.
^
26 janvier 2015

htmlpdflatexmanmd




corosync.xml

corosync.xml

version xml du fichier corosync.conf

   /etc/corosync/corosync.xml est utilisé par corosync-xmlproc pour générer un fichier de configuration valide. Ce fichier doit être un fichier xml valide, commençant avec l'élément racine corosync qui peut contenir les mêmes arguments que décris dans corosync.conf.

^
26 janvier 2015

htmlpdflatexmanmd




corosync.conf

corosync.conf

Fichier de configuration de corosync

Description

   Le fichier de configuration consiste de directives en accolades. Les choix possibles sont:

totem {} Contient les options de configuration pour le protocole totem
logging {} Contient les options de configuration pour le logging
quorum {} Contient les options de configuration pour le quorum
nodelist {} Contient les options de configuration pour les nœuds dans le cluster
qb {} Contient les options de configuration liées à libqb

Options totem

ringnumber Spécifie le numéro pour l'interface. En utilisant le protocole ring redondant, chaque interface devrait avoir un numéro ring séparé pour identifier les membres du protocole que l'interface utilise pour le ring. doit commencer à 0.
bindnetaddr Spécifie l'adresse réseaux auquel corosync devrait se lier. Doit être une IP dans le système, ou un réseau.
broadcast Optionnel et peut être mis à yes. Permet d'utiliser le broadcast pour les communications.
mcastaddr Adresse de multicast pour corosync. Le défaut devrait fonctionner sur la plupart des réseaux. Éviter 224.x.x.x parce que c'est une adresse multicast de config.
mcastport Port UDP pour le multicast.
ttl Si le cluster fonctionne sur un réseau routé, un TTL de 1 sera trop petit.
version Spécifie la version du fichier de configuration. Actuellement la seule version valide est 2.
clear_node_high_bit Optionnel et est seulement utile quand aucun nodeid n'est spécifié. Certains client corosync nécessitent un nodeid 32-bits signé supérieur à 0, cependant corosync utilise tous les 32-bits de l'espace d'adressage IPv4 en générant un nodeid. À yes, cette options force le MSB à 0.
crypto_hash Spécifie l'algorithme d'authentification HMAC utilisé pour authentifier tous les messages. Les valeurs valides sont: none, md5, sha1, sha256, sha384 et sha512.
crypto_cipher Spécifie l'algorithme de chiffrement à utiliser pour chiffrer les messages. Les valeurs valides sont: none, aes256, aes192, aes128, et 3des.
rrp_mode Spécifie le mode de ring redondant, qui peut être: none, active, ou passive. La réplication active offre les latences les plus faibles mais est moins performant. La réplication passive peut presque doubler la vitesse du protocole totem. none spécifie que seul l'interface réseau sera utilisé pour opérer le protocole totem.
netmtu Spécifie l'unité de transmission maximum réseaux. Pour définir cette valeur au-delà de 1500, le support des jumbo frames est nécessaire sur tous les nœuds.
transport Contrôle le mécanisme de transport utilisé. Si l'interface auquel corosync est lié est une interface RDMA, le paramètre "iba" peut être spécifié. Pour éviter l'utilisation du multicast, un paramètre de transport unicast "udpu" peut être spécifié. Cela nécessite de spécifier la liste des membres dans la directive nodelist. Défaut: udp.
cluster_name Spécifie le nom du cluster et son utilisation pour la génération automatique d'adresse multicast.
config_version Spécifie la version du fichier de configuration. C'est convertit en entier non-signé 64-bits. Par défaut: 0. Permet d'éviter de joindre d'anciens nœud sans configuration à jours.
ip_version Spécifie la version d'IP à utiliser pour les communications. ipv4 ou ipv6.
token Ce timeout spécifié en millisecondes le délai au delà duquel une perte de token est déclaré. C'est le temps passé à détecter une panne d'un processeur dans la configuration courante. Réformer une nouvelle configuration prend 50 ms en plus de ce timeout.
token_coefficient Utilisé seulement quand la section nodelist est spécifiée et contient au moins 3 nœuds. Le vrai timeout de token est calculé par token + (number_of_nodes -2) * token_coefficient. Cela permet au cluster de s'agrandir sans changer manuellement le timeoute de token à chaque fois qu'un nœud est ajouté. Défaut: 650ms
token_retransmit Ce timeout spécifie, en ms, après combien de temps avant de recevoir un token le token est retransmis. Ce sera automatiquement calculé si le token est modifié. Il n'est pas recommandé d'altérer cette valeur. Défaut: 238ms.
hold Ce timeout spécifie, en ms, combien de temps le token devrait être maintenu quand le protocole est en sous-utilisation. Il n'est pas recommandé d'altérer ce paramètre. Défaut: 180ms
token_retransmits_before_loss_const Cette valeur identifie combien de token retransmis devraient être tentés avnt de former une nouvelle configuration. Si cette valeur est définie, la retransmission et le maintient sera automatiquement calculé depuis retransmits_before_loss et token. Défaut: 4 retransmissions.
join Ce timeout spécifie, en ms, combien de temps attendre les messages join dans le protocole membership.
send_join Ce timeout spécifie, en ms, une plage entre 0 et send_join d'attente avant d'envoyer un message join. Pour les configuration inférieur à 32 nœuds, ce paramètre n'est pas nécessaire. Pour les ring plus grands, ce paramètre est nécessaire pour s'assurer que l'interface n'est pas surchargée avec des messages join. Une valeur raisonnable pour les grands ring (128 nœuds) est de 80ms. Défaut: 0
consensus Ce timeout spécifie, en ms, combien de temps attendre pour que le consensus soit achevé avant de commencer un nouveau tour de configuration de membership. a valeur minimum pour le consensus doit être 1.2 * token. Ce calcul est automatique si cette option n'est pas spécifiée
merge Ce timeout spécifie, en ms, combien de temps attendre avant de vérifier une partition quand aucun trafique multicast n'a été envoyé. Si un trafique multicast est envoyé, la detection du merge se produit automatiquement en tant que fonction du protocole. Défaut: 200ms
downcheck Ce timeout spécifie, en ms, combien de temps attendre avant de vérifie qu'une interface réseaux est de nouveau disponible après une indisponibilité. Défaut: 1000ms
fail_recv_constf Cette constante spécifie combien de rotations du token sans recevoir de messages quand les message devaient être reçus peuvent se produire avant qu'une nouvelle configuration ne soit formée. Défaut: 2500 échecs de réception de message.
seqno_unchanged_const Cette constante spécifie combient de rotation du token sans trafique multicast devrait se produire avant que le timer hold soit démarré. Défaut: 30 rotations.
heartbeat_failures_allowed Mécanisme HeartBeating. Configure le mécanisme HeartBeating pour une détection d'erreur plus rapide. Garder en mémoire qu'engager ce mécanisme dans un réseau avec beaucoup de perte peut causer les déclaration de fausse perte vu que le mécanisme ne se base que sur le réseau. Défaut: 0 (désactivé)
max_network_delay Mécanisme HeartBeating. Cette constante spécifie, en ms, le délai approximatif que le réseau prend pour transporter un packet d'une machine à une autre. Cette valeur doit être définie par les ingénieurs système. Défaut: 50ms
window_size Cette constante spécifie le nombre de messages qui peuvent être envoyés en une rotation de token. Si tous les processeurs traitent de manière égale, cette valeur peut être grande (300). pour réduire la latence dans les grand ring (›=16), le défaut est un compromis de sûreté. Si un ou plusieurs processeur sont lents, window_size ne devrait pas être supérieur à 256000 / netmtu pour éviter la surchage des tampon. Défaut: 50 messages.
max_messages Cette constante spécifie le nombre maximum de messages qui peuvent être envoyés par un processeur à la réception du token. Ce paramètre est limité à 256000 / netmtu pour empêcher la saturation des tampons de transmission.
miss_count_const Définie le nombre maximum de fois à la réception d'un token qu'un message est vérifié pour retransmission avant qu'une retransmission se produise. Défaut: 5 messages.
rrp_problem_count_timeout Spécifie le temps en ms d'attente avant de décrémenter le compteur de problème de 1 pour un ring particulier pour s'assurer qu'un lien n'est pas marqué en panne. (Défaut: 2000 ms)
rrp_problem_count_threshold Spécifie le nombre de fois qu'un problème est détecté avec un lien avec de définir ce lien en faute. Une fois en faute, plus aucune donnée n'est émise sur ce lien. Également, le compteur de problème n'est plus décrémenté quand le timeout de compteur de problème expire. Un problème est détecté quand tous les tokens d'un processeur n'a pas été reçus dans le rrp_token_expired_timeout. Les rrp_problem_count_threshold * rrp_token_expired_timeout devrait être au moins à 50ms inférieur au timeout du token, ou une reconfiguration complète peut se produire. Défaut: 10 problèmes.
rrp_problem_count_mcast_threshold Spécifie le nombre de fois qu'un problème est détecté avec un multicast avant de définis le lien en faute pour un mode rrp passif. Cette variable n'est pas utilisée pour un mode rrp actif.
rrp_token_expired_timeout Spécifie le temps en ms pour incrémenter le compteur de problème pour le rrp après avoir reçu un token de tous les rings pour un processeur particulier. Cette valeur est automatiquement calculée du timeout de token et problem_count_threshold mais peut être écrasé. Défaut: 47ms
rrp_autorecovery_check_timeout Spécifie le temps en ms pour vérifier si le ring en panne peut être auto-récupéré.

Options logging

timestamp Spécifie si un horodatage est placé dans les messages de log. Défaut: off
fileline spécifique que le fichier et la ligne devrait être affichés. Défaut: off
function_name Spécifie que le nom de la fonction devrait être affiché. Défaut: off
to_stderr
to_logfile
to_syslog spécifient la sortie de logging. peut être yes ou no. Défaut: syslog et stderr
logfile si to_logfile est à yes, cette option spécifie le chemin du fichier de log.
logfile_priority Priorité du logfile pour un sous-système particulier. Ignoré si debug est on. (alert,crit, debug, emerg, err, info, notice, warning) Défaut: info.
syslog_facility Type de facilité syslog ( daemon, local0, local1, local2, local3, local4, local5, local6 et local7). Défaut: daemon
syslog_priority Log level pour le sous-système particulier ( alert, crit, debug, emerg, err, info, notice, warning ) Défaut: info
debug Active le debug. Défaut: off.

Options logger_subsys

Toutes les options de la directive logging sont valide, plus:
subsys Spécifie le nom du sous-système pour lequel le logging est spécifié. C'est le nom utilisé par un service dans l'appel log_init. Cette directive est requise.

Options quorum

provider seul corosync_votequorum est supporté.

Options nodelist

ringX_addr Spécifie l'adresse IP d'un des nœuds. X est le numéro du ring.
nodeid Requis pour IPv6, optionnel pour IPv4. valeur 32bits spécifiant l'identifiant du nœud délivré au service de cluster membership. 0 est réservé et ne doit pas être utilisé.

Options qb

ipc_type Type d'IPC à utiliser. Peut être native, shm et socket. Native signifie soit shm soit socket, en fonction de ce qui est supporté par l'OS. shm est généralement plus rapide, mais nécessite d'allouer un tampon ring dans /dev/shm.
^
26 janvier 2015

htmlpdflatexmanmd




corosync-xmlproc

corosync-xmlproc

Convertis corosync.xml en fichier de configuration corosync

Options

input_xml fichier xml à convertir
output_file nom du fichier de destination
^
26 janvier 2015

htmlpdflatexmanmd




corosync-quorumtool

corosync-quorumtool

Définis et affiche les paramètres de quorum et définis les options de vote

Options

-s Affiche le status du quorum
-m Monitor constamment le statut du quorum
-l Liste les nœuds
-v ‹votes› Change le nombre de votes pour un nœuds
‹nodeid› nodeid optionnel du nœud pour -v
-H Affiche les nodeids en hexadécimal
-i Affiche les adresses IP au lieu de résoudre leur noms
-o ‹a|n|i› Ordonne la sortie de la liste des nœuds. a pour l'adresse ip, n par nom, et i par id de nœud
^
26 janvier 2015

htmlpdflatexmanmd




Corosync - Présentation

Corosync - Présentation

Présentation du moteur de cluster Corosync

Description

   Le projet corosync est un projet pour implémenter un outil de développement de haute disponibilité haute performance et faible charge. Le focus majeur de la haute disponibilité dans le passé a été de masquer les erreurs hardware. Les pannes dans d'autres composants du système restaient non-résolus jusqu'à corosync. Corosync est conçu pour les applications pour répliquer leur état jusqu'à 16 processeurs. Les processeurs contiennent tous un réplica de l'état de l'application.

  Le projet corosync fournis une API de message de groupe appelé CPG, qui implément un modèle de messagerie de groupe fermé présentant des garantie de synchronisation virtuel garantie.

  Pour gérer les conditions où les processus exécutant l'échange CPG plante, on fournis le Simple Availability Manager (SAM) pour permet de redémarrer l'application.

Démarrage rapide

   Dans le répertoire conf dans les sources se trouvent de nombreux fichiers qui doivent être copiés dans le répertoire /etc/corosync. corosync devrait fonctionner avec la configuration par défaut. Corosync utilise des techniques cryptographiques pour s'assurer de l'authenticité et de la protection des messages. pour que corosync soit sécurisé, une clé privée doit être générée et partagée par tous les processeurs.

Variables d'environnement

COROSYNC_MAIN_CONFIG_FILE Spécifie le fqdn du fichier de configuration. défaut: /etc/corosync/corosync.conf
COROSYNC_TOTEM_AUTHKEY_FILE fqdn de la clé partagée utilisée pour authentifier et chiffrer les données utilisée dans le protocole Totem. Défaut: /etc/corosync/authkey

Sécurité

   Corosync chiffre tous les messages envoyés sur le réseau en utilisant le chiffrement SOBBER-128. Corosync utilise HMAC et SHA1 pour authentifier tous les messages. Corosync utilise NSS comme générateur de nombres pseudo-aléatoire. La libraire EVS utilise /dev/random.

  Si les messages de membre peuvent être capturés par des intrus, il est possible d'exécuter une attaque DOS dans le cluster. Dans ce scénario, le cluster est déjà compromis et une attaque DOS est le dernier des soucis de l'administrateur.

   La sécurité dans corosync n'offre pas de solution parfaite puisque les clés sont réutilisée. Il peut être possible pour un attaquant de capturer des packets et de déterminer la clé partagée. Dans ce scénario, le cluster est compromis. Pour des raisons de sécurité, corosync ne devrait jamais avoir le setuid ou setgid dans le système de fichier.

Composants

- La librairie cmap est utilisée pour interagir avec la base de configuration utilisée par corosync.
- La librairie cpg est utilisée pour créer des applications distribuées qui opèrent proprement durant le partitionement, fusions, et pannes du cluster.
- la librairie sam fournis un outils pour vérifier l'état de santé d'une application. Son but est de redémarrer un processus local quand il plante pour répondre à un requête d'état de santé dans un intervalle de temps configuré.
- La librairie quorum est chargé dans tous les nœuds du cluster et track le statut du quorum d'un nœud. Pour que ce service soit utile, un fournisseur de quorum doit être configuré.
- La librairie votequorum est optionnellement chargé dans tous les nœuds dans le cluster pour éviter les situations de split-brain. Il permet cela en ayant un nombre de votes assignés à chaque système dans le cluster et s'assurer que seulement lorsqu'une majorité de votes sont présents, les opérations du cluster sont autorisés à être traités.
^
26 janvier 2015

htmlpdflatexmanmd




corosync-notifyd

corosync-notifyd

Écoute les évènements corosync importants et les envoie sur dbus et/ou snmp

Options

-f Lance en tâche de fond
-l Log tous les évènements
-o Affiche les évènements sur stdout
-s envoie des traps snmp
-m définis d'adresse du gestionnaire snmp
-d Envoie les signaux dbus dans tous les évènements
^
26 janvier 2015

htmlpdflatexmanmd




corosync-keygen

corosync-keygen

Génère une clé d'authentification pour corosync

Description

   Pour configurer corosync avec des techniques cryptographiques pour s'assurer de l'authenticité de la protection des données des messages, il faut générer une clé privée. corosync-keygen crée cette clé et l'écris dans /etc/corosync/authkey.

  La clé privée doit être copiée dans tous les processeurs dans le cluster. Si la clé privée n'est pas la même pour tous les nœuds, cet nœuds ne seront pas capables de se joindre à la même configuration.

Copier la clé dans un stockage sécurisé ou utiliser ssh. Puis l'installer avec la commande suivante:
install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/corosync/authkey
Si un message "Invalid digest" apparaît dans corosync, les clés ne sont pas consistantes entre les processeursS.

OPTIONS

-k ‹filename› Spécifie le chemin où créer la clé. défaut: /etc/corosync/authkey
-l Utilise une source de données aléatoires moins sûre, qui ne nécessite pas l'aide de l'utilisateur pour générer de l'entropy.
^
26 janvier 2015

htmlpdflatexmanmd




corosync-cpgtool

corosync-cpgtool

Outil d'affichage des groupes et membres cpg

Options

-d Délimiter entre les champs
 -e N'échappe par les caractères non imprimables dans le nom de groupe
 -n Affiche seulement tous les noms de groupes existant.
^
26 janvier 2015

htmlpdflatexmanmd




corosync-cmapctl

corosync-cmapctl

Outil d'accès à la base d'objets

Options

-b Affiche les valeurs binaires
-s key_name type value Définis une clé où type est un parmi ([i|u][8|16|32|64] | flt | dbl | str | bin) pour bin, value est le nom du fichier (ou -pour stdin)
-d key_name Supprimer une clé
-D key_prefix Supprimer plusieurs clé de même préfixe
-g key_name Récupérér une clé
-t key_name Suivre les changements de clé
-T key_prefix Suivre les changements de plusieurs clés
-p filename Charger les paramètres depuis un fichier:

           Le format du fichier est sous la forme: [^[^]]‹key_name›[ ‹type› ‹value›]. Les clé préfixée avec '^' sont supprimées, les clé préfixé avec '^^' sont supprimées par préfixe. type et value sont optionnel dans ces cas là.

^
26 janvier 2015

htmlpdflatexmanmd




corosync-cfgtool

corosync-cfgtool

Outil administratif pour corosync

Description

   Outil pour afficher et configurer les paramètres actifs dans corosync

OPTIONS

-i Cherche seulement les informations sur l'adresse IP spécifiée
-s Affiche le statut des rings courants dans ce nœud. Si une interface est en faute, retourne 1, sinon 0.
-r Ré-initialise l'état du ring redondant du cluster après une faute pour réactiver l'opération de redondance.
-l Charge un service identifié par le nom du service spécifié
-u Décharge un service identifié par le nom du service spécifié
-a Affiche toutes les adresses IP d'un nœud.
-k Tue un nœud identifié par l'id de nœud
-R Dit à toutes les instances de corosync dans ce cluster de recharger corosync.conf
-H Éteins corosync proprement dans ce nœud.
^
26 janvier 2015

htmlpdflatexmanmd




corosync-blackbox

corosync-blackbox

Dump les données à la volée depuis le corosync blackbox

Description

   corosync-blackbox pilote corosync pour écrire ses données dans un fichier et lancer qb-blackbox qui l'affiche.

Exemples

Afficher la données courante:
$ corosync-blackbox
Starting replay: head [74205] tail [0]
rec=[1] Log Message=Corosync Cluster Engine ('1.2.1'): started and ready to provide service.
[...]
rec=[2607] Log Message=Delivering MCAST message with seq a to pending delivery queue
rec=[2608] Log Message=downlist received left_list: 2
rec=[2609] Log Message=chosen downlist from node r(0) ip(192.168.100.11)
Finishing replay: records found [2609]

^
26 janvier 2015

htmlpdflatexmanmd




corosync

corosync

Moteur de clustering Corosync

OPTIONS

-f Démarre l'application en tâche de fond
-r Set round robin realtime scheduling
-t Test la configuration et quitte
^
26 janvier 2015

htmlpdflatexmanmd




cmap_keys

cmap_keys

Vue générale dans le CMAP

Description

   La librairie cmap est utilisée pour interagir avec la base de configuration utilisée par corosync. Il y a 3 types de clé stockés dans cmap: Mappage de valeurs stockées dans le fichier de configuration, statistiques temps réels, valeurs créées par l'utilisateur.

Clés

internal_configuration.* Données de configuration interne. Ces clés sont lecture seule. Si une configuration spécifique au sous-système est nécessaire, la clé doit être sous la forme logging.logger_subsys.SERVICE.key où SERVICE est un nom de service en majuscule et la clé est la même que dans le fichier de configuration.
nodelist.* Valeurs lues depuis le fichier de configuration. Chaque élément node dans le fichier de configuration à une position assignées commençant à 0. Donc de premier nœud a le préfixe nodelist.node.0..
runtime.blackbox.* Trigger keys. Il est recommandé d'utiliser corosync-blackbox pour trouver facilement les adresses nodeid/ring du nœud local directement de cmap.
runtime.connections.* Informations sur le nombre total de connexions actives, terminées, et sur chaque connexion IPC à un moment donné. Tous les clés sont lecture seules.
runtime.connections.ID.* Chaque connexion IPC a un ID unique. C'est sous la forme [[short_name:][PID:]internal_id. Les clés typiques sont:

        client_pid Contient le PID d'une connexion IPC
        dispatched avec le nombre de messages dispatchés
        invalid_request nombre de requête faites par IPC qui sont invalides
        name Contenant le nom court d'une connexion IPC
        overload Nombre de de requêtes qui n'ont pas été traité à cause d'une surcharge
        queue_size nombre de messages en queue d'attente d'envoie
        recv_retries nombre total de réceptions interrompues
        requests nombre de requêtes faites par IPC
        responses nombre de réponses envoyées par IPC
        send_retries nombre total d'envoies interrompues
        service_id ID du service auquel IPC est connecté

runtime.services.* statistiques pour les moteurs de service. Chaque service a son propre service_id avec un nom runtime.services.SERVICE., où SERVICE est un nom de service en minuscule.
runtime.totem.pg.mrp.srp.* Statistiques sur totem. Les clés sont lecture seule:

        commit_entered Nombre de fois qu'un processeur entre en état COMMIT
        commit_token_lost Nombre de fois qu'un processeur perd le token en état COMMIT
        consensus_timeouts Nombre de fois qu'un processeur dépasse le délai en créant un consensus sur le membership
        continuous_gather Nombre de fois qu'un processeur n'a pas été capable d'atteindre de consensus
        firewall_enabled_or_nic_failure à 1 quand le processeur n'a pas été capable d'atteindre le consensus depuis longtemps.
        gather_entered Nombre de fois qu'un processeur entre à l'état GATHER
        gather_token_lost Nombre de fois qu'un processeur perd le token en état GATHER
        mcast_retx Nombre de messages retransmis
        mcast_rx Nombre de message multicast reçus
        mcast_tx Nombre de message multicast transmis
        memb_commit_token_rx Nombre de token reçus
        memb_commit_token_tx Nombre de token émis
        memb_join_rx Nombre de message join reçus
        memb_join_tx Nombre de message join transmis
        memb_merge_detect_rx Nombre de message member merge reçus
        memb_merge_detect_tx Nombre de message member merge transmis
        orf_token_rx Nombre de tokens orf reçus
        orf_token_tx Nombre de tokens orf transmis
        recovery_entered Nombre de fois qu'un processeur entre à l'état recovery
        recovery_token_lost Nombre de fois qu'un token a été perdu à l'état recovery
        rx_msg_dropped Nombre de messages reçus qui ont été supprimés parce qu'ils n'étaient pas attendus
        token_hold_cancel_rx Nombre de token reçus contenant un message cancel
        token_hold_cancel_tx Nombre de token émis contenant un message cancel
        mtt_rx_token Mean Transmis Time du token, en ms. temps entre 2 tokens consécutifs reçus
        avg_token_workload Temps moyen en ms du temps à maintenir le token dans le processeur courant
        avg_backlog_calc Temps moyen de message non encore envoyés du processeur courant.

runtime.totem.pg.mrp.srp.members.* Contient les membres du protocole totem. Chaque membre à le format runtime.totem.pg.mrp.srp.members.NODEID.KEY œu key peut être:

        ip L'adresse IP du membre
        joint_count Nombre de fois que le processeur à joins le membership avec le processeur local.
        status Statut du processeur
        config_version Version de configuration du nœud membre.

resources.process.PID.* Préfixe créé par les applications utilisant SAM avec l'intégration CMAP. Il contient les clés suivantes:

        recovery Stratégie de récupération du processus.
        poll_period Valeur passée dans sam_initialize comme time_interval
        last_updated Dernière fois que sam a reçus un heartbeat du client
        state État du client.

uidgid.* Les informations sur les utilisateurs/groupes qui sont autorisés à faire des connexions IPC à corosync
quorum.cancel_wait_for_all Dit à votequorum d'annuler l'attente de tous les nœuds au démarrage du cluster. Peut être utilisé pour débloquer le quorum si des nœud sont éteinds.
config.reload_in_progress À 1 quand corosync.conf est rechargé, 0 sinon.
config.totemconfig_reload_in_progress Idem, mais changé après une configuration totem.

Exemples

Changer dynamiquement les permission user/group pour utiliser cororsync ipc:
corosync-cmapctl -s uidgid.uid.500 u8 1
GID est similaire:
corosync-cmapctl -s uidgid.gid.500 u8 1
Pour supprimer la permission, la supprimer:
corosync-cmapctl -d uidgid.gid.500
Ajouter/supprimer dynamiquement un nœud UDPU. On ajoute un nœud avec l'ip 10.34.38.108 et nodeid 3. On cherche une position de nœud qui n'est pas utilisée:
nodelist.local_node_pos (u32) = 1
nodelist.node.0.nodeid (u32) = 1
nodelist.node.0.ring0_addr (str) = 10.34.38.106
nodelist.node.1.nodeid (u32) = 2
nodelist.node.1.ring0_addr (str) = 10.34.38.107
Donc la position de nœud suivant sera 2:
corosync-cmapctl -s nodelist.node.2.nodeid u32 3
corosync-cmapctl -s nodelist.node.2.ring0_addr str 10.34.38.108
Toujours ajouter ring0_addr en dernier