Jede neue VM von Hand installieren? Das kostet unnötig Zeit. Mit einem Cloud-Init-Template klonst du in Proxmox fertig konfigurierte VMs in Sekunden – inklusive Hostname, Benutzer und Netzwerk. In dieser Anleitung erstellst du ein wiederverwendbares Proxmox VM-Template mit Cloud-Init.
Ein Cloud-Init-Template ist das Fundament für schnelles, reproduzierbares Bereitstellen von VMs in Proxmox. Statt jedes Betriebssystem von Hand zu installieren, bereitest du einmal ein schlankes Cloud-Image vor und klonst daraus in Sekunden fertig konfigurierte virtuelle Maschinen – inklusive Hostname, Benutzer, SSH-Schlüssel und Netzwerk. In dieser Anleitung erstellst du ein wiederverwendbares Proxmox VM-Template mit Cloud-Init, lernst die wichtigsten Konfigurationsoptionen kennen und verstehst den Unterschied zwischen Linked und Full Clone – die Grundlage für automatisiertes Provisioning im Homelab wie im Rechenzentrum.
- Was ist Cloud-Init?
- Schritt 1: Cloud-Image herunterladen
- Schritt 2: VM anlegen und Image importieren
- Schritt 3: Cloud-Init konfigurieren
- Schritt 4: In ein Template umwandeln
- Tipp: QEMU Guest Agent aktivieren
- Die Cloud-Init-Optionen im Überblick
- Klonen: Linked Clone oder Full Clone?
- Provisioning weiter automatisieren
- Häufige Fragen
- Warum bootet mein Klon ohne Netzwerk?
- Sollte ich Full Clone oder Linked Clone verwenden?
- Kann ich den Passwort-Login komplett deaktivieren?
- Fazit
Was ist Cloud-Init?
Cloud-Init ist ein Standard, mit dem sich VMs beim ersten Start automatisch konfigurieren: Benutzer anlegen, SSH-Schlüssel hinterlegen, Netzwerk setzen. Viele Distributionen bieten fertige „Cloud-Images“, die genau das unterstützen.
Schritt 1: Cloud-Image herunterladen
Lade auf dem Proxmox-Host ein Cloud-Image herunter, z. B. von Debian oder Ubuntu:
cd /var/lib/vz/template/iso
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2Schritt 2: VM anlegen und Image importieren
Erstelle eine leere VM (hier ID 9000) und importiere die Festplatte aus dem Cloud-Image:
qm create 9000 --name debian-template --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
qm importdisk 9000 debian-12-genericcloud-amd64.qcow2 local-lvm
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0Schritt 3: Cloud-Init konfigurieren
Füge ein Cloud-Init-Laufwerk hinzu und setze die Startoptionen:
qm set 9000 --ide2 local-lvm:cloudinit
qm set 9000 --boot c --bootdisk scsi0
qm set 9000 --serial0 socket --vga serial0Benutzer, Passwort, SSH-Key und IP legst du danach bequem im Reiter Cloud-Init der Weboberfläche fest. Einen SSH-Schlüssel erzeugst du wie in SSH-Key hinterlegen beschrieben.
Schritt 4: In ein Template umwandeln
Zum Schluss wandelst du die VM in eine Vorlage um:
qm template 9000Ab jetzt kannst du sie per Rechtsklick → Clone vervielfältigen. Wähle „Full Clone“, passe die Cloud-Init-Werte an, und wenige Sekunden später läuft eine fertige VM.
Tipp: QEMU Guest Agent aktivieren
Damit Proxmox die IP-Adresse der VM anzeigt und sie sauber herunterfahren kann, solltest du den QEMU Guest Agent aktivieren – in den VM-Optionen unter QEMU Guest Agent und im Gast per Paketinstallation:
sudo apt install -y qemu-guest-agent
sudo systemctl enable --now qemu-guest-agentCloud-Images bringen den Agent oft schon mit; ein Neustart der VM aktiviert ihn.
Die Cloud-Init-Optionen im Überblick
Cloud-Init liest beim ersten Start einer VM eine Konfiguration ein und richtet das System entsprechend ein. In Proxmox pflegst du die wichtigsten Werte bequem im Reiter „Cloud-Init“ der VM. Sie werden in ein virtuelles Laufwerk geschrieben, das der Gast beim Booten ausliest.
| Option | Zweck |
|---|---|
| User / Passwort | Standardbenutzer und optionales Passwort |
| SSH Public Key | passwortloser, sicherer Login |
| IP Config | statische IP oder DHCP festlegen |
| DNS-Server / Domain | Namensauflösung im Gast |
Der große Vorteil: Dieselbe Vorlage lässt sich für viele VMs nutzen, weil jede beim Klonen ihre eigenen Werte bekommt. Hinterlegst du einen SSH-Schlüssel, kannst du dich direkt nach dem Boot ohne Passwort anmelden – der sicherste und bequemste Weg.
Klonen: Linked Clone oder Full Clone?
Aus dem fertigen Template erzeugst du neue VMs per Klon. Proxmox bietet dabei zwei Varianten, die sich in Platzbedarf und Unabhängigkeit unterscheiden. Die Wahl hat spürbare Folgen für Speicher und Flexibilität.
- Linked Clone: teilt sich die Basisdaten mit dem Template, belegt kaum Platz und ist blitzschnell erstellt – bleibt aber vom Original abhängig.
- Full Clone: kopiert alle Daten vollständig, ist dadurch unabhängig und verschiebbar, braucht aber vollen Speicherplatz.
- Faustregel: viele kurzlebige Test-VMs als Linked Clone, produktive Dauerläufer als Full Clone.
Beachte, dass ein Linked Clone nicht auf einen anderen Storage migriert werden kann, solange die Verbindung zum Template besteht. Für produktive Systeme, die du später frei verschieben willst, ist der Full Clone daher meist die robustere Wahl.
Provisioning weiter automatisieren
Die grafischen Felder decken die Grundlagen ab, doch Cloud-Init kann mehr. Über eine eigene cloud-config als Snippet hinterlegst du zusätzliche Pakete, Skripte und Dateien, die beim ersten Start ausgeführt werden. So rollt eine frisch geklonte VM bereits mit installierten Werkzeugen und angepasster Konfiguration aus.
In Kombination mit einem Skript oder Werkzeugen wie Ansible oder Terraform wird das Ganze zu echtem Infrastructure-as-Code: Neue Maschinen entstehen per Befehl, identisch und nachvollziehbar. Wo diese VMs am besten liegen, hängt vom gewählten Storage-Typ ab – für schnelle Klone sind Thin-provisionierte Speicher ideal.
Ein letzter Tipp zum Basis-Image: Verwende immer die offiziellen Cloud-Images der jeweiligen Distribution, etwa von Debian oder Ubuntu. Diese sind bereits mit installiertem Cloud-Init und dem QEMU Guest Agent vorbereitet und sparen dir die manuelle Nachrüstung. Aktualisiere dein Template außerdem in regelmäßigen Abständen, damit frisch geklonte VMs nicht mit veralteten Paketständen und offenen Sicherheitslücken starten.
Häufige Fragen
Beim Arbeiten mit Cloud-Init-Templates tauchen typische Fragen auf. Hier die wichtigsten Antworten.
Warum bootet mein Klon ohne Netzwerk?
Meist fehlt in der Cloud-Init-Konfiguration die IP-Einstellung, oder es ist DHCP erwartet, aber keiner vorhanden. Prüfe im Reiter „Cloud-Init“, ob unter „IP Config“ entweder DHCP oder eine gültige statische Adresse samt Gateway gesetzt ist. Änderst du die Werte, musst du die VM neu starten, damit Cloud-Init sie erneut anwendet.
Sollte ich Full Clone oder Linked Clone verwenden?
Für viele kurzlebige oder testweise VMs ist der Linked Clone ideal, weil er kaum Platz braucht und sofort bereitsteht. Für produktive, langlebige Maschinen, die du unabhängig verschieben möchtest, ist der Full Clone die sicherere Wahl.
Kann ich den Passwort-Login komplett deaktivieren?
Ja. Hinterlege einen SSH Public Key in der Cloud-Init-Konfiguration und vergib kein Passwort. Zusätzlich kannst du in einer eigenen cloud-config den SSH-Daemon so konfigurieren, dass er Passwort-Anmeldungen ablehnt – so ist ausschließlich der Login per Schlüssel möglich.
Fazit
Ein Cloud-Init-Template verwandelt die VM-Erstellung von einer 20-Minuten-Aufgabe in einen Sekundenjob. Einmal eingerichtet, klonst du beliebig viele identisch konfigurierte VMs. Für schlanke Linux-Dienste bleibt oft ein LXC-Container die noch sparsamere Alternative. Vergiss danach nicht die Backups.

