Proxmox Remote Migration

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Diese Anleitung beschreibt eine konkrete Vorgehensweise zur Migration virtueller Maschinen (VMs) und Container (LXC) von einem Proxmox-Host zu einer anderen Node, ohne dass diese Teil eines gemeinsamen Clusters sind.

Funktion

Die Remote-Migration in Proxmox bezeichnet den Prozess, bei dem eine virtuelle Maschine (VM) oder ein Container (LXC) von einem Proxmox-Host auf einen anderen übertragen wird, ohne dass die beteiligten Hosts Teil eines gemeinsamen Clusters sind.

Die Migration erfolgt dabei über das Netzwerk, wobei die VM-Daten vom Quellhost zum Zielhost übertragen werden. Diese Methode ist besonders hilfreich in Umgebungen, in denen eine zentrale Clusterverwaltung nicht möglich oder nicht gewünscht ist, etwa bei verteilten Standorten, isolierten Systemen oder bei der Migration zwischen physisch getrennten Servern.

Vorbereitung

Für die Remote Migration in Proxmox muss auf dem Zielhost ein API-Token erstellt werden. Dies geschieht unter "Datacenter" → "API-Tokens", wobei als ID ein beliebiger Name und als Benutzer root@pam gewählt wird. Nach der Erstellung sollten Token ID und Secret sicher gespeichert werden, da sie für die Migration benötigt werden.

Anschließend wird unter "Datacenter" → "Permissions" → "Add" → "API Token Permission" die Berechtigung angepasst. Hier wird das Root-Verzeichnis / als Pfad gewählt, der zuvor erstellte Token angegeben und die Rolle "Administrator" zugewiesen.

Zum Schluss wird noch der Fingerprint des Zielservers benötigt. Dieser lässt sich abfragen mit dem Befehl:

openssl x509 -fingerprint -sha256 -noout -in /etc/pve/nodes/$(hostname)/pve-ssl.pem

Durchführung

Nachdem die oben genannten Schritte zur Vorbereitung abgeschlossen wurden, kann nun mit der Migration der VMs auf die andere Node fortgefahren werden.

Nachdem der Befehl ausgeführt wurde läuft die Migration automatisch durch.

Um die gewünschten VMs bzw. Container nun zu migrieren, muss auf der Node von welcher die VMs weg migriert muss folgender Befehl ausgeführt werden:

qm remote-migrate <VMID_QUELLE> <VMID_ZIEL> 'host=<ZIEL_IP>,apitoken=PVEAPIToken=<BENUTZER>@pam!<TOKENNAME>=<API_TOKEN>,fingerprint=<FINGERPRINT>' --target-bridge <NETZWERK_BRIDGE> --target-storage <ZIEL_STORAGE> --online

  • <VMID_QUELLE>: ID der zu migrierenden VM auf dem Quellserver
  • <VMID_ZIEL>: gewünschte ID der VM auf dem Zielserver
  • <ZIEL_IP>: IP-Adresse des Ziel-Proxmox-Hosts
  • <BENUTZER>: Benutzername, z. B. root
  • <TOKENNAME>: Name des API-Tokens
  • <API_TOKEN>: der generierte API-Schlüssel
  • <FINGERPRINT>: der zuvor abgefragte Fingerprint
  • <NETZWERK_BRIDGE>: z. B. vmbr0
  • <ZIEL_STORAGE>: z. B. local-lvm

Beispiel Befehl:


Autor: Harald Peterhansl

Harald Peterhansl ist seit 2022 bei der Thomas-Krenn tätig. Als Mitarbeiter in der Abteilung Hardware Service kümmert er sich um den Aufbau von Teststellungen und dem Testen von verschiedensten Server-Komponenten, und die Reparatur von defekten Kundensystemen.


Das könnte Sie auch interessieren

N8n installieren
Proxmox VM erstellen
VM in Error state - must be disabled and fixed first