Primeiramente vamos entender o que significa:
- VM: Máquina virtual (Virtual Machine)
- Host: Máquina física (Host Machine)
- Shell: Console / terminal
- Snapshot: É uma "fotografia" do estado atual da máquina virtual.
Pré-requisitos:
- VMWare Server instalado no Linux (ele pode ser baixado gratuitamente aqui);
- Uma máquina virtual configurada e pronta para ser usada como modelo;
- Você deve estar trabalhando no console shell da máquina host e no diretório onde se encontra a VM (geralmente /var/lib/vmware/Virtual Machines/)
PS.: Usaremos a distribuição Red Hat 9 como exemplo, mas você pode usar qualquer sistema.
Passo-a-passo
1. Mantenha sua VM desligada.
2. Crie um diretório para armazenar a máquina clonada. Para isso, use o seguinte comando:
$ mkdir ../RedHat9_cl1
3. Os seguintes arquivos existem no diretório da VM.
- RedHat9.vmx - Configurações da VM.
- RedHat9_root.vmdk - Disco virtual;
- RedHat9_root-000001.vmdk - Extensão do disco virtual
- RedHat9.vmsd - Imagem da memória;
- RedHat9-Snapshot1.vmsn - Extensão da imagem de memória;
- nvram - CMOS da VM.
Copie os arquivos para a pasta que você acabou de criar:
$ cp * ../RedHat9_cl1
4. Vá para o diretório da máquina-clone:
$ cd ../RedHat9_cl1
5. Renomeie o disco virtual da máquina-clone usando o vmware-vdiskmanager:
$ vmware-vdiskmanager -n RedHat9_root-000001.vmdk RedHat9_root-cl1.vmdk
6. No arquivo RedHat9.vmx, você irá alterar duas linhas:
A primeira linha (que se refere a extensão do disco virtual):
Mude de:
scsi0:0.fileName = "RedHat9_root-000001.vmdk"
Para:
scsi0:0.fileName = "RedHat9_root-cl1.vmdk"
E a segunda linha (que é responsável pelo nome mostrado no console):
Mude de:
displayName = "RedHat9"
Para:
displayName = "RedHat9_cl1"
7. Se quiser, adicione um link simbólico para o disco-pai:
$ ln -s ../RedHat9/RedHat9_root.vmdk RedHat9_root.vmdk
8. Rode a máquina clonada (gere um novo "uuid" e reconfigure o sistema conforme sua necessidade, por exemplo: altere o IP se for estático, altere o hostname etc).