VMWare: Rede não funciona quando clona VM

Publicado por Mauricio Vieira Gomes da Silva em 11/07/2008

[ Hits: 16.546 ]

 


VMWare: Rede não funciona quando clona VM



Este foi um comportamento estranho que encontramos na empresa onde trabalho, quando trocamos o servidor antigo de máquinas virtuais por um novo.

Para facilitar o serviço, ao invés de reinstalarmos todas as máquinas virtuais do zero, nós montamos o novo servidor e copiamos as máquinas virtuais do servidor antigo para o novo.

Quando você copia vm's de um local para outo, o VMWare faz a seguinte pergunta: "Hey, it looks like this machine has been physically moved or copied, do you want me to create a new VM-UUID?" ("Ei, parece que essa máquina está sendo fisicamente movida ou copiada, você deseja criar uma nova VM-UUID?").

Se responder que "sim", o VMWare recria internamente todos os identificadores únicos da máquina virtual. Mas o que nos interessa aqui é que todas as placas de rede virtuais tem seus endereços MAC trocados, e é aí que está o problema.

O problema que tive é que quando ligamos a vm com o novo UUID, ela não tinha mais as interfaces de rede. No Gentoo, distro em que testamos, a interface tentava ser montada, mas retornava a mensagem: "a interface de rede eth0 não existe" e "Por favor, verifique o hardware ou o módulo do kernel (driver)".

Explicação

- "Então, o que está havendo?"

Tente o seguinte:

1. se rodar o lspci você ainda consegue ver a interface de rede.
2. se rodar o 'dmesg' você ainda consegue ver o kernel encontrar a placa de rede e nomeá-la como eth0

- "Então, para onde a eth0 aponta?"

Tente rodar o comando ifconfig -a. Eu aposto que agora tem uma eth1 e seu endereço MAC coincide com o endereço MAC especificado no arquivo "maquina_virtual.vmx.

- "Ótimo! Então toda vez que eu copiar uma vm eu preciso atualizar os arquivos de sistema para usar as novas eth1, ou eth2, etc!?!?!"

Não, a solução não é essa. O problema é que a distro 'lembra' o endereço MAC do adaptador de rede e espera que seja o mesmo entre os boots. No nosso caso, a vm não conseguiu encontrar o endereço MAC que estava armazenada.

-"Ok, ótimo, é uma falha da udev. Sabemos que ela "quebrou" porque esperava um endereço MAC que não era mais usado. O que fazer agora?

A resposta

Para resolver o problema você precisa dizer à sua distro que a vm tem um novo endereço MAC. Como fazer isso varia de distro para distro. No nosso caso, encontramos a seguinte solução. No Gentoo faça o seguinte (mais simples): delete /etc/udev/rules.d/70-persistent-net.rules e reinicie. Sua eth0 deve voltar.

Isso quase sempre funciona. Mas, por algum motivo que as leis da física não conseguem explicar, às vezes parece que ele confunde a udev de novo; depois de reiniciar, tínhamos a eth1, eth2 etc.

Quando isso acontecia, partíamos para o próximo passo, certificando-nos que o arquivo de configuração da udev tinha 'eth0' listada, e não eth1, eth2 ou eth3. Edite o arquivo /etc/udev/rules.d/70-persistent-net.rules (ou o nome que ele tenha dado ao arquivo) para encontrar seu novo endereço MAC e reinicie. Sua eth0 deve voltar.

Outras distros:

1. verifique o /etc/iftab, editando-o se encontrá-lo;
2. idem o /etc/udev/rules.d/25-iftab.rules, deletando-o e reiniciando;
3. ibidem o /etc/sysconfig/network-scripts/ifcfg-eth0, editando-o se encontrá-lo.

Espero ter ajudado! ^^

Outras dicas deste autor

Criando um bridge com MasterShaper (Firewall + QoS)

Instalação de proxy autenticado com Squid

Alterando a senha de root no Metasys Corporate MC

Rsyslog - Gravando os logs do syslog em um banco de dados

Leitura recomendada

Google Chrome no Ubuntu 13.04

Atualizando o Firefox corretamente no Mandrake/Mandriva

Modificando o tema do MOC (Music On Console)

Filmando o desktop e capturando a tela

Instalando o corretor ortográfico em pt-br no OpenOffice.org 2

  

Comentários
[1] Comentário enviado por riav em 12/07/2008 - 20:07h

Excelente Dica, mas a minha solução era ter um modelo sem placa de rede adicionada, porem consequentemente sem todas as atualizaçoes possíveis.

Muito Bom!!!!!!

Viva VOL!!!!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts