VMware ESXi – Clonagem de VMs (sem vCenter)

Como apresentado em um post anterior, o VMware ESXi é um sistema que possibilita particionar os recursos de hardware de um servidor, permitindo a execução de várias máquinas virtuais (guest VMs) ou simplesmente conhecidas como VMs (virtual machines).

Estando em um ambiente virtual é comum a necessidade de se clonar uma máquina virtual (mv), como para ambientes de testes de algum sistema em produção, configurações gerais, testes de soluções de software e etc. A versão free (gratuita) do VMware (ESXi) não tem uma opção nativa de clonagem (duplicação) de máquinas virtuais (e nem mesmo a função de renomear arquivos), porém, existem algumas maneiras de se fazer isso sem a necessidade de usar o vCenter, que é o software de gerenciamento de servidores da VMware de licença comercial. Vamos a elas!

Clonagem de VMs usando o copy padrão do VMware Datastore Browser

Talvez a maneira mais fácil e rápida de se clonar uma mv é a de usar o tradicional copy, do Browse Datastores, disponível na interface web do VMware ESXi. Neste caso, considerando que já você tenha uma mv configurada, no caso, qual você deseja clonar, faça:

  1. Desligue a mv que será usada na clonagem;
  2. No menu de navegação, vá em Storage / Datastores / Browse Datastores;
  3. Crie um novo diretório (sugestão: usar o nome da nova mv);
  4. Vá ao diretório da mv que será clonada (original) e então copie (um a um) todos os arquivos desta mv pré-existente para o novo diretório;
  5. Crie uma nova mv e use a opção register an existing virtual machine, conforme a imagem abaixo, e então aponte o novo diretório, para onde foram copiados os arquivos da mv original (no exemplo abaixo: ubuntu-copy).
Criando uma nova máquina virtual a partir de uma pré-existente
Criando uma nova máquina virtual: selecionado os arquivos pré-existentes

Feito isso, basta localizar a nova VM na lista de máquinas virtuais e então ligá-la. O VMware detectará que os arquivos utilizados foram alterados, por isso, lhe questionará se eles foram copiados ou movidos. Responda a questão e então aguarde pelo carregamento da nova máquina virtual.

Após o carregamento da nova mv, fique atento as configurações de rede e, especialmente, ao hostname da máquina (sistema operacional), que deve ser alterado para um novo nome, diferente da mv original (que ainda permanece desligada). No Ubuntu, por exemplo, basta usar o comando $ sudo nano /etc/hostname para alterar o hostname da máquina.

Clonagem de VMs usando usando SSH / SFTP

Bem semelhante ao método anterior, porém, com o adicional de que você poderá, via acesso SSH (Secure Shell) / SFTP (Secure File Transfer Protocol), renomear os arquivos e assim ter uma organização mais eficiente. Assim como no método anterior, considerando que já você tenha uma mv configurada, no caso, qual você deseja clonar, basta fazer:

  1. Desligue a mv que será usada na clonagem;
  2. No menu de navegação, vá em Host e, com o botão direito, selecione Services / Enable Secure Shell (SSH);

    VMware ESXi: habilitando o acesso via SSH
  3. Crie uma nova mv sem HD, com as configurações de hardware semelhante a que você deseja clonar, como na imagem abaixo:

    Criando uma nova maquina virtual sem disco rígido
  4. No menu de navegação, vá em Storage / Datastores / Browse Datastores. Nesta janela, localize o diretório com os arquivos da mv existente, que servirá como base para uma nova, clonada;
  5. Localize o arquivo .vmdk (Virtual Machine Disk) e então clique em Copy. Você deverá apontar o destino da cópia do arquivo, que deverá ser o diretório da nova máquina;
    Copiando o disco rígido (vmdk) de uma mv para outra
    Copiando o disco rígido (vmdk) de uma mv para outra (destino)

    *Após o término desta cópia (que pode demorar, dependendo do tamanho do disco da mv original e da performance do seu servidor ESXi), você notará que, agora, no diretório da nova mv, também há um arquivo de disco rígido (vmdk), porém, com o mesmo nome da mv original. Como o VMware ESXi não permite renomear este arquivo, vamos conectar no servidor via SSH/SFTP e então renomeá-lo.

  6. Usando o aplicativo WinSCP (Windows) ou o Nautilus (gerenciador de arquivos padrão do Linux Ubuntu), acesse o servidor via SSH / SFTP (conforme imagem abaixo) e então vá ao diretório /vmfs/volumes/datastoreX

    Acesso SSH/SFTP via aplicativo WinSCP para Windows
  7. Localize o diretório da nova mv e, então, renomeie os 2 arquivos do tipo vmdk, sendo o *-flat.vmdk e o *.vmdk, com o nome da nova mv. Veja a imagem abaixo:

    Renomeando arquivos via SSH/SFTP
  8. Agora, edite o arquivo (vmdk) de texto (que tem apenas 1 kB de tamanho) alterando o nome do arquivo do disco rígido para o novo nome (usado no passo anterior) e salve a alteração;

    Editando o arquivo de configuração do vmdk via SSH/SFTP
  9. Volte ao VMware ESXi, edite as propriedades da nova mv e adicione um disco HD existente (Add hard disk / Existing hard disk) apontando para o arquivo que acabamos de renomear, que está no diretório desta mesma nova mv. Salve as alterações.
    Editando as propriedades da mv: adicionando um disco (HD)

    Editando as propriedades da mv: novo disco adicionado

Feito isso, inicie a nova mv e, após o seu carregamento, fique atento as configurações de rede e, especialmente, ao hostname da máquina (sistema operacional), que deve ser alterado para um novo nome, diferente da mv original (que ainda permanece desligada). No Ubuntu, por exemplo, basta usar o comando $ sudo nano /etc/hostname para alterar o hostname da máquina.

Terminado o processo, recomenda-se desativar o SSH do servidor ESXi, por questões de segurança.

Abaixo está o exemplo de duas máquinas Linux Ubuntu sendo que uma delas é uma cópia da outra:

VMwaew ESXi – Máquinas virtuais Linux Ubuntu clonadas

*Com informações de: VMware – Sobre o vCenter, VMware Docs – Clone an existing virtual machine, Altaro – How to clone vms without vcenter, Ubackup – VMware ESXi – Cloning VM, Homelaber Brasil – Valdecir Carvalho – Como clonar uma vm no VMware ESXi sem vCenter.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.