So verwenden Sie Cloud-Init unter Proxmox, um VM-Images zu erstellen?

Die Automatisierung virtueller Maschinen spart Zeit in großen Umgebungen. Proxmox VE und Cloud-Init arbeiten zusammen, um die Erstellung von VM-Images zu vereinfachen. In diesem Blog erfahren Sie Schritt für Schritt, wie Sie Cloud-Images herunterladen, Cloud-Init konfigurieren und wiederverwendbare VM-Vorlagen erstellen.

download-icon
Kostenloser Download
für VM, Betriebssystem, DB, Datei, NAS usw.
emma

Updated by Emma on 2025/12/30

Inhaltsverzeichnis
  • Was ist Cloud-Init?

  • So funktioniert Cloud-Init

  • So erstellen Sie eine virtuelle Maschinen-Vorlage mithilfe von Cloud-Init?

  • Sichern Sie Proxmox-VMs mit der Vinchin-Lösung

  • Proxmox Cloud-init-Häufig gestellte Fragen

  • Zusammenfassung

In einer virtualisierten Umgebung ist die Automatisierung der virtuellen Maschinenkonfiguration entscheidend, um die Effizienz zu verbessern. Proxmox VE ist eine beliebte Open-Source-Virtualisierungsplattform, während Cloud-Init ein Werkzeug zur Initialisierung von Cloud-Instanzen ist. Durch die Kombination von PVE und Cloud-Init können wir VM-Images schnell erstellen und konfigurieren. Dieser Artikel erklärt ausführlich, wie Cloud-Init auf PVE verwendet wird, um eigene Images zu erstellen.

Was ist Cloud-Init?

Cloud-Init ist ein branchenüblicher Satz von Tools, der darauf abzielt, den Initialisierungs- und Installationsprozess verschiedener Betriebssystemdistributionen auf Cloud-Servern zu standardisieren. Cloud-Init läuft innerhalb der Gastmaschine und wendet während der Initialisierung benutzerdefinierte Konfigurationen auf den Gast an. Stellen Sie sich vor, Sie sind ein Cloud-Dienstanbieter, der täglich Tausende von VMs für Kunden initialisieren muss, möglicherweise mit unterschiedlichen Betriebssystemen, und dabei verschiedene IP-Adressen, SSH-Schlüssel, Hostnamen usw. gemäß Kundenanforderungen zuweisen müssen. Wie bewältigen Sie das? Cloud-Init wurde genau zur Lösung dieses Problems entwickelt.

Ursprünglich von Canonical, dem Unternehmen hinter Ubuntu, entwickelt, unterstützt Cloud-Init mittlerweile die meisten Linux-Distributionen und FreeBSD-Systeme. Heute verwenden die meisten öffentlichen Cloud-Plattformen Cloud-Init zur Systemkonfiguration, und es unterstützt auch einige private Cloud-Umgebungen (KVM, OpenStack, LXD usw.) und ist damit effektiv zum de-facto-Standard geworden.

Dies führt uns zurück zu Proxmox. Da Proxmox zum Bereitstellen und Verwalten von VMs verwendet wird, eignet es sich natürlich für Cloud-Init-Szenarien und kann sogar als essentielle Komponente betrachtet werden.

Beim Beantragen von Rechenressourcen auf öffentlichen Clouds wie AWS oder Google Cloud verlangen Dienstanbieter in der Regel, dass Benutzer ein System-Image auswählen und einige grundlegende Konfigurationen vornehmen (Hostname, SSH-Schlüssel usw.) und anschließend das System darauf basierend erstellen. Cloud-Init entstand in diesem Zusammenhang, um die automatische Einbringung von Benutzerdaten in Systeminstanzen zu ermöglichen.

Das Hauptziel von Cloud-Init besteht darin, Konfigurationsoptionen zu definieren, die unabhängig vom Betriebssystem sind, wie zum Beispiel Hostname, Netzwerkkonfiguration usw.

Funktionen von Cloud-Init:

  • Standardsprache festlegen

  • Hostname festlegen

  • SSH-Private-Schlüssel generieren und konfigurieren

  • Konfigurieren Sie temporäre Einhängepunkte

