====== 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**: