lunes, 23 de mayo de 2016

cluster de 2 nodos en centos/redhat

* Crear cluster

Video del funcionamiento del cluster

* Es requerido el grupo de paquetes "High Availability Management"
* Iniciar servicio ricci y hacerlo persistente para autoinicio
* Establecer password para el usuario ricci
* Asegurar comunicacion entre los nodos del clsuter
* En el archivo hosts son requeridas las ips y hostname de los nodos

ccs -h rhelcluster01 --createcluster rhelcluster
* Añadir nodos

ccs -h rhelcluster01 --addnode rhelcluster02
ccs -h rhelcluster01 --addnode rhelcluster01


* Listar nodos

ccs -h rhelcluster01 --lsnodes
* Agregar fence del cluster

ccs -h rhelcluster01 --addfencedev myfence agent=fence_virt 


Si es equipo fisico hp y tiene ILO

<fencedevice agent="fence_ilo4" auth="password" ipaddr="ip_ilo" login="cluster" name="nodo1" passwd="cluster123"/>
* Agregar un metodo al fence del cluster

ccs -h rhelcluster01 --addmethod mthd1 rhelcluster01
ccs -h rhelcluster01 --addmethod mthd1 rhelcluster02


* Agregar un dominio del failover (ordered) tomando en cuenta la prioridad de los nodos el dominio de failover

ccs -h rhelcluster01 --addfailoverdomain rhelcluster ordered
* Se agregan nodos el dominio del failover

ccs -h rhelcluster01 --addfailoverdomainnode rhelcluster rhelcluster01
ccs -h rhelcluster01 --addfailoverdomainnode rhelcluster rhelcluster02


* Visualiza configuracion del dominio failover

ccs -h rhelcluster01 --lsfailoverdomain
* Agregar un filesystem para failover

ccs -h rhelcluster01 --addresource fs name=cluster_fs device=/dev/vg_cluster/lv_datos mountpoint=/cluster_fs fstype=ext4
* Agregar un servicio al dominio del failover

ccs -h rhelcluster01 --addservice cluster_filesystem domain=rhelcluster recovery=relocate autostart=1
* Agregar un subservicio del dominio del failover

ccs -h rhelcluster01 --addsubservice cluster_filesystem fs ref=cluster_fs

ccs -h rhelcluster01 --addsubservice cluster_filesystem ip address=10.188.18.76 monitor_link=yes sleeptime=10



* Crear un disco quorum (disco compartido)

mkqdisk -c /dev/vdc -l clusterqdisk
* Agregar el quorum al cluster

ccs -h rhelcluster01 --setquorumd label=clusterqdisk 



** Es posible agregar una heuristica para el voto del quorum
  

 <heuristic program="ping -c1 -w2 10.188.18.1"/>

* Listar quorum y status del quorum

ccs -h rhelcluster01 --lsquorum
mkqdisk -L


* Propagar configuracion del cluster

ccs -h rhelcluster01 --sync --activate
* Validar configuracion de cluster

ccs -h rhelcluster01 --checkconf
* Activar todos los nodos

ccs -h rhelcluster01 --startall
* Activar un nodo

ccs -h rhelcluster01 --start

* Desactivar un nodo

ccs -h rhelcluster01 --stop
* Ver estado del cluster

clustat
Ejemplo de salida

[root@rhelcluster02 ~]# clustat
Cluster Status for rhelcluster @ Mon May 23 12:52:41 2016
Member Status: Quorate

Member Name                                 ID   Status
------ ----                                 ---- ------
rhelcluster01                                   1 Online, rgmanager
rhelcluster02                                   2 Online, Local, rgmanager
/dev/block/252:32                               0 Online, Quorum Disk

Service Name                       Owner (Last)                       State        
------- ----                       ----- ------                       -----        
service:cluster_filesystem         rhelcluster01                      started      
service:cluster_filesystem2        rhelcluster02                      started


* Si se requiere gfs2 (shared filesystem )

service clvmd start
chkconfig clvmd on
mkfs -t gfs2 -p lock_dlm -t rhelcluster:lvgfs -j 2 /dev/vg_compartido/lvgfs

       - Monstar gfs2
       mount -t gfs2 -o noatime /dev/vg_compartido/lvgfs /gfs/
       - En el fstab
       /dev/mapper/vg_compartido-lvgfs /gfs gfs2 defaults,noatime,nodiratime 0 0


* Salida de archivo de configurcion /etc/cluster/cluster.conf
________________________
<?xml version="1.0"?>
<cluster config_version="25" name="rhelcluster">
       <fence_daemon/>
       <clusternodes>
               <clusternode name="rhelcluster01" nodeid="1">
                       <fence>
                               <method name="mthd1">
                                       <device name="myfence"/>
                               </method>
                       </fence>
               </clusternode>
               <clusternode name="rhelcluster02" nodeid="2">
                       <fence>
                               <method name="mthd1">
                                       <device name="myfence"/>
                               </method>
                       </fence>
               </clusternode>
       </clusternodes>
       <cman/>
       <fencedevices>
               <fencedevice agent="fence_virt" name="myfence"/>
       </fencedevices>
       <rm>
               <failoverdomains>
                       <failoverdomain name="rhelcluster" nofailback="0" ordered="1" restricted="0">
                               <failoverdomainnode name="rhelcluster01" priority="1"/>
                               <failoverdomainnode name="rhelcluster02" priority="2"/>
                       </failoverdomain>
                       <failoverdomain name="rhelcluster2" nofailback="0" ordered="1" restricted="0">
                               <failoverdomainnode name="rhelcluster02" priority="1"/>
                               <failoverdomainnode name="rhelcluster01" priority="2"/>
                       </failoverdomain>
               </failoverdomains>
               <resources>
                       <fs device="/dev/vg_cluster/lv_datos" fstype="ext4" mountpoint="/cluster_fs" name="cluster_fs"/>
                       <fs device="/dev/vg_cluster2/lvcluster2" fstype="ext4" mountpoint="/cluster2" name="cluster2"/>
                       <fs device="/dev/vg_cluster3/lv_cluster3" fstype="ext4" mountpoint="/cluster3" name="cluster3"/>
               </resources>
               <service autostart="1" domain="rhelcluster" name="cluster_filesystem" recovery="relocate">
                       <fs ref="cluster_fs"/>
                       <ip address="8.8.8.76" monitor_link="yes" sleeptime="10"/>
               </service>
               <service autostart="1" domain="rhelcluster2" name="cluster_filesystem2" recovery="relocate">
                       <fs ref="cluster2"/>
                       <ip address="
8.8.8.77" monitor_link="yes" sleeptime="10"/>
                       <fs ref="cluster3"/>
               </service>
       </rm>
       <quorumd label="clusterqdisk"/>
</cluster>
________________________

<?xml version="1.0"?>
<cluster config_version="60" name="ccc">
       <clusternodes>
               <clusternode name="ccc01" nodeid="1" votes="1">
                       <fence>
                               <method name="mthd1">
                                       <device name="nodo1"/>
                               </method>
                       </fence>
               </clusternode>
               <clusternode name="ccc02" nodeid="2" votes="1">
                       <fence>
                               <method name="mthd1">
                                       <device name="nodo2"/>
                               </method>
                       </fence>
               </clusternode>
       </clusternodes>
       <cman transport="udpu"/>
       <totem token="27000"/>
       <fencedevices>
               <fencedevice agent="fence_ilo4" auth="password" ipaddr="8.8.8.82" login="cluster" name="nodo1" passwd="ilo123"/>
               <fencedevice agent="fence_ilo4" auth="password" ipaddr="8.8.8.83" login="cluster" name="nodo2" passwd="ilo123"/>
       </fencedevices>
       <rm>
               <failoverdomains>
                       <failoverdomain name="ccc_pakcge1" nofailback="0" ordered="1" restricted="0">
                               <failoverdomainnode name="ccc01" priority="1"/>
                               <failoverdomainnode name="ccc02" priority="2"/>
                       </failoverdomain>
                       <failoverdomain name="ccc_pakcge2" nofailback="0" ordered="1" restricted="0">
                               <failoverdomainnode name="ccc02" priority="1"/>
                               <failoverdomainnode name="ccc01" priority="2"/>
                       </failoverdomain>
               </failoverdomains>
               <resources>
                       <fs device="/dev/vgxxn1/lvaaa" fstype="ext4" mountpoint="/opt/app/aaa/" name="lvaaa"/>
                       <fs device="/dev/vgxxn1/lvrrr_prm" fstype="ext4" mountpoint="/opt/app/rrr/prm/" name="lvrr_prm"/>
                       <fs device="/dev/vgxxn1/lvwww" fstype="ext4" mountpoint="/opt/app/www/" name="lvwww"/>
                       <fs device="/dev/vgxxn2/lvaaa2" fstype="ext4" mountpoint="/opt/app/aaa2/" name="lvaaa2"/>
                       <fs device="/dev/vgxxn2/lvrrr_sec" fstype="ext4" mountpoint="/opt/app/rrr/sec/" name="lvrrr_sec"/>
               </resources>
               <service autostart="1" domain="ccc_pakcge1" name="pakcge1" recovery="relocate">
                       <fs ref="lvaaa"/>
                       <fs ref="lvrrr_prm"/>
                       <fs ref="lvwww"/>
                       <ip address="8.8.8.84" monitor_link="yes" sleeptime="10"/>
               </service>
               <service autostart="1" domain="ccc_pakcge2" name="pakcge2" recovery="relocate">
                       <fs ref="lvaaa2"/>
                       <fs ref="lvrrr_sec"/>
                       <ip address="
8.8.8.85" monitor_link="yes" sleeptime="10"/>
               </service>
       </rm>
       <quorumd label="cluster_ccc" votes="2">
               <heuristic program="ping -c1 -w2 
8.8.8.1"/>
       </quorumd>
</cluster>


________________________

No hay comentarios: