Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.3. Configuración de vallas

La configuración de vallas consiste en (a) especificar uno o más dispositivos de vallas en un clúster y (b) especificar uno o más métodos de valla para cada nodo (mediante un dispositivo de valla o dispositivos de vallas especificados).
Con base en el tipo de dispositivos de vallas y métodos de vallas requeridos para la configuración, configure cluster.conf así:
  1. En la sección fencedevices, especifique cada dispositivo de vallas, mediante un elemento fencedevice y atributos dependientes de dispositivo de vallas. El Ejemplo 7.3, “Dispositivo de vallas APC añadido a cluster.conf presenta un ejemplo de archivo de configuración con una valla APC añadida.
  2. En la sección clusternodes, dentro del elemento fence de cada sección de clusternode, especifique cada método de valla del nodo. Especifique el nombre de método de valla, mediante el atributo method, name. Especifique el dispositivo de vallas para cada método de valla, mediante el elemento device y sus atributos, name y parámetros específicos de dispositivo de vallas. El Ejemplo 7.4, “Métodos de vallas añadidos a cluster.conf muestra un método de vallas con un dispositivo de valla para cada nodo en el clúster.
  3. Para métodos de valla sin energía (es decir, SAN/cercado de almacenamiento), en la sección clusternodes, añada una sección unfence. De esta manera, garantiza que el nodo cercado no sea reactivado hasta que haya sido reiniciado. Para obtener mayor información sobre cómo quitar la valla a un nodo, consulte la página de manual fence_node(8).
    La sección unfence no contiene las secciones method como la sección de fence las contiene. Esta sección contiene referencias directamente de device, las cuales copian en espejo las secciones de dispositivo correspondientes a fence, con la adición notable de la acción explícita (action) de "on" (encendido) o "enable" (activado). El mismo fencedevice es referenciado por las líneas de device fence y unfence y los mismos argumentos por nodo deben repetirse.
    Al especificar el atributo action como "encendido " o "habilitado", habilita al nodo durante el reinicio. Ejemplo 7.4, “Métodos de vallas añadidos a cluster.conf y Ejemplo 7.5, “cluster.conf: Métodos de vallas múltiples por nodo” incluyen ejemplos de elementos y atributos unfence.
    Para obtener mayor información sobre unfence, consulte la página de manual fence_node.
  4. Actualice el atributo config_version aumentando su valor (por ejemplo, cambiar de config_version="2" a config_version="3">).
  5. Guarde /etc/cluster/cluster.conf.
  6. (Opcional) Valide el archivo actualizado con el esquema de clúster (cluster.rng) ejecutando el comando ccs_config_validate. Por ejemplo:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. Ejecute el comando cman_tool version -r para propagar la configuración a los nodos de clústeres restantes. Así también ejecutará la validación adicional. Es necesario que ricci esté en ejecución en cada nodo de clúster para que pueda propagar información actualizada de clúster.
  8. Verifique si el archivo de configuración actualizado se ha propagado.
Si es necesario, puede hacer configuraciones complejas con varios métodos de valla por nodo y con varios dispositivos de valla por el método de vallas. Cuando se especifican varios métodos de vallas por nodo, si falla con el primer método, fenced, el daemon de valla, intentará el siguiente método y continúa desplazándose a través de métodos hasta que alguno lo logra.
Algunas veces, para cercar un nodo se requiere desactivar dos rutas de E/S o dos puertos de energía. Esto se realiza al especificar dos o más dispositivos dentro de un método de vallas. fenced ejecuta el agente una vez para cada línea de dispositivo de valla; todas deben lograrse para que se considere un cercado correcto.
Para ver configuraciones más complejas, consulte “Ejemplos de configuración de vallas”.
Puede obtener más información sobre configuración de dispositivos de valla específicos desde una página de manual sobre agente de dispositivo de valla (por ejemplo, la página de manual para fence_apc). Además, puede obtener mayor información sobre parámetros de cercado en el Apéndice A, Parámetros de dispositivos de valla, los agentes de valla en /usr/sbin/, el esquema de cluster en /usr/share/cluster/cluster.rng, y el esquema anotado en /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (por ejemplo, /usr/share/doc/cman-3.0.12/cluster_conf.html).

Ejemplos de configuración de vallas

Los siguientes ejemplos muestran una configuración sencilla con un método de vallas por nodo y un dispositivo de vallas por método de vallas:
Los siguientes ejemplos muestran configuraciones más complejas:

Nota

Los ejemplos en esta sección no son exhaustivos; es decir, puede haber otras formas de configurar vallas según los requerimientos.

Ejemplo 7.3. Dispositivo de vallas APC añadido a 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>

En este ejemplo, un dispositivo de vallas (fencedevice) ha sido agregado al elemento fencedevices, el cual especifica el agente de vallas (agent) como fence_apc, la dirección IP (ipaddr) como apc_ip_example, el ingreso (login) como login_example, el nombre de dispositivo de vallas (name) como apc, y la contraseña (passwd) como password_example.

Ejemplo 7.4. Métodos de vallas añadidos a 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>

En este ejemplo, un método de vallas (method) ha sido agregado a cada nodo. El nombre T del método de vallas (name) para cada nodo es APC. El dispositivo (device) para el método de valla en cada nodo especifica el nombre (name) como apc y un único número de puerto de interruptor APC (port) para cada nodo. Por ejemplo, el número de puerto para nodo-01.example.com es 1 (port="1"). El nombre de dispositivo para nodo (device name="apc") señala al dispositivo de valla por el nombre (name) de apc en esta línea del elemento fencedevices: fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example".

Ejemplo 7.5. cluster.conf: Métodos de vallas múltiples por nodo


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


Ejemplo 7.6. cluster.conf: Cercado, múltiples puertos de multirutas


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


Ejemplo 7.7. cluster.conf: Nodos de vallas con dos fuentes de alimentación


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


Cuando se utilizan interruptores para cercar nodos con dos fuentes de alimentación, los agentes deben indicarle que apague ambos puertos antes de restaurar la energía a cualquiera de los puertos. El comportamiento predeterminado off-on del agente podría hacer que la energía nunca se desactive de forma total para el nodo.