Diante da necessidade de criar várias máquinas virtuais
SUSE Linux Enterprise Server, os manuais do
XenServer explicam como fazer "clones", evitando, assim, realizar uma mesma instalação e configuração do S.O. repetidas e cansativas vezes.
Também nos manuais da Citrix, explicam que o MAC address de uma VM
GNU/Linux é armazenado nos arquivos de configuração do S.O. GNU/Linux, e que a VM "clonada", seja ela resultado de um
full copy ou de um
fast clone, possuirá outro(s) MAC address(es).
Usando o recurso de copiar VM do XenServer, seja através do XenCenter ou via CLI, você consegue obter uma nova virtual idêntica à original, com exceção do MAC address, porque, como já foi dito, a cópia recebe novo(s) número(s), e do label da cópia que deverá ser obrigatoriamente diferente.
Os comandos
ip link set interface addr MAC não funcionam, porque quando a cópia da VM sobe, apenas a interface loopback é reconhecida, obviamente, porque o MAC address da interface virtual da nova VM é diferente daquele contido nos arquivos de configuração do S.O.
Dessa forma, para "clonar" máquinas virtuais SLES, após criar a primeira virtual, a virtual "modelo", as demais são criadas da seguinte forma:
1. Faça uma cópia da virtual usando o XenCenter ou via CLI, informando o nome para a nova virtual (cópia) gerada a partir da primeira:
- Usando o XenCenter: clicar com o botão direito na VM parada e selecionar "Copy VM..."
- Via CLI: vm-copy new-name-label=<name_for_copy> [new-name-description=<description_for_copy>] [sr-uuid=<uuid_of_sr>] [<vm-selector>=<vm-selector_value>]
- XenServer/6.0.0/1.0/en_gb/reference « docs.vmd.citrix.com
2. Inicie a nova VM. Esta cópia será igual à original, porém com MAC diferente.
3. Mude o IP, caso a VM necessite ser configurada com IP estático, e o hostname, no caso do SLES, usando o
YaST.
4. Pelo XenCenter (na aba networking da nova virtual), veja qual o MAC da nova VM e edite o arquivo
/etc/udev/rules.d/30-net_persistent_names.rules, para constar esse novo MAC.
5. Altere o nome do arquivo
/etc/sysconfig/network/ifcfg-eth-id-MAC para o MAC da nova VM encontrado pelo XenCenter.
6. Reinicie a VM e ela estará pronta para usar.
Os passos 4 e 5, referentes à alteração do MAC, podem ser realizados para mais de um MAC address, no caso de a VM original, usar mais de um MAC.
Neste caso, é importante verificar a ordem destes MAC address no XenCenter (na aba "networking", da nova virtual) e no arquivo
/etc/udev/rules.d/30-net_persistent_names.rules.
O "Network 0" no XenCenter corresponde à eth0, o "Network 1" à eth1, e assim por diante.
No caso dos arquivos
/etc/sysconfig/network/ifcfg-eth-id-MAC, também é importante renomeá-los considerando a ordem das interfaces.
Para isso, se você ainda tem a VM original, pode olhar na aba "networking" os MACs das interfaces "Network 0", "Network 1" e etc, e assim, saberá quais MACs são da eth0, eth1, etc.
Outra forma é editar estes arquivos. Neles vai ter uma diretiva com o nome da interface:
NAME='Xen Virtual Ethernet Card 0'
Por exemplo, é a interface "Network 0" que deve corresponder à eth0 do
/etc/udev/rules.d/30-net_persistent_names.rules.
Com exemplos, tudo fica mais fácil:
Label da VM: SLES1
Aba networking de SLES1: Network 0 -> a6:ec:d0:06:2c:77
Arquivo
/etc/udev/rules.d/30-net_persistent_names.rules de SLES1:
...
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="a6:ec:d0:06:2c:77", IMPORT="/lib/udev/rename_netiface %k eth0"
Arquivos em
/etc/sysconfig/network/:
- ifcfg-eth-id-a6:ec:d0:06:2c:77
Editando o arquivo:
- NAME='Xen Virtual Ethernet Card 0'
- Label da cópia de SLES1: SLES2
- Aba networking de SLES2: Network 0 -> 22:8b:b8:f0:44:8c
Arquivo
/etc/udev/rules.d/30-net_persistent_names.rules de SLES2 antes de alterar:
...
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="a6:ec:d0:06:2c:77", IMPORT="/lib/udev/rename_netiface %k eth0"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="22:8b:b8:f0:44:8c", IMPORT="/lib/udev/rename_netiface %k eth1"
Altere este arquivo para ficar assim:
...
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="22:8b:b8:f0:44:8c", IMPORT="/lib/udev/rename_netiface %k eth0"
Arquivo em
/etc/sysconfig/network/:
ifcfg-eth-id-a6:ec:d0:06:2c:77
Mude o nome para:
ifcfg-eth-id-22:8b:b8:f0:44:8c
Nenhum comentário foi encontrado.