Zum Hauptinhalt springen

VM-Vorlagen

VM-Vorlagen dienen in OpenVLE als Grundlage für die Erstellung virtueller Maschinen.
Sie enthalten eine vorinstallierte Systemumgebung mit allen notwendigen Tools und Diensten und werden meist im Rahmen von Umgebungen oder Veranstaltungen eingesetzt.
Durch Vorlagen lassen sich neue VMs schnell und konsistent bereitstellen.


Wo finde ich den Bereich?

Navigation:
Über das Hauptmenü: VM-Vorlagen
Alternativ erreichbar über: Über Virtuelle Maschinen oder Verbindungen verlinkt

Funktionen im Überblick

  • Anzeigen, Erstellen, Bearbeiten und Löschen von VM-Vorlagen
  • Importieren bestehender Templates aus Proxmox VE
  • Verknüpfen von Vorlagen mit Betriebssystemen und Anwendungen
  • Festlegen technischer Parameter wie CPU, RAM und Datenträgergröße
  • Zuweisen von Metadaten (Tags) und Beschreibungen für eine bessere Organisation

Wichtige Felder im Überblick

FeldnameBeschreibung
ArbeitsspeicherArbeitsspeicher (RAM) in Gigabyte, der neuen VMs zugewiesen wird. Beeinflusst direkt die Performance der Maschinen.
BeschreibungFreitextfeld zur Dokumentation oder Kommentierung der VM-Vorlage. Unterstützt Markdown-Syntax (z. B. für Listen oder Hervorhebungen).
BetriebssystemDas zugrunde liegende Betriebssystem der Vorlage. Dieses wird für die automatische Konfiguration und Filterung im System verwendet.
CPUAnzahl der vCPUs, die VMs auf Basis dieser Vorlage erhalten. Der Wert bestimmt die Rechenleistung jeder erstellten Maschine.
NameName der VM-Vorlage. Wird in der gesamten Oberfläche angezeigt und sollte eindeutig sowie aussagekräftig gewählt werden, z. B. „Debian12-Base“ oder „Windows10-Schulung“.
Proxmox VE InfosSysteminterne Zuordnungen zu Proxmox VE, bestehend aus der **VMID** (eindeutige ID auf dem Host) und dem **Node-Namen** (Hostsystem innerhalb des Clusters). Diese Felder werden automatisch gepflegt und sind schreibgeschützt.

Importieren einer VM-Vorlage

Bereits auf dem Proxmox VE-Server vorhandene VM-Vorlagen können in OpenVLE importiert werden. Dadurch lassen sich bestehende Vorlagen direkt innerhalb von OpenVLE weiterverwenden.
Hierfür muss unter VM-Vorlagen → Importieren die Proxmox VMID der gewünschten Vorlage angegeben werden.

Anschließend werden die Vorlageninformationen automatisch vom Proxmox VE-Server geladen.
Diese importierten Daten können bei Bedarf angepasst werden – eine Anpassung ist jedoch in der Regel nicht erforderlich, außer beim Feld „Betriebssystem“.
Da der Proxmox VE-Server diese Information nicht exakt auslesen kann, muss sie manuell einmalig angegeben werden.

info

OpenVLE kann nur die VM-Vorlagen vom Proxmox VE-Server auslesen, für die der OpenVLE-API-Token im Proxmox VE-Cluster über entsprechende Berechtigungen verfügt.
Wenn die Berechtigungen des API-Tokens gemäß der Dokumentation eingerichtet wurden, kann OpenVLE nur VM-Vorlagen (und VMs) innerhalb des zugehörigen Proxmox-Pools einsehen.
Daher ist es zwingend erforderlich, die VM-Vorlagen im Proxmox VE-Server diesem Pool zuzuordnen.
Andernfalls führt der Import zu einem „VM-Vorlage nicht gefunden“-Fehler.


Erstellen einer VM-Vorlage

warnung

Die VM, die als Basis für die VM-Vorlage dienen soll, muss ausgeschaltet sein. Nur ausgeschaltete VMs können zu einer VM-Vorlage kopiert werden. Fahre die VM bei Bedarf vorher über OpenVLE herunter.

  1. Öffne im Hauptmenü den Bereich VM-Vorlagen.
  2. Klicke auf Hinzufügen, um eine neue VM-Vorlage zu erstellen.
  3. Wähle die gewünschte VM als Basis.
  4. Gib einen Namen für die VM-Vorlage an.
  5. Die restlichen Felder werden automatisch auf Basis der gewählten VM vorausgefüllt. Bei Bedarf können diese angepasst werden.
  6. Speichere die VM-Vorlage.
  7. Die VM-Vorlage wird nun im Hintergrund automatisch erstellt.
  8. Verwende diese VM-Vorlage, um neue virtuelle Maschinen zu erstellen oder Veranstaltungen vorzubereiten.
info

