Klonen einer VM mit Proxmox

Eine kleine Zusammenfassung der Schritte die man tun muss wenn man eine VM (in diesem Fall die Template VM) kopiert.

Der Beitrag basiert auf dem Proxmox Wiki Eintrag. Von diesem kann man 3 Dinge zu mitnehmen.

  • Der Hostname muss Angepasst werden.
  • Die Mac Adresse darf nicht gleich sein.
  • Die SSH Host keys sollten neu erstellt werden.

Punkt eins ist aus meiner Sicht selbstverständlich, Punkt zwei ist eigentlich zu vernachlässigen da Proxmox automatisch eine neue MAC-Adresse beim kopieren vergibt. Leider weis ich nicht nach welchem Muster da diese keinen bekannten Vendor Prefix enthält. Punkt drei ist relevanter Punkt auf den man vielleicht nicht gleich kommt. Fehlen würde mir noch die Änderung der IP, da ein IP-Adressen Konflikt nicht schön ist.

Das Klonen von einer VM ist sehr einfach, im Navigationsbaum links die zu kopierende VM auswählen mit Rechtsklick das Context Menü öffnen und Clone auswählen.
proxmox_vm_clone_dropdown

In dem Popup muss nur der Name der neuen VM eingetragen werden und das Storage ausgewählt werden.
proxmox_vm_clone_popup

Der Klon Vorgang wird in der Task Tabelle am unteren Rand angezeigt. Sobald dieser Abgeschlossen ist steht die VM zu Verfügung. Der erste Blick gilt dem Hardware Tab, dort wird die Mac Adresse der neuen VM überprüft um sicher zu stellen das diese neu ist. Weiters können hier Anpassungen der Hardware für die neue VM getroffen werden.
proxmox_vm_hardware_tab

Bevor wir die neue VM starten müssen wir noch das „Netzwerkkabel“ entfernen, dazu wählen wir die Netzwerkkarte aus und setzen die Checkbox bei Disconnect. Nachdem die wir Hostnamen und IP Adresse geändert haben können wir diese Checkbox wieder deaktivieren.

Wir starten ohne Netz die VM und verbinden uns über die web console. Als erstes wird der Hostname geändert. Dazu passen wir die Datei /etc/hostname und /etc/hosts an. Dabei können wir in der /etc/hosts auch die neue IP-Adresse eintragen.

Das könnte dann so aussehen:
127.0.0.1 localhost
172.20.20.27 testvm.schoen-bloed.at testvm local-ip

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

local-ip ist zur Vereinfachung um nicht in allen Applikationen den Hostnamen ändern zu müssen. Zb. Firewall script in dem ich die primäre IP-Adresse benötige.

Im Anschluss wird die IP-Adresse noch in der Datei /etc/network/interfaces eingetragen.

Danach könnte man bereits neustarten und das „Netzwerkkabel“ wieder einstecken. Wir löschen noch die SSH Keys der neuen VM und regenerieren diese neu in dem wir diese mittels „rm /etc/ssh/ssh_host_*“ löschen und mit „dpkg-reconfigure openssh-server“ neu anlegen lassen.

Damit sind die wichtigsten Basics abgeschlossen. Allerdings gibt es noch weitere Dienste die den neuen Namen oder die IP-Adresse wissen müssen.

Postfix

Das Mail Subsystem benötigt den neuen Namen, im Fall von Postfix muss die /etc/postfix/main.cf Datei angepasst werden. Debian verwendet eigentlich die /etc/mailname Datei zur Konfiguration, allerdings ist diese nicht sehr gut in Postfix integriert, deswegen verwende ich diese nicht. Anpassend sollte man sie trotzdem sollte ein anderes Programm außer Exim (welches ich nicht verwende) auf diese Datei zugreifen.

Monit

Zusätzlich wird in meiner Konfiguration noch die Monit id neu erstellt in dem ich /var/lib/monit/id lösche und Monit neustarte. Danach meldet sich der host bei meiner M/Monit Instanz mit einer neuen ID also als neuer Server an.

Rootkit Hunter

Sollte man Rootkit Hunter einsetzten muss man diesem mitteilen das sich der Hostname geändert hat und das auch ok ist. Der Befehlt dazu ist:
rkhunter --propupd

Observium

Für den Fall das Observium eingesetzt wird müssen auch hier Anpassungen durchgeführt werden.

Notice: This work is licensed under a BY-NC-SA. Permalink: Klonen einer VM mit Proxmox

Comments are closed.