VM klonen auf ESXi-Host

Virtuelle Maschinen (VM) benötigen Wartung und Updates, oft auch muss man eine VM klonen oder auf ein anderen ESXi-Host migrieren.

Das klonen eignet sich dort wo produktive Maschinen ein möglichst reibungslosen Betrieb gewährleisten sollen, und um bei Änderungen keine Risiken eingehen zu müssen. Besteht die Gefahr das bei der Konfiguration oder bei einem Upgrade eines neuen Datenbankmodels etwas schief laufen könnte, oder möchte man einfach eine Kopie des aktuellen Produktivsystem erstellen, dann ist Cloning ein probates Mittel.

VMware vSphere

Dieser Post beschriebt das Cloning einer VM auf einem VMware ESXi-Host, sowie das übertragen des Klones auf einen zweiten ESXi-Host um diesen dort einzubinden.

1. Als erstes wird die VM heruntergefahren.
2. Dann den Snapshot Konsolidieren.

VM klonen auf ESXi-Host

3. Einschalten des SSH Dienst auf ESXi-Host.
4. Login auf Hosts als root mit PuTTY.
5. Neues Verzeichnis für den Klone anlegen.

mkdir /vmfs/volumes/datastore1/ADCU12

6. VM klonen mit thin provisioning.

vmkfstools -i "/vmfs/volumes/datastore1/CUSDOM12/CUSDOM12.vmdk" -d thin "/vmfs/volumes/datastore1/ADCU12/ADCU12.vmdk"

7. Verzeichnis auf zweitem ESXi-Host anlegen.

mkdir /vmfs/volumes/datastore2/ADCU12

8. vSphere Firewall unter Konfiguration, Sicherheitsprofil, Firewall Eigenschaften, SSH-Client aktivieren.

VM klonen auf ESXi-Host, vSphere Firewall SSH-Client aktivieren
vSphere Firewall SSH-Client aktivieren

9. Kopieren der Dateien des Klones auf den remote ESXi-Host.

find "/vmfs/volumes/datastore1/CUSDOM12" -maxdepth 1 -type f -print | grep -v ".vmdk" | while read file; do scp "$file" "root@10.127.0.103:/vmfs/volumes/datastore2/ADCU12"; done

10. Kopieren der geklonten  .vmdk-Dateien auf den remote ESXi-Host.

scp /vmfs/volumes/datastore1/ADCU12/*.vmdk root@10.127.0.103:/vmfs/volumes/datastore2/ADCU12
PuTTY_vSphere-scp-vmdk

11. Klone in Bestandsliste aufnehmen mit durchsuchen des Datastore zur .vmx Datei.

vSphere Bestandsliste, VM klonen auf ESXi-Host

12. Einstellungen der Klone VM bearbeiten, Festplatte entfernen, und vorhandene Festplatte hinzufügen.

Eigenschaften virtueller Maschinen, VM klonen auf ESXi-Host

Die geklonte Virtuelle Maschine kann nun auf dem zweiten ESXi-Host gebootet werden.

Weitere Script Beispiele:

# transfer mit mount NFS
src="/vmfs/volumes/datastore1/virtual_machine" ; dst="/vmfs/volumes/synology/virtual_machine" ; find $src -maxdepth 1 -type f -print | grep -v ".vmdk" | while read file; do cp "$file" "$dst$file"; done


# transfer mit scp
src="/vmfs/volumes/datastore1/virtual_machine" ; dst="/vmfs/volumes/synology/virtual_machine" ; find $src -maxdepth 1 -type f -print | grep -v ".vmdk" | while read f; do scp "$f" "root@10.127.0.103:$dst"; done

vSphere ESXi Host Zugriff über TSM-SSH

Aktivieren von Zugriff über SSH auf der ESXi direkt Konsole

  1. Auf der ESXi direkt Konsole F2 drücken und Passwort eingeben.
  2. Nach Troubleshooting Options scrollen und Enter drücken.
  3. Auf Enable SSH und Enter drücken.
  4. Mit der Esc-Taste wieder zurück zum Hauptbildschirm gehen.
VMware ESXi SSH enable

Aktivieren von Zugriff über TSM-SSH im vSphere Client

  1. Selektiere den Host und klicke auf den Tap Konfiguration.
  2. Im Software Panel auf Sicherheitsprofile klicken.
  3. Im Abschnitt Dienste auf Eigenschaften klicken.
  4. SSH selektieren und unten auf Optionen klicken.
  5. Mit dem Host starten und beenden klicken.
  6. Bei Dienstbefehle auf Starten klicken.
  7. Auf OK klicken.
vSphere Sicherheitsprofil TSM-SSH
vSphere Sicherheitsprofil TSM-SSH

Aktivieren von Zugriff über SSH vom vSphere Web Client

  1. Selektiere den Host, auf Manage Tab gehen und Settings klicken.
  2. Unter System auf Security Profile gehen.
  3. Im Services Panel auf Editieren gehen.
  4. Selektiere SSH aus der Liste.
  5. Mit dem Host starten und beenden klicken.
  6. Selektiere Start um den Service zu aktivieren.
  7. Klicke OK.