LoadBalance e Failover com OpenBSD e PF

Mostrarei como configurar um mini-ambiente de alta disponibilidade com balanceamento de carga e tolerância a falha utilizando o sistema operacional OpenBSD.

[ Hits: 24.312 ]

Por: André Luiz Michi em 13/09/2010


Configuração CARP



Vamos começar habilitando os parâmetros do CARP no arquivo sysctl.conf:

# cat /etc/sysctl.conf | grep carp

net.inet.carp.allow=1 # Aceita os pacotes do CARP. Esse cara é habilitado por padrão.
net.inet.carp.preempt=1 # Esta opção derruba todas as interfaces de CARP quando uma delas é derrubada.
net.inet.carp.log=1 # Habilita ou desabilita o log dos pacotes do CARP. É útil para ver mensagens de erro. Também vem habilitado por padrão.

Não esqueça de habilitar o forwarding para ativar o roteamento.

net.inet.ip.forwarding=1

Os arquivos de configuração das interfaces de rede no OpenBSD tem o seguinte formato:

hostname.nomedainterface

No meu caso, a minha interface de rede tem o nome rl0.

Então, vamos configurar a interface da máquina que será o Master.

# cat /etc/hostname.rl0

inet 200.1.1.3 255.255.255.240 NONE

!ifconfig carp0 create
!ifconfig carp0 200.1.1.1 netmask 255.255.255.240 vhid 1 pass _simmons_ advskew 1 carpdev rl0

No servidor de backup a configuração é praticamente a mesma, mudando apenas o advskew, e o IP, é claro.

# cat /etc/hostname.rl0

inet 200.1.1.2 255.255.255.240 NONE

!ifconfig carp0 create
!ifconfig carp0 200.1.1.1 netmask 255.255.255.240 vhid 1 pass _simmons_ advskew 100 carpdev rl0

Para reiniciar as interfaces de rede no OpenBSD basta executar o seguinte comando:

# sh /etc/netstart

Ok, agora que configuramos e iniciamos as interfaces vamos entender um pouco os parâmetros.
  • ifconfig carp0 create: Aqui você cria uma interface virtual que receberá o nome de carp0.
  • vhid: é o virtual host identification, apesar do host no nome esta opção identifica um grupo de máquinas que compartilham o mesmo IP. Ele é muito importante, pois se você configurar alguma outra máquina no mesmo barramento com um VHID repetido o CARP não funcionará corretamente.
  • pass: especifica uma senha para ser utilizada pelo grupo de hosts.
  • advskew: advertisement skew, quando maior for o número , menor é a prioridade dele dentro do grupo. Ou seja , o Master é o 1 e o Slave o 100.
  • carpdev: define a qual interface física aquele carp está associado.

Feito isso os dois servidores já estão funcionando em active/backup.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configuração CARP
   3. Configurando o PF
   4. Configuração CARP nos servidores Web
Outros artigos deste autor

Fazendo backup de DVDs

Iniciando no NFS

Jogos no Linux

Instalando o Slackware em 15 minutos

Como ajudar a comunidade Linux

Leitura recomendada

Acessando remotamente máquina Windows dentro de uma VPN através do Ubuntu

Utilizando o Debian Squeeze em Desktop

Configurando um servidor de FTP no OpenBSD

Como Funcionam as Cores em Hexadecimal

Configuração de um servidor VPN com OpenVPN e chave estática

  
Comentários
[1] Comentário enviado por fs.schmidt em 14/09/2010 - 00:23h

Parabéns amigo, excelente artigo !!!

[2] Comentário enviado por fabio em 14/09/2010 - 14:36h

Grande Simmons, bom te ver por aqui novamente!

Um abraço.


Contribuir com comentário