En esta ocasión, no sólo vamos a verificar el funcionamiento del clúster, sino que además vamos a terminar de configurar dos recursos para utilizar drbd como sistema de almacenamiento sincronizado entre los dos nodos.

  1. Accede al directorio HA-IPfailover+Apache+MySQL+DRBD
  2. Levanta las máquinas con vagrant: vagrant up
  3. Configura el escenario con ansible: ansible-playbook escenario.yaml
  4. Edita el fichero /etc/resolv.conf de tu equipo y añade como servidor DNS primario el nodo "dns" que tiene la dirección IP 10.1.1.103
  5. Comprueba la conectividad con los nodos del cluster con ping
  6. Utiliza dig para resolver el nombre www.example.com
    $ dig @10.1.1.103 www.example.com 
    Comprueba que la dirección www.example.com está asociada a la dirección IP 10.1.1.100, que en este escenario es la IP virtual que estará asociada en todo momento al nodo que esté en modo maestro
  7. Accede a node1 por ssh y comprueba que existe un disco adicional /dev/sdb (con fdisk por ejemplo). Vamos a utilizar este disco adicional como dispositivo de DRBD sincronizado entre ambos nodos y crearemos un recurso en pacemaker que lo gestione en alta disponibilidad y asocie el directorio /var/www a este dispositivo.
  8. Realiza los siguientes pasos en node1 para crear un dispositivo para DRBD:
    1. Inicializamos wwwdata:
      # drbdadm create-md wwwdata
    2. Cargamos el módulo drbd en memoria:
      # modprobe drbd 
    3. Levantamos wwwdata:
      # drbdadm up wwwdata
    4. Comprobamos el estado del dispositivo /dev/drbd:
      # cat /proc/drbd 
  9. Repite los mismos pasos en el nodo2
  10. Ejecuta la siguiente instrucción en nodo1:
    # drbdadm -- --overwrite-data-of-peer primary wwwdata
    Y comprueba como se va sincronizando el dispositivo:
    # cat /proc/drbd
  11. Formateamos el dispositivo desde node1:
    # mkfs.ext4 /dev/drbd1
    Ya tenemos el dispositivo DRBD sincronizado y formateado en los dos nodos. Ahora vamos a crear los recursos del clúster para este dispositivo
  12. Monta /dev/drbd1 en /mnt en node1 y crea un fichero index.html
  13. Ejecuta las siguientes instrucciones en node1 para crear el recurso DRBD:
    # crm 
    crm(live) # cib new drbd 
    crm(drbd) # configure primitive WebData ocf:linbit:drbd params drbd_resource=wwwdata \ 
    op monitor interval=60s 
    crm(drbd) # configure ms WebDataClone WebData meta master-max=1 master-node-max=1 \ 
    clone-max=2 clone-node-max=1 notify=true 
    crm(drbd) # cib commit drbd 

  14. Ejecuta las siguientes instrucciones en node1 para crear un recurso para el sistema de ficheros:
    # crm 
    crm(live) # cib new fs 
    crm(fs) # configure primitive WebFS ocf:heartbeat:Filesystem \ 
    params device="/dev/drbd/by-res/wwwdata" directory="/var/www" fstype="ext4" 
    crm(fs) # configure colocation fs_on_drbd inf: WebFS WebDataClone:Master 
    crm(fs) # configure order WebFS-after-WebData inf: WebDataClone:promote WebFS:start 
    crm(fs) # configure colocation WebSite-with-WebFS inf: WebSite WebFS 
    crm(fs) # configure order WebSite-after-WebFS inf: WebFS WebSite 
    crm(fs) # cib commit fs 
  15. Verifica el funcionamiento correcto parando uno de los nodos
  16. Levanta el nodo parado y comprueba que el cluster vuelve a estar consistente y los datos de DRBD sincronizados
Last modified: Thursday, 19 September 2013, 5:32 PM