====== Tolerância a Falhas com UCARP======
===== Introdução =====
Este documento se destina a detalhar a configuração de um sistema de tolerância a falhas utilizando a aplicação UCARP em Linux.
\\ ====== Objetivo ======
Propor uma solução simples e barata, baseada em software livre para criação de um sistema com tolerância a falhas com dois servidores. A solução se baseia no compartilhamento de um IP entre dois servidores idênticos de forma que apenas um deles responda por esse IP ao mesmo tempo. Um servidor é chamado de Master e é dono do IP compartilhado. O segundo servidor é chamado de Slave e assume o IP compartilhado sempre que o servidor Master cai. Dessa forma fica garantido que serviço que roda no IP virtual terá disponibilidade caso um servidor caia.
===== Arquitetura da Solução =====
{{ :scripts:800px-failover_ucarp.png |}}
====== Instalação ======
===== Instalando dependências e configurando ambiente =====
aptitude install ucarp
mkdir /etc/ucarp/
===== Criando Scripts de inicialização =====
==== Servidor MASTER ====
Arquivo **/etc/ucarp/vip-up.sh**:
#! /bin/sh
## vip-up.sh
# Este arquivo e executado quando o no MASTER assume o cluster.
#
/sbin/ip addr add 10.2.17.2/16 dev eth0 label eth0:ucarp
\\ Arquivo **/etc/ucarp/vip-down.sh**:
#! /bin/sh
## vip-down.sh
# Este arquivo e executado quando o no BACKUP assume o cluster.
#
/sbin/ip addr del 10.2.17.2/16 dev eth0 label eth0:ucarp
Arquivo **/etc/ucarp/ucarp.sh**:
#! /bin/sh
## ucarp.sh
ucarp -i eth0 -P -k 1 -s 10.2.17.3 -v 15 -p password -a 10.2.17.2 -u /etc/ucarp/vip-up.sh -d /etc/ucarp/vip-down.sh -B
\\ Dar permissão de execução nos scripts:
chmod -R +x /etc/ucarp/
\\ * OBS: Permitir execução do **ucarp** na inicialização do sistema, adicionando o caminho do script no arquivo **/etc/rc.local**:
\\ ==== Servidor SLAVE ====
Arquivo **/etc/ucarp/vip-up.sh**:
#! /bin/sh
## vip-up.sh
# Este arquivo e executado quando o no BACKUP assume o cluster.
#
/sbin/ip addr del 10.2.17.2/16 dev eth0 label eth0:ucarp
\\ Arquivo **/etc/ucarp/vip-down.sh**:
#! /bin/sh
## vip-down.sh
# Este arquivo e executado quando o no MASTER assume o cluster.
#
/sbin/ip addr add 10.2.17.2/16 dev eth0 label eth0:ucarp
\\ Arquivo **/etc/ucarp/ucarp.sh**:
ucarp -i eth0 -k 1 -s 10.2.17.4 -v 15 -p password -a 10.2.17.2 -u /etc/ucarp/vip-up.sh -d /etc/ucarp/vip-down.sh -B
Dar permissão de execução nos scripts:
chmod -R +x /etc/ucarp/
* OBS: Permitir execução do **ucarp** na inicialização do sistema, adicionando o caminho do script no arquivo **/etc/rc.local**: