7.3. Configurer le fencing
cluster.conf
comme suit en vous basant sur le type des périphériques et des méthodes fence requis pour votre configuration :
- Dans la section
fencedevices
, spécifiez chaque périphérique fence à l'aide d'un élémentfencedevice
et d'attributs dépendants au(x) périphérique(s) fence. L'Exemple 7.3, « Périphérique fence APC ajouté àcluster.conf
» montre un exemple de fichier de configuration avec un périphérique fence APC qui lui est ajouté. - Sur la section
clusternodes
, dans l'élémentfence
de chaque section declusternode
, spécifiez chaque méthode fence du nœud. Spécifiez le nom de la méthode fence à l'aide de l'attributname
demethod
. Spécifiez le périphérique fence pour chaque méthode fence à l'aide de l'élémentdevice
et de ses attributs,name
et des paramètres spécifiques au périphérique fence. L'Exemple 7.4, « Méthodes fence ajoutées àcluster.conf
» montre un exemple de méthode fence avec un périphérique fence pour chaque nœud dans le cluster. - Pour des méthodes fence non-alimentées (c'est-à-dire le fencing SAN/stockage) dans la section
clusternodes
, ajoutez une sectionunfence
. Ceci vous assure qu'un nœud fenced n'est pas ré-activé tant que le nœud n'a pas été redémarré. Pour plus d'informations sur l'unfencing d'un nœud, reportez-vous à la page manfence_node
(8).La sectionunfence
ne contient pas de sectionsmethod
comme la sectionfence
. Elle contient des référencesdevice
, qui mettent en miroir les sections des périphériques correspondants pourfence
, avec l'addition notable de l'action explicite (action
) sur "on" ou sur "enable". La même sectionfencedevice
est référencée par les lignesfence
etunfence
device
et les mêmes arguments par nœud devraient être répétés.La spécification de l'attributaction
sur "on" ou sur "enable" active le nœud lorsque redémarré. L'Exemple 7.4, « Méthodes fence ajoutées àcluster.conf
» et l'Exemple 7.5, «cluster.conf
: Multiples méthodes fence par nœud » incluent des exemple des éléments et attributsunfence
.Pour obtenir plus d'informations surunfence
, reportez-vous à la page manfence_node
. - Mettez à jour l'attribut
config_version
en incrémentant sa valeur (par exemple, en la modifiant deconfig_version="2"
àconfig_version="3">
). - Enregistrez
/etc/cluster/cluster.conf
. - (Optional) Validez le fichier mis à jour sur le schéma du cluster (
cluster.rng
) en exécutant la commandeccs_config_validate
. Par exemple :[root@example-01 ~]#
ccs_config_validate
Configuration validates - Exécutez la commande
cman_tool version -r
pour propager la configuration au reste des nœuds du cluster. Ceci exécutera aussi une validation supplémentaire. Il est nécessaire quericci
soit exécuté dans chaque nœud de cluster afin de pouvoir propager les informations mises à jour sur la configuration du cluster. - Vérifiez que le fichier de configuration mis à jour a été propagé.
- Procédez à la Section 7.4, « Configurer les domaines de basculement ».
fenced
, tente la méthode suivante et continuera d'essayer les méthodes successivement jusqu'à ce qu'une d'entre elles fonctionne.
fenced
exécute l'agent fence une fois par ligne de périphérique fence, chaque ligne doit fonctionner pour que le fencing soit considéré comme réussi.
fence_apc
). En outre, vous pourrez trouver des informations supplémentaires sur les paramètres du fencing dans l'Annexe A, Paramètres des périphériques fence, sur les agents fence dans /usr/sbin/
, sur le schéma du cluster dans /usr/share/cluster/cluster.rng
et sur le schéma annoté sur /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
(par exemple, /usr/share/doc/cman-3.0.12/cluster_conf.html
).
Exemples de configurations du fencing
Note
Exemple 7.3. Périphérique fence APC ajouté à cluster.conf
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
fencedevice
) a été ajouté à l'élément fencedevices
en spécifiant l'agent fence (agent
) en tant que fence_apc
, l'adresse IP (ipaddr
) en tant que apc_ip_example
, l'identifiant de connexion (login
) en tant que login_example
, le nom du périphérique fence (name
) en tant que apc
et le mot de passe (passwd
) en tant que password_example
.
Exemple 7.4. Méthodes fence ajoutées à cluster.conf
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="APC"> <device name="apc" port="1"/> </method> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="APC"> <device name="apc" port="2"/> </method> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="APC"> <device name="apc" port="3"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
method
) a été ajoutée à chaque nœud. Le nom de la méthode fence (name
) de chaque nœud est APC
. Le périphérique (device
) pour la méthode fence dans chaque nœud spécifie le nom (name
) comme apc
et un unique numéro de port d'alimentation de l'interrupteur APC (port
) pour chaque nœud. Par exemple, le numéro de port de node-01.example.com est 1
(port="1"
). Le nom de périphérique de chaque nœud (device name="apc"
) pointe vers le périphérique fence au nom (name
) apc
sur cette ligne de l'élément fencedevices
: fencedevice agent="fence_apc"
ipaddr="apc_ip_example" login="login_example"
name="apc" passwd="password_example"
.
Exemple 7.5. cluster.conf
: Multiples méthodes fence par nœud
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="APC"> <device name="apc" port="1"/> </method> <method name="SAN"> <device name="sanswitch1" port="11"/> </method> </fence> <unfence> <device name="sanswitch1" port="11" action="on"/> </unfence </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="APC"> <device name="apc" port="2"/> </method> <method name="SAN"> <device name="sanswitch1" port="12"/> </method> </fence> <unfence> <device name="sanswitch1" port="12" action="on"/> </unfence </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="APC"> <device name="apc" port="3"/> </method> <method name="SAN"> <device name="sanswitch1" port="13"/> </method> </fence> <unfence> <device name="sanswitch1" port="13" action="on"/> </unfence </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
Exemple 7.6. cluster.conf
: Fencing, multiples ports multipath
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="SAN-multi"> <device name="sanswitch1" port="11"/> <device name="sanswitch2" port="11"/> </method> </fence> <unfence> <device name="sanswitch1" port="11" action="on"/> <device name="sanswitch2" port="11" action="on"/> </unfence </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="SAN-multi"> <device name="sanswitch1" port="12"/> <device name="sanswitch2" port="12"/> </method> </fence> <unfence> <device name="sanswitch1" port="12" action="on"/> <device name="sanswitch2" port="12" action="on"/> </unfence </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="SAN-multi"> <device name="sanswitch1" port="13"/> <device name="sanswitch2" port="13"/> </method> </fence> <unfence> <device name="sanswitch1" port="13" action="on"/> <device name="sanswitch2" port="13" action="on"/> </unfence </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch2" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
Exemple 7.7. cluster.conf
: Effectuer le fencing de nœuds avec des alimentations duelles
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="APC-dual"> <device name="apc1" port="1"action="off"/> <device name="apc2" port="1"action="off"/> <device name="apc1" port="1"action="on"/> <device name="apc2" port="1"action="on"/> </method> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="APC-dual"> <device name="apc1" port="2"action="off"/> <device name="apc2" port="2"action="off"/> <device name="apc1" port="2"action="on"/> <device name="apc2" port="2"action="on"/> </method> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="APC-dual"> <device name="apc1" port="3"action="off"/> <device name="apc2" port="3"action="off"/> <device name="apc1" port="3"action="on"/> <device name="apc2" port="3"action="on"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc1" passwd="password_example"/> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc2" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>