Configuración de Keepalived
Una vez instalado Keepalived en todas y cada una de las máquinas que conforman el entorno de trabajo de balanceo de carga, el fichero a configurar con un editor de textos (Vim, Nano, etcétera) es el siguiente:
/etc/keepalived/keepalived.conf
Configuración de instancias
vrrp_instance
contendrá el nombre de la instancia de balanceo de carga, el cual debe ser el mismo en todos los nodos.- En
interface
se asignará el nombre de la interfaz de red (NIC) utilizada para el balanceo de carga, por ejemploeth1
. - El token
state
será diferente en cada nodo, por ejemplo, el principal pudiera ser llamadostate primary
y los demásstate secondary1
,state secondary2
, y así sucesivamente (el orden de jerarquía debería ser cónsono con el siguiente token,priority
). priority
un valor numérico que indica la prioridad, siendo el principal el valor más alto y se irá disminuyendo en cada uno de los nodos acorde con el token anterior (state
).unicast_src_ip
en cada nodo especifica la dirección IP propia que atenderá en el balanceo de carga.unicast_peer
las direcciones IP del resto de los nodos.
Configuración de dirección IP flotante
En la instancia definida, en una sección aparte denominada virtual_ipaddress
se colocará las direcciones IP posibles a ser servidas, por ejemplo:
virtual_ipaddress { <vip>/24 }
Configuración de seguridad
En la instancia definida, en una sección aparte denominada authentication
se colocará un método de autenticación por contraseña (auth_type PASS
) y la contraseña en sí misma (longitud de 8 caracteres exactos), por ejemplo:
authentication {
auth_type PASS
auth_pass <8_digit_pass>
}
Ejemplo
En esquema denominado VI_1 con un nodo principal denominado MASTER
y uno secundario llamado BACKUP
con direcciones IP fijas <ha1_ip>
y <ha2_ip>
, y una dirección IP flotante (<vip>
) a balancear su carga:
En HA1:
vrrp_instance VI_1 {
state MASTER
interface <if_name_1>
virtual_router_id 55
priority 150
advert_int 1
unicast_src_ip <ha1_ip>
unicast_peer {
<ha2_ip>
}
authentication {
auth_type PASS
auth_pass <8_digit_pass>
}
virtual_ipaddress {
<vip>/24
}
}
En HA2:
vrrp_instance VI_1 {
state BACKUP
interface <if_name_2>
virtual_router_id 55
priority 100
advert_int 1
unicast_src_ip <ha2_ip>
unicast_peer {
<ha1_ip>
}
authentication {
auth_type PASS
auth_pass <8_digit_pass>
}
virtual_ipaddress {
<vip>/24
}
}