IP virtual e IPTables do pacemaker

2

Estou tentando configurar um cluster de duas VMs VMware executando Heartbeat, Pacemaker e Varnish no Ubuntu Server 10.04, com a intenção de usá-las como um balanceador de carregador principal e de backup para outras VMs. O verniz está funcionando bem, e o Heartbeat está pegando as duas VMs como pretendido com a seguinte configuração do ha.cf:

autojoin none
bcast eth0
crm respawn
deadtime 20
initdead 120
keepalive 2
logfacility syslog
node VMViper
node VMJester
warntime 5

O VPViper tem um IP de 192.168.1.54 e o VMJester tem um IP de 192.168.1.53. Eu os configurei em / etc / hosts e usando DHCP estático em meu roteador físico (WRT54GL com Tomato 1.28). Posso ver o website do back-end por meio de um desses IPs em um navegador.

O IPTables se parece com:

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 694 -j ACCEPT

Agora gostaria de ter um único IP virtual no Pacemaker que sirva ao site. Eu tenho até onde:

sudo crm configure property stonith-enabled=false
sudo crm configure primitive cluster ocf:heartbeat:IPaddr params ip=192.168.1.61 op monitor interval=10s

que cria um cluster de trabalho (reconhecidamente faltando qualquer configuração significativa até agora):

node $id="08a94061-336c-422d-bf72-910662045127" vmviper
node $id="d4364751-0307-4a71-a303-5df01cbc919c" vmjester
primitive mycluster ocf:heartbeat:IPaddr \
    params ip="192.168.1.61" \
    op monitor interval="10s"
property $id="cib-bootstrap-options" \
    dc-version="1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd" \
cluster-infrastructure="Heartbeat" \
stonith-enabled="false"

Descontinuando, qualquer VM move a localização do cluster (status mycluster do recurso sudo-CRM) para a máquina em funcionamento. Até aí tudo bem, mas agora a minha falta de talento em rede significa que acertei uma parede. Então agora eu tenho muitas perguntas:

Eu realmente não entendo o conceito de um IP virtual. Eu adicionei 192.168.1.61 na configuração do Pacemaker como meu IP virtual, mas não referenciei isso em nenhum outro lugar. Devo esperar ver um endereço MAC para uma nova interface virtual na minha interface de roteador? O que preciso alterar para tornar isso visível?

Presumivelmente eu também deveria estar procurando esconder 192.168.1.54 e 192.168.1.53 do mundo exterior. Como eu faço isso?

Um dos artigos que li diz que preciso definir net.ipv4.ip_forward = 1 em /etc/sysctl.conf. Este é um passo necessário?

    
por jetboy 14.05.2011 / 01:35

1 resposta

1

O IP virtual (VIP) flutua entre os dois endereços IP reais. A finalidade é ter um endereço IP consistente para usar do mundo externo no caso de o nó principal do cluster ficar inativo. Ele usa o endereço MAC da interface que contém o endereço IP real.

Você pode querer esconder os endereços .53 e .54 eventualmente, mas eu não me preocuparia com esse direito do bastão.

Você precisa de ip_forward se tiver outros servidores atrás de seus balanceadores de carga redundantes, pois os balanceadores de carga estarão agindo como roteadores e, portanto, precisarão encaminhar o tráfego.

O que você ganha quando aponta um navegador no endereço 192.168.1.61?

    
por 14.05.2011 / 01:39