quarta-feira, 11 de junho de 2008

Bond, Alta Disponibilidade de Rede no Ubuntu Server 7.10

Alta disponibilidade de rede é algo vital para qualquer servidor corporativo que se preze. Há algum tempo atrás tão assunto era visto às vezes como um tabu, devido a algumas complexidades quanto a sua instalação e configuração no Linux, porém hoje em dia o mesmo é visto como apenas mais um item a ser visto.

Apesar do Ubuntu não trazer nenhum assistente ou outra ferramenta gráfica para permitir tal serviço, a configuração é extremamente simples.

No exemplo, eu estou trabalhando comum servidor DELL PowerEdge 2950 com duas placas Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet, vistas como eth0 e eth1. A distribuição é Ubuntu Server 7.10.

O primeiro passo é inserir o cd do Ubuntu 7.10 no driver de cd e executar o seguinte comando:

# aptitude install ifenslave-2.6
Feito isso é preciso editar o arquivo /etc/modprobe.d/arch/i386, inserindo as seguintes linhas:

alias bond0 bonding
options bond0 mode=6 miimon=100
Onde miimon vai ser o tempo em milisegundos, mode vai ser o modo em que será feito o bond, que pode ser:

Mode 0: balance-rr
Mode 1: failover
Mode 2: balance-xor
Mode 3: Link Aggregation
Mode 4: Transmit Load Balance
Mode 5: Load Balance

Ainda em options você pode inserir a opção primary=eth0 ou primary=eth1, de modo escolher qual interface será a primária, claro dependendo do modo escolhido.

Em seguida é preciso editar o arquivo /etc/network/interfaces, comentando todas as linhas com exceção das linhas:

auto lo eth0 eth1
iface lo inet loopback
Para em seguida, no mesmo arquivo, incluir:

auto bon0
iface bond0 inet static
address 10.1.162.6
netmask
255.255.240.0
gateway 10.1.160.1

up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1

Feito isso é preciso reiniciar o sistema para verificar se tudo como planejado.