Ga naar de inhoud

Proxmox VM migratie tussen hosts

Afgelopen week heb ik een aantal VM’s verhuist tussen 2 Proxmox hosts die niet in een cluster zitten. Het was even uitzoeken en testen maar het zijn eigenlijk maar een paar stappen die je moet doorlopen.

Voorbereiding Netwerk

Zorg er voor dat de 2 machines vrij met elkaar kunnen praten. Omdat mijn migratie over een VPN tunnel gaan naar een VLAN waar normaal over de VPN geen toegang tot is heb ik gekozen om tussen de 2 IPadressen van de hosts een ANY: ANY regel op te zetten. Bij deze regel heb ik meteen een tijdsduur gezet zodat deze na 2 dagen weer zou sluiten. Ja als je de mogelijkheid hebt vooral even doen want dit vergeet je…

Voorbereiding Proxmox doel host

API Key aan maken

  1. Navigeer naar Datacenter > Permissions > API Tokens
  2. Klik op Add
  3. Kies de user, geef de token een naam, zet ‘Privilege Separation’ uit hierdoor neemt proxmox de rechten over van de user, kies een verloop datum handig als je nog wel eens een API Token vergeet te verwijderen.
  4. Nu krijg je het Token Secret, kopieer het Token ID en Secret om later te gebruiken. Deze is maar 1x zichtbaar.

Fingerprint boven toveren

  1. Datacenter > Host > System > Certificates
  2. Kies het Certificaat wat gebruikt wordt voor verbindingen. Ik gebruik zelf nog het standaard gegenereerde certificaat deze heet pve-ssl.pem
  3. Kopieer uit de informatie de Fingerprint

Netwerk NIC uitzoeken

Via welke netwerk kaart gaat de VM dadelijk naar de wereld babbelen? Standaard is dit vmbr0 – Linux Bridge. Mocht je dit even willen bekijken wat dit voor jouw is:

  1. Datacenter > Host > System > Network (het menu item boven de certificates van net)
  2. Kies de netwerk Name van de nic die je wilt gaan gebruiken.

Storage

De VM moet natuurlijk ook ergens opgeslagen worden. Kies hiervoor de een storage waar nog voldoende ruimte is

  1. Datacenter > Storage
  2. Kies hier een ID voor een storage waar je Disk images (VMs) of Container (LXC) naar toe kan schrijven. Ik kies hier voor local-lvm

VM ID

Bedenk op de ontvangende host een ID om de machine op te ontvangen. Ik kies hier 1002

Op de bron host

Op de verzendende host moeten we ook wat dingen doen

VM ID, wat is het ID van de VM die je wilt gaan verhuizen?

Migreren

Commando

Okee tijd om het commando op te bouwen. de laatste twee zijn optioneel --delete=1 (verwijder VM van de oorspronkelijke host na een succesvolle overdracht) --online (live migratie. Dit werkt alleen bij een VM en niet bij LXC containers, je migreert hier een machine terwijl deze aan staat. Let op dit kan alleen wanneer de IP adressen niet veranderen).

qm remote-migrate <VMID_BRON> <VMID_DOEL> 'host=<DOEL_IP>,apitoken=PVEAPIToken=<TOKEN_ID>=<TOKEN_SECRET>,fingerprint=<FINGERPRINT>' --target-bridge <NETWORK_BRIDGE> --target-storage <STORAGE_NAME> --online --delete=1
  • <VMID_BRON>: ID van de VM op de bron host machine
  • <VMID_DOEL>: ID van de VM op de doel host machine
  • <DOEL_IP>: IP van de doel host
  • <TOKEN_ID>: Het token ID van de API Token
  • <TOKEN_SECRET>: Het secret van de API Token
  • <FINGERPRINT>: De fingerprint van het SSL certificaat op de doel machine
  • <NETWORK_BRIDGE>: in de meeste gevallen is dit vmbr0
  • <STORAGE_NAME>: Naam van het storage op de doel host

in mijn geval komt er het volgende commando uit

qm remote-migrate 1002 1002 'host=10.20.80.11,apitoken=PVEAPIToken=root@pam!Migrate=cfed15e0-81f5-4f1c-b7f6-d091935808ed,fingerprint=00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF' --target-bridge vmbr0 --target-storage local-lvm --online --delete=1

Migratie starten

Plak het commando in de shell en druk op enter. Er zal een tunnel opgezet worden om de vm te migreren. Laat dit even rustig pruttelen.

Na Migratie

Heb je in het commando --delete=1 mee gegeven, dan ben je nu klaar

Heb je geen --delete=1 mee gegeven dan moet je handmatig de VM nog even wissen. Om dat te doen moet je deze eerst unlocken met qm unlock <VMID_BRON> en vervolgens kan je deze verwijderen via de interface

Is er toch iets verkeerd gegaan en wil je de bron VM weer in gebruik nemen zodat je het later nog eens kan proberen? Dan moet je de VM unlocken met qm unlock <VMID_BRON> en vervolgens kan je deze weer gebruiken zoals gewend. Vergeet niet op de doel machine de VM te verwijderen om zo netwerk conflikten te voorkomen.

Bronnen: https://www.thomas-krenn.com/en/wiki/Proxmox_Remote_Migration, https://www.reddit.com/r/Proxmox/comments/1seojb6/cheatsheet_for_migrating_vms_between_hosts/, vallen en opstaan

Gepubliceerd inProxmoxZonder categorie

Wees de eerste om te reageren

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Copyright Ronald van Heugten 1990 - 2026