Ao clonar uma máquina virtual VMware, como posso evitar conflitos de endereço MAC e UUID?


10

Encontrei o seguinte problema no VMware Fusion (para Macs) e no VMware ESXi / vSphere. Muitos de vocês estão familiarizados com o problema e estão descritos no VMware KB: "A rede não funciona em uma máquina virtual Linux clonada (2002767) ".

  1. Crie uma VM do CentOS.
    • Esta é uma VM básica, com um conjunto mínimo de software e uma pilha de rede em funcionamento. A idéia é pegar a VM mínima, cloná-la e adicionar mais software posteriormente.
  2. Clone essa VM
  3. O VMware Fusion ou o vCenter atribuirá um novo endereço MAC à interface de rede na VM clonada.
  4. O Linux não conhece esse novo endereço MAC e, portanto, a rede não funciona. O arquivo /etc/sysconfig/network-scripts/ifcfg-ethNtem o endereço MAC da interface na primeira máquina.
  5. Para corrigir isso, preciso encontrar o endereço MAC da nova VM, editar ifcfg-ethNe adicionar esse MAC ao HWADDR=campo. Não posso simplesmente recortar e colar o MAC no campo, portanto isso pode ser uma tarefa suscetível a erros, especialmente se eu esquecer minha caneta e papel para anotá-lo.
  6. (Pontos de bônus) Na nova VM, geralmente eth0, eth1, etc. são exibidos na ordem errada. Consertar isso envolve uma dança arcana ao redor/etc/udev/rules.d

Eu posso fazer isso, mas é propenso a erros e meio doloroso quando eu simplesmente queria criar uma nova VM para testar alguma coisa.

Existe uma maneira de simplificar esse processo manual? Quando você clona uma nova máquina, como soluciona o problema de endereço MAC?


Para esses sistemas, você se preocupa em manter o material de persistência do dispositivo?
Shane Madden

Não, não para a interface de rede.
Stefan Lasiewski

Respostas:


13

Como o material de persistência de dispositivo está apenas atrapalhando essas VMs, retire-o:

  • Remova completamente as linhas HWADDRe UUIDdo ifcfgarquivo e
  • Excluir /etc/udev/rules.d/70-persistent-net.rulesantes da clonagem

Isso deve permitir que o eth0 com um novo endereço MAC realmente use o ifcfg-eth0boot inicial.


Hum, isso parece funcionar. Eu não tinha idéia HWADDRera opcional. Devo também remover o UUID?
Stefan Lasiewski

1
@StefanLasiewski Ahh, sim, você deveria.
Shane Madden

O +1 funcionou como o encanto J
deepdive

2
dos 10 principais resultados do google, esse é o que funciona! Nota: remova as linhas HWADDRAND UUIDde/etc/sysconfig/network-scripts/ifcfg-eth0
Howard Lee
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.