So funktioniert Cloud-Init

Cloud-Init wird beim ersten Start einer Instanz ausgeführt und konfiguriert sie basierend auf Metadaten und Benutzerdaten, die vom Benutzer bereitgestellt werden. Diese Daten liegen typischerweise im YAML-Format vor und können Folgendes enthalten:

Metadaten: Beschreibt grundlegende Instanzinformationen wie Instanz-ID, Hostname usw.

Benutzerdaten: Definiert die spezifischen Konfigurationen und Skripte, die beim Start der Instanz ausgeführt werden sollen.

So erstellen Sie eine virtuelle Maschinen-Vorlage mithilfe von Cloud-Init?

1. Laden Sie das passende Cloud-Image für Ihr gewünschtes System herunter (Proxmox VE unterstützt zwei Cloud-Image-Typen: nocloud v1 und configdrive v2). Hier verwenden wir Debian 11 als Beispiel. Sie können es direkt mit „wget“ in PVE herunterladen oder an anderer Stelle herunterladen und dann per SFTP hochladen.

2. Erstellen Sie eine VM und stellen Sie sicher, dass der SCSI-Controller auf VirtIO SCSI eingestellt ist. Sie müssen keine Festplatte erstellen – falls doch, trennen und löschen Sie sie.

3. Fügen Sie ein CloudInit-Gerät in den Hardwareeinstellungen der erstellten VM hinzu.

4. Verwenden Sie SSH oder Tools wie Xftp, um die Abbilddatei auf den PVE-Server hochzuladen (überspringen Sie diesen Schritt, wenn Sie „wget“ verwendet haben). Verwenden Sie anschließend den folgenden Befehl, um das Festplattenabbild in die VM zu importieren. Nach erfolgreichem Import wird eine ungenutzte Festplatte im Hardwareabschnitt der VM im PVE-Panel angezeigt.

qm importdisk 900 debian-11-nocloud-amd64.qcow2 local-lvm

5. Doppelklicken Sie auf die nicht verwendete Festplatte, um sie zu aktivieren, wählen Sie SCSI als Bus/Gerätetyp aus und legen Sie sie unter Options → Boot Order als erstes Boot-Gerät fest.

6. Bearbeiten Sie die Cloud-Init-Einstellungen und füllen Sie die gewünschte Konfiguration aus. Cloud-Init verwendet den VM-Namen als Hostnamen.

  • Benutzer: Im Debian-11-Vorlagensystem ist der Standardbenutzer „debian“. Wenn Sie die Anmeldung für root oder andere Benutzer einrichten, geben Sie hier den Benutzernamen ein. Wenn das Feld leer bleibt, wird der Standardbenutzer verwendet.

  • Passwort: Geben Sie das Passwort für den oben angegebenen Benutzer ein. Es wird empfohlen, hier ein Passwort festzulegen; andernfalls können Sie sich möglicherweise nicht über die Konsole am System anmelden.

  • DNS-Domäne: Sie können den Domänennamen für die VM eingeben. Wenn nichts angegeben wird, übernimmt sie die Domäne vom PVE-Host.

  • DNS-Server: Falls die VM einen anderen DNS-Server verwendet, geben Sie diesen hier ein. Andernfalls übernimmt sie die DNS-Einstellungen vom PVE-Host.

  • Öffentlicher SSH-Schlüssel: Der öffentliche Schlüssel für die SSH-Anmeldung an die VM. Ermöglicht die SSH-Anmeldung mittels Schlüssel.

  • IP-Konfiguration: Wenn Sie dieses Feld leer lassen, verwendet die VM DHCP, um IPv4- und IPv6-Adressen zu erhalten. Sie können hier eine bestimmte IP-Adresse, Subnetzmaske und ein Gateway für die VM festlegen.

7. Ändern Sie die Größe der Festplatte und starten Sie die VM. Der erste Startvorgang kann einige Zeit in Anspruch nehmen. Wenn es so aussieht, als ob sie hängt, versuchen Sie einen Neustart.

8. Wenn die Cloud-Init-Konfiguration nicht greift, melden Sie sich über die PVE-Konsole bei der VM an und führen Sie „cloud-init -v“ aus, um zu prüfen, ob Cloud-Init installiert ist. Falls keine Ausgabe erfolgt, installieren Sie es mit den folgenden Befehlen:

# CentOS

yum install cloud-init -y

# Debian

apt install cloud-init -y

9. Führen Sie anschließend die anfängliche Konfiguration des Debian-Systems durch. Sobald alles eingerichtet ist, klicken Sie mit der rechten Maustaste auf die VM und speichern Sie sie als Vorlage. Anschließend können Sie sie verwenden, um schnell neue virtuelle Maschinen zu erstellen.

Sichern Sie Proxmox-VMs mit der Vinchin-Lösung

Vinchin Backup & Recovery bietet eine umfassende Palette fortschrittlicher Funktionen zum Schutz von Proxmox-VE-Umgebungen und gewährleistet Datensicherheit und -integrität durch die Einhaltung der 3-2-1-Backup-Regel.

Zu den Funktionen gehören automatisierte VM-Sicherungen, agentenlose Sicherung und LAN-Free-Optionen sowie Offsite-Kopien für eine zuverlässige Katastrophenwiederherstellung. Sofortige Wiederherstellung und effiziente Datenvolumenreduzierungstechniken sowie Cloud-Archivierungsoptionen verbessern das Datenmanagement weiter. Darüber hinaus verfügt die Lösung über Datensverschlüsselung und Ransomware-Schutz-Mechanismen für eine zusätzliche Sicherheitsebene. Sie ermöglicht auch eine nahtlose V2V-Migration zwischen unterstützten virtuellen Plattformen und gewährleistet so Flexibilität und einfache Datenübertragung.

Es dauert nur 4 Schritte, um Ihre Proxmox VE VMs zu sichern:

1. Wählen Sie das Sicherungsobjekt aus.

Backup Proxmox VM

2. Sicherungsziel auswählen.

Sichern Sie die Proxmox-VM

3. Sicherungsstrategien konfigurieren.

Sicherung von Proxmox VMs

4. Auftrag überprüfen und absenden.

Sichern Sie die Proxmox-VM

Tausende Unternehmen weltweit nutzen bereits Vinchin Backup & Recovery für ihren Datenschutz. Sie können die umfangreichen Funktionen mit einer umfassenden 60-tägigen Testversion erkunden, die vollständig mit allen Funktionen ausgestattet ist. Kontaktieren Sie uns, geben Sie uns die Details Ihrer Proxmox-VE-Umgebung an, und Sie erhalten eine maßgeschneiderte Lösung, die nahtlos in Ihre IT-Landschaft integriert werden kann.

Proxmox Cloud-init-Häufig gestellte Fragen

1. Die Datei /etc/hosts wird nach dem Neustart zurückgesetzt. Wie lässt sich das lösen?

Inhalte der Datei /etc/cloud/cloud.cfg ändern und update_etc_hosts auskommentieren oder löschen

2. Wo wird die Cloud-Init-Konfiguration in Proxmox gespeichert?

Die generierte Konfiguration wird als ISO-ähnliches Image gespeichert, das als CD-ROM-Laufwerk (normalerweise IDE2 oder SATA0) an die VM angehängt ist. Die Datei wird aus den Einstellungen von /etc/pve/nodes/<node>/qemu-server/<vmid>.conf erstellt.

Zusammenfassung

Cloud-Init ist ein leistungsstarkes und flexibles Tool, das den Initialisierungs- und Konfigurationsprozess von Cloud-Instanzen erheblich vereinfacht. Durch die vorherige Definition von Konfigurationsdateien können Benutzer verschiedene Initialisierungsaufgaben automatisieren und so die Effizienz und Konsistenz der Bereitstellung verbessern. Egal ob in öffentlichen oder privaten Cloud-Umgebungen – Cloud-Init ist ein unverzichtbares Werkzeug für die Konfigurationsverwaltung.

Teilen auf:

Categories: VM Tips