En la primera parte, explicamos en detalle cómo instalar y configurar un clúster RedHat de 2 nodos.
Cubrimos los siguientes pasos de alto nivel en el tutorial anterior:
- Instalar e iniciar el servicio de clúster RICCI
- Crear clúster en nodo activo
- Agregar un nodo al clúster
- Agregar vallado al clúster
- Configurar dominio de conmutación por error
- Añadir recursos al clúster
En este tutorial, cubriremos los siguientes pasos de alto nivel para finalizar la configuración del clúster:
- Configuración de clúster de sincronización entre nodos
- Iniciar el clúster
- Verifique la conmutación por error cerrando un nodo activo
1. Sincronizar configuraciones entre nodos
Cada vez que se realiza un cambio de configuración, o la primera vez que instala y configura el clúster, debe sincronizar las configuraciones del nodo activo con todos los nodos.
El siguiente comando sincronizará las configuraciones del clúster con todos los nodos disponibles:
[root@rh1 ~]# ccs -h rh1 --sync --activate rh2 password:
2. Verificar la configuración del clúster
Finalmente, verifique que las configuraciones sean válidas como se muestra a continuación.
[root@rh1 ~]# ccs -h rh1 --checkconf All nodes in sync.
Si hay algún problema de configuración, o cuando las configuraciones en el nodo activo no coinciden con las configuraciones en todos los nodos del clúster, el comando anterior los enumerará de manera adecuada.
3. Inicie el Clúster
Para iniciar el clúster en el Nodo1, haga lo siguiente:
[root@rh1 ~]# ccs -h rh1 –start
Para iniciar el clúster en ambos nodos, haga lo siguiente:
[root@rh1 ~]# ccs -h rh1 –startall
Para detener el clúster en el Nodo1, haga lo siguiente:
[root@rh1 ~]# ccs -h rh1 –stop
Para detener el clúster en ambos nodos, haga lo siguiente:
[root@rh1 ~]# ccs -h rh1 –stopall
4. Ver el estado del clúster
Cuando todo esté funcionando en su Redhat o CentOS Linux Cluster, puede ver el estado del clúster como se muestra a continuación:
[root@rh1 cluster]# clustat Cluster Status for mycluster @ Sat Mar 15 02:05:59 2015 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ rh1 1 Online, Local, rgmanager rh2 2 Online Service Name Owner (Last) State ------- ---- ----- ------ ----- service:webservice1 rh1 started
Como puede ver en el resultado anterior, indica que hay dos nodos en nuestro clúster, ambos están en línea y rh1 es el nodo activo.
5. Verificar la conmutación por error del clúster
Para verificar la conmutación por error del clúster, detenga el clúster en el nodo activo o apague el nodo activo. Esto debería obligar al clúster a conmutar por error automáticamente el recurso de IP y el recurso del sistema de archivos al siguiente nodo disponible definido en el dominio de conmutación por error.
Esto es lo que vemos actualmente en el nodo1.
[root@rh1 ~]# clustat Cluster Status for mycluster @ Sat Mar 15 14:16:00 2015 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ rh1 1 Online, Local, rgmanager rh2 2 Online, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:webservice1 rh1 started [root@rh1 ~]# hostname rh1.mydomain.net [root@rh1 ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.12/24 scope global secondary eth0 inet6 fe80::a00:27ff:fee6:6db7/64 scope link valid_lft forever preferred_lft forever [root@rh1 ~]# df -h /var/www Filesystem Size Used Avail Use% Mounted on /dev/mapper/cluster_vg-vol01 993M 18M 925M 2% /var/www
5. Forzar la conmutación por error del clúster
Ahora desactive el nodo 1, y todo el servicio y el recurso deberían conmutar por error al segundo nodo y verá el siguiente resultado.
[root@rh1 ~]# shutdown -h now
Después de que el nodo1 esté inactivo, lo siguiente es lo que verá en el nodo1.
root@rh2 ~]# clustat Cluster Status for mycluster @ Sat Mar 18 14:41:23 2015 Member Status: Quorate Member Name ID Status ------ ---- ---- ------ rh1 1 Offline rh2 2 Online, Local, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:webservice1 rh2 started
El resultado anterior indica que hay dos nodos en el clúster (rh1 y rh2). rh1 está inactivo y actualmente rh2 es el nodo activo.
Además, como puede ver a continuación, en rh2, el sistema de archivos y la dirección IP obtuvieron la conmutación por error de rh1 sin ningún problema.
[root@rh2 ~]# df -h /var/www Filesystem Size Used Avail Use% Mounted on /dev/mapper/cluster_vg-vol01 993M 18M 925M 2% /var/www [root@rh2 ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP ql en 1000 link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.11/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.12/24 scope global secondary eth0 inet6 fe80::a00:27ff:fee6:6db7/64 scope link tentative dadfailed valid_lft forever preferred_lft forever
6. Archivo de ejemplo cluster.conf de trabajo completo
A continuación, se muestra el archivo de configuración cluster.conf de trabajo final para un clúster redhat de 2 nodos.
[root@rh1 ~]# cat /etc/cluster/cluster.conf <?xml version="1.0"?> <cluster config_version="28" name="mycluster"> <fence_daemon post_join_delay="25"/> <clusternodes> <clusternode name="rh1" nodeid="1"> <fence> <method name="mthd1"> <device name="myfence"/> </method> </fence> </clusternode> <clusternode name="rh2" nodeid="2"> <fence> <method name="mthd1"> <device name="myfence"/> </method> </fence> </clusternode> </clusternodes> <cman expected_votes="1" two_node="1"/> <fencedevices> <fencedevice agent="fence_virt" name="myfence"/> </fencedevices> <rm> <failoverdomains> <failoverdomain name="webserverdomain" nofailback="0" ordered="1" restricted="0"> <failoverdomainnode name="rh1"/> <failoverdomainnode name="rh2"/> </failoverdomain> </failoverdomains> <resources> <fs device="/dev/cluster_vg/vol01" fstype="ext4" mountpoint="/var/www" name="web_fs"/> </resources> <service autostart="1" domain="webserverdomain" name="webservice1" recovery="relocate"> <fs ref="web_fs"/> <ip address="192.168.1.12" monitor_link="yes" sleeptime="10"/> </service> </rm> </cluster>