Beim Erstellen einer VM-Vorlage werden folgende Zuordnungen automatisch angelegt oder vererbt:

  • Anwendungen ↔ VM: Alle der VM zugewiesenen Anwendungen werden automatisch auch der neuen VM-Vorlage zugewiesen.
  • Verbindungsvorlagen ↔ VM: Alle Verbindungsvorlagen der VM werden kopiert und der VM-Vorlage zugewiesen.

Bearbeiten einer VM-Vorlage

  1. Öffne im Hauptmenü den Bereich VM-Vorlagen.
  2. Suche in der Liste nach der gewünschten VM-Vorlage.
  3. Klicke auf Bearbeiten oder öffne das Kontextmenü der VM-Vorlage und wähle Bearbeiten.
  4. Im Formular werden alle aktuellen VM-Vorlagen-Daten angezeigt.
  5. Passe die gewünschten Felder an – z. B. Name, Beschreibung, CPU, Arbeitsspeicher oder Betriebssystem.
  6. Speichere die Änderungen.
  7. Die Aktualisierung wird im Hintergrund übernommen.
hinweis

Änderungen an VM-Vorlagen wirken sich nicht auf bereits erstellte VMs aus.


Löschen einer VM-Vorlage

  1. Öffne im Hauptmenü den Bereich VM-Vorlagen.
  2. Suche in der Liste nach der gewünschten VM-Vorlage.
  3. Klicke auf Löschen oder öffne das Kontextmenü der VM-Vorlage und wähle Löschen.
  4. Bestätige den Löschvorgang im angezeigten Dialog.
  5. Die VM-Vorlage wird daraufhin dauerhaft entfernt.
  6. Nach Abschluss des Vorgangs verschwindet die VM-Vorlage aus der Übersicht.
gefahr

Beim Löschen einer VM-Vorlage werden auch alle damit verknüpften Verbindungsvorlagen automatisch gelöscht.
Dieser Vorgang kann nicht rückgängig gemacht werden.


Anforderungen an VM-Vorlagen

Damit OpenVLE korrekt mit den einzelnen virtuellen Maschinen kommunizieren kann, müssen bei der Erstellung von VM-Vorlagen einige Voraussetzungen erfüllt sein.

Für alle Vorlagen, unabhängig vom Betriebssystem, gilt:

  • Qemu Guest Agent muss installiert und aktiviert sein (innerhalb der VM und auf dem PVE-Host).
  • Cloud-Init muss installiert und aktiviert sein, damit OpenVLE Automatisierungen wie Anmeldungen und Netzwerkkonfigurationen steuern kann.
tipp

Die meisten Anforderungen müssen nur einmal für die jeweilige Master-Vorlage pro Betriebssystem umgesetzt werden.
Alle weiteren VMs oder Vorlagen, die darauf basieren, übernehmen die Einstellungen automatisch.

warnung

Die folgenden Schritte sind noch nicht vollständig dokumentiert.
Die Anleitungen für Linux sind weitgehend getestet, während die Windows-Konfiguration noch erweitert wird.


Einmalige Einrichtung

Diese Schritte müssen nur einmal pro Betriebssystem und Master-Vorlage durchgeführt werden:

sudo apt update
sudo apt install qemu-guest-agent cloud-init

Vorbereitung vor der Konvertierung

Diese Schritte müssen jedes Mal durchgeführt werden, bevor eine VM in eine Vorlage umgewandelt wird:

su root
rm -rf /etc/cloud/cloud-init.disabled /tmp/* /var/tmp/*
apt clean && apt autoclean
cloud-init clean
truncate -s 0 /etc/machine-id /var/lib/dbus/machine-id
find /var/log -type f -exec truncate -s 0 {} \;
find /var/log -type f -regex ".*\.log\.[0-9]*\(\.gz\)?$" -delete
find /var/log -type f -name "*.log.*.gz" -delete
find / -name *.bash_history -exec rm -f {} \;
find / -name *.sh_history -exec rm -f {} \;
find / -name *.zsh_history -exec rm -f {} \;
find / -name known_hosts -exec rm -f {} \;
history -c

Nach Abschluss dieser Schritte kann die VM heruntergefahren und in eine VM-Vorlage konvertiert werden.


Beispiel oder Anwendungsfall

Beispiel: Master-Vorlage für Debian erstellen

Eine Systemverwaltungsperson möchte eine neue Debian-Vorlage für Schulungsumgebungen erstellen. Diese Person installiert innerhalb der VM den Qemu Guest Agent und Cloud-Init, führt die Bereinigungsbefehle durch und konvertiert die Maschine anschließend in eine Vorlage. Danach kann diese Vorlage in OpenVLE verwendet werden, um schnell neue VMs für Veranstaltungen oder Tests bereitzustellen.


Hinweise / Besonderheiten

  • VM-Vorlagen bilden die Grundlage für alle automatisiert erstellten virtuellen Maschinen in OpenVLE.
    Änderungen an einer VM-Vorlage wirken sich nicht rückwirkend auf bereits erstellte VMs aus.

  • Beim Erstellen oder Importieren einer VM-Vorlage wird im Hintergrund ein Task gestartet.
    Du kannst den Fortschritt und mögliche Fehlermeldungen im Bereich System → Tasks nachvollziehen.

  • Eine VM-Vorlage kann nur dann erfolgreich importiert oder erstellt werden, wenn der Qemu Guest Agent und Cloud-Init innerhalb des Systems korrekt eingerichtet sind.

  • Wenn eine VM-Vorlage gelöscht wird, werden alle damit verknüpften Verbindungsvorlagen automatisch entfernt.
    Dies kann nicht rückgängig gemacht werden.

  • Importierte VM-Vorlagen werden automatisch mit den zugehörigen Proxmox VE-Informationen verknüpft (Node, VMID).
    Diese Felder sind schreibgeschützt und dienen der Synchronisierung mit dem Cluster.

  • Änderungen an CPU, RAM oder Betriebssystem wirken sich erst auf neu erstellte virtuelle Maschinen aus, die auf Basis der aktualisierten VM-Vorlage erstellt werden.

  • VM-Vorlagen, die in Proxmox VE außerhalb des dem OpenVLE-API-Token zugewiesenen Pools liegen, können nicht importiert werden.
    Stelle daher sicher, dass alle relevanten Vorlagen korrekt zugeordnet sind.

  • Für eine einheitliche Verwaltung empfiehlt es sich, pro Betriebssystem eine Master-Vorlage zu pflegen, die regelmäßig aktualisiert wird (z. B. mit Sicherheitspatches oder Software-Updates).
    Neue VM-Vorlagen können anschließend aus dieser Master-Vorlage abgeleitet werden.

  • Bei der Konvertierung einer VM in eine VM-Vorlage wird empfohlen, vorher ein Bereinigungsskript (siehe Abschnitt Vorbereitung vor der Konvertierung) auszuführen, um Maschinenkennungen, Logdateien und SSH-Schlüssel zu entfernen.

  • Die Anzeige der VM-Vorlagen aktualisiert sich regelmäßig automatisch, solange der Bereich geöffnet ist.


Beziehungen zu anderen Objekten

Viele Objekte in OpenVLE stehen in Beziehung zu anderen Elementen innerhalb des Systems. Die folgende Übersicht zeigt, welche Verknüpfungen bestehen und ob diese bestimmte Automatisierungen auslösen.

ObjektBeschreibungAutomatisches Verhalten
AnwendungenEiner VM-Vorlage können beliebig viele Anwendungen zugewiesen werden.Keine Automatisierungen.
BerechtigungenObjektspezifische Berechtigungen können direkt am Objekt vergeben werden.Automatisches Entfernen beim Löschen des Objekts.
BetriebssystemEiner VM-Vorlage kann genau ein Betriebssystem zugewiesen werden.Keine Automatisierungen.
ChangelogsAlle Änderungen am Objekt werden automatisch protokolliert.Automatisches Entfernen beim Löschen des Objekts.
TagsObjekte können mit beliebig vielen Tags versehen werden, um sie zu kategorisieren oder zu filtern.Automatisches Entfernen beim Löschen des Objekts.
TasksSysteminterne Aufgaben, die bei Aktionen (z. B. Starten, Stoppen oder Klonen) automatisch erstellt und überwacht werden.Automatische Erstellung bei bestimmten Prozessen oder Aktionen.
VerbindungsvorlagenEiner VM-Vorlage können beliebig viele Verbindungsvorlagen zugewiesen werden.Automatisches Löschen beim Entfernen der VM-Vorlage.

Erforderliche Berechtigungen

Die für Aktionen benötigten Berechtigungen können über Rollen oder individuell vergeben werden. Fehlen Ihnen bestimmte Rechte, sind die entsprechenden Funktionen in der Benutzeroberfläche ausgeblendet oder deaktiviert.

AktionBenötigte BerechtigungPfadWeitere Informationen
VM-Vorlagen anzeigentemplates_read/ oder /<objectID>
VM-Vorlagen anlegentemplates_create/
VM-Vorlagen bearbeitentemplates_update/ oder /<objectID>
VM-Vorlagen löschentemplates_delete/ oder /<objectID>
Virtuelle Maschinen anzeigenvms_read/
info
Die Berechtigungen *_read, *_update und *_delete können auf einen bestimmten Pfad gesetzt werden, also auf die UUID eines Objekts.
Beispiel: /4a3bc312-d1af-4b3f-b222-f5e9cecbf007 So erhält der Benutzer nur Zugriff auf dieses eine Objekt.
Wird als Pfad / verwendet, gilt die Berechtigung global für alle Objekte dieses Typs.
Für *_create-Berechtigungen ist nur der globale Pfad / zulässig.

Verwandte Themen