Servidor de Alta Dispoñibilidade NFS de Dous Nodos

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura

Introducción

Crearemos un servicio NFS de alta dispoñibilidade con dous nodos: gandalf.iesrodeira.com e earendil.iesrodeira.com. O espacio en disco para compartir atópase nun sistema DRBD activo/pasivo, no que o nodo activo ofrecerá o servicio NFS. En caso de caída do nodo activo, deberá activarse o nodo pasivo.

Para facer eso, utilizaremos unha IP virtual que inicialmente estará asignada ao nodo activo e a que resolverá o nodo nfs.iesrodeira.com. Esa IP (172.20.1.20) será asignda automáticamente ao nodo activo, de xeito que os clientes montarán o recurso empregando urls do tipo nfs:/recursonfs.

A monitorizacion, activación e parada de servicios implicados se fará mediante un cluster de dous nodos basado en heartbeat.

Configuración

En primeiro lugar, procederemos a instalación de heartbeat:

apt-get install heartbeat

A configuración realízase en tres ficheiros: /etc/ha.d/ha.cf, /etc/ha.d/authkeys e /etc/ha.d/haresources.

  • ha.cf (igual nos dous nodos)
autojoin none

# Give cluster 30 seconds to start
initdead 30

# Keep alive packets every 1 second
keepalive 2 

# Misc settings
traditional_compression off
deadtime 20
deadping 22
warntime 5

# Nodes in cluster
node gandalf.iesrodeira.com 
node earendil.iesrodeira.com

# Use ipmi to check power status and reboot nodes 
# Non dispoñemos de STONITH para asegurarnos que o 'nodo desconectado' está apagado antes de tomar os seus recursos.
#stonith_host    nfs01 external/ipmi nfs02 192.168.3.33 ADMIN somepwd lan
#stonith_host    nfs02 external/ipmi nfs01 192.168.3.34 ADMIN somepwd lan
# Use logd, configure /etc/logd.cf

use_logd on

# Don't move service back to preferred host when it comes up
auto_failback on

# If all systems are down, it's failure
# Facemos ping aos switches do A3 e do Departamento, si non temos ping a eso, fallo fixo
ping_group lan_ping 172.20.2.254 172.20.3.254
# Takover if pings (above) fail
respawn hacluster /usr/lib/heartbeat/ipfail

##### Use unicast instead of default multicast so firewall rules are easier
# gandalf (descomentar no nodo gandalf, comentar en earendil)
ucast lan 172.20.1.10

# earendil (descomentar no nodo earendil, comentar en gandalf)
# ucast lan 172.20.1.1

ucast eth0 172.21.1.100
  • /etc/ha.d/authkeys (igual en ambos nodos)
auth 1
1 sha1 password_cluster

Servicios Extra

Información Adicional

Configuración de Heartbeat

Uso de Heartbeat con DRBD

Configuración de Clúster con DRBD