VMWare: Rede não funciona quando clona VM

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

[ Hits: 16.551 ]

 


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

Instalação de proxy autenticado com Squid

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

Criando um bridge com MasterShaper (Firewall + QoS)

Alterando a senha de root no Metasys Corporate MC

Leitura recomendada

XFCE 4.2 pelo APT

Driver para Sis 671/717 no Ubuntu 11.04

Alternativa ao aterm (com suporte a acentos)

FlareGet - O Orbit do GNU/Linux

Cairo Dock - Barra de atalhos no Ubuntu

  

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