Compartilhando IPs estáticos entre Virtual Maschines

3

Desde então, usei o recurso vhost do apache2 para vincular vários domínios a um ip público e estático.

Agora estou configurando um host XEN com 4 IPs e várias VMs, duas delas são servidores web puros. É possível que estas 2 VMs compartilhem um ip público? Cada um teria um conjunto de vhosts no mesmo ip público.

Editar:Ok,eumredirecionamentobaseadoemhost?

    
por Henrik P. Hessel 09.07.2009 / 15:43

7 respostas

7

Se você se preocupa apenas em servir o http, provavelmente deseja instalar um balanceador de carga de software / proxy reverso, como Libra . A configuração no host Xen (mais uma vez - provavelmente) se parece com

ListenHTTP
            Address xx.xx.xx.xx
            Port    80

            Service
                BackEnd
                    Address ip.of.webserver.1
                    Port    80
                End
                BackEnd
                    Address ip.of.webserver.2
                    Port    80
                End
            End
End

Você também precisará configurar regras de encaminhamento e iptables no host Xen; pode já ser configurado para isso.

    
por 09.07.2009 / 16:05
1

Eu não acho que você seria capaz de dividir os pedidos indo para ambos os servidores se eles são o mesmo IP?

Por que você precisa configurá-los no mesmo IP?

diagrama agradável embora

    
por 09.07.2009 / 15:54
1

Como radius e os outros dizem, eu não acredito que seja possível fazer isso apenas dando aos servidores o mesmo IP (eles vão reclamar sobre endereços duplicados e um deles terminará sem IP), ou o mesmo IP secundário (como acima, mas mais difícil de solucionar).

Uma opção melhor seria o DNS de rodízio, onde você pode adicionar os IPs de cada servidor Web ao mesmo registro "A", e uma consulta para esse registro "A" retornará um endereço diferente a cada vez, ou uma lista de endereços para seus clientes escolherem. Outra opção seria adicionar algum tipo de aplicativo de balanceamento de carga na frente dos dois servidores Web para rotear o tráfego para cada um igualmente (ou apenas para um, com o outro como um failvover) Você pode fazer isso com outra instância do Apache com mod_proxy instalado.

Qual desses você quer usar depende de por que você quer fazer isso - estamos falando de algum tipo de alta disponibilidade / clustering?

    
por 09.07.2009 / 15:56
1

Você não pode ter um único IP nas duas máquinas na mesma hora, mas pode movê-lo rapidamente entre elas.

Parece que você está atrás de uma solução de balanceamento de carga / alta disponibilidade.

Eu sugiro que você olhe para o Linux-Ha - Heartbeat [1].

É basicamente um daemon que roda em ambas as máquinas, Webserver 1 e Webserver 2 e envia sinais "Estou vivo" um para o outro, sempre que o sinal não é recebido por um período de tempo especificado, o outro nó é assumido morto (ou morto usando um dispositivo STONITH [2]) e o nó ativo assume tudo.

Você também pode selecionar nós ativos / passivos manualmente. A partir do heartbeat v2, é possível monitorar os nós no nível do recurso, embora a configuração seja baseada em XML e complexa, se você for investigar, sugiro usar o heartbeat-gui para configurá-lo (o Ubuntu tem um pacote [ 3])

A Novell tem um excelente e-book gratuito sobre essas coisas [4].

[1] link

[2] link

[3] link

[4] link

    
por 09.07.2009 / 16:00
1

De acordo com sua edição, você pode usar um proxy reverso. O Apache pode fazer isso. Libra é outra solução já mencionada.

    
por 09.07.2009 / 15:50
1

Eu não acredito que alguém esteja sugerindo duas VMs com o mesmo IP. Eu concordo com sua resposta embora. Você não pode ter duas máquinas na mesma sub-rede que compartilha um IP, pois você teria um problema na tabela ARP.

O único motivo para isso é balanceamento de carga e recuperação de desastre, em que se uma VM falhar, trafegar e continuar a fluir para a outra VM; no entanto, se o hardware físico falhar, as duas VMs estarão inativas, portanto, não sei qual é o valor aqui ou com o balanceamento de carga. Quero dizer, você teria balanceamento de carga entre duas VMs no mesmo hardware físico. Qual é o objetivo aqui?

    
por 09.07.2009 / 17:36
0

Não, você não pode ter dois servidores com o mesmo IP. Você precisará obter pelo menos um IP público por VM, ou fazer algum tipo de NAT, mas se você estiver atendendo páginas da Web a partir dessas VMs, você definitivamente precisará de IPs separados

    
por 09.07.2009 / 15:53