Layer 2 (VMAC) Opções de Redundância de Rede para Linux

2

Com o heartbeat e keepalived, as opções de redundância que sempre usei trabalham movendo um endereço IP virtual para uma nova máquina (uma solução de camada 3). A nova máquina envia um arp gratuito para dizer às máquinas na rede que seu endereço MAC é o novo MAC para esse IP.

Existe alguma opção de redundância de rede atual que usa um endereço MAC virtual (camada 2) que é movido entre as máquinas, bem como o IP virtual? Isso seria útil para certos sistemas operacionais que não entendem as solicitações GARP. Eu encontrei este tópico keepalivd (de um usuário de falha no servidor, por acaso) mas está de volta de 2005. Alguém sabe o estado atual do failover de mac virtual no Linux?

    
por Kyle Brandt 10.01.2012 / 15:16

3 respostas

1

VRRP ( RFC2338 para VRRPv2, RFC5798 para VRRPv3 que adicionou suporte a IPv6) usa um endereço MAC virtual para cada roteador virtual da instância, mas ainda envia um ARP gratuito em uma alternância.

Enquanto a implementação de VRRP com manutenção de energia ignora essa parte da especificação e simplesmente usa a interface MAC, o VRRPd é capaz de usar o MAC virtual.

No entanto, o conceito de um MAC virtual não funciona bem com o conceito Linux de uma interface de rede; o processo VRRPd deve mudar o endereço MAC da interface para o MAC virtual quando ele assume o controle, o que impede a execução de vários roteadores virtuais VRRP em uma determinada interface.

    
por 11.01.2012 / 00:07
2

Certamente os vários produtos 'VirtualConnect' da HP permitem que você use um MAC pré-configurado ou um intervalo de MACs que você mapeia para um servidor específico, conforme necessário. Eu usei isso extensivamente e funciona bem, embora nós o utilizemos para pré-definir o ambiente de ethernet e FC do novo servidor antes que o servidor físico chegue no site, mas ele pode ser usado da maneira que você descreve.

Isso é inteiramente gnóstico do sistema operacional, é uma coisa de hardware virtual, não estou ciente de uma maneira específica do Linux de fazer isso além de alguma forma de script.

    
por 10.01.2012 / 15:28
2

CARP usa um endereço MAC virtual (de maneira similar a VRRP , mas não onerado por patentes) para cada grupo de redundância IP. O host mestre no grupo responde com o MAC virtual. Quando ocorre um failover, o MAC não muda. Eu usei o ucarp no Linux e fiquei muito satisfeito com ele.

Editar:

Isso não vai ajudá-lo (todos, para baixo!). A implementação do CARP do Linux que eu vinculei ao ucarp, na verdade, não usa um endereço MAC virtual. A implementação original do OpenBSD funciona, mas a implementação do Linux não. Tudo funcionou como eu queria na minha implantação, então eu nunca investiguei (até esta manhã) para ver que não está fazendo nada útil na camada 2 para as necessidades de Kyle.

Estou vendo algumas discussões na lista de HA do Linux sobre como usar ifconfig para atribuir endereços MAC virtuais para interfaces no tempo de failover. Isso não parece uma opção tremendamente ruim, especialmente se você estiver usando hardware virtual e puder "gastar" uma placa de rede virtual nele.

    
por 10.01.2012 / 15:36