Aller au contenu

Migration à chaud, migration de stockage, migration hors ligne

Day 2 · ExploiterNiveau 2 · OpérerProcédureRédigé · à valider en lab

Déplacer une VM d'un nœud à l'autre sans coupure (migration à chaud), déplacer ses disques d'un stockage à l'autre (migration de stockage), ou la déplacer arrêtée (hors ligne), en choisissant la bonne méthode selon le stockage.

Quelle migration selon le cas

Situation Commande Coupure
VM sur stockage partagé (Ceph ceph-vm, SAN) qm migrate 101 pve02 --online Quelques ms
VM sur ZFS local répliqué (pvesr) qm migrate 101 pve02 --online --with-local-disks (seul le delta depuis la dernière réplication est transféré) Quelques ms
VM sur disque local non répliqué qm migrate 101 pve02 --online --with-local-disks --targetstorage local-zfs Quelques ms, durée proportionnelle aux disques
Changer de stockage sans changer de nœud qm disk move 101 scsi0 ceph-vm --delete 1 Aucune
VM arrêtée qm migrate 101 pve02 VM déjà arrêtée
Conteneur LXC pct migrate 102 pve02 --restart Redémarrage du conteneur
Vers un autre cluster Proxmox Datacenter Manager, ou qm remote-migrate (expérimental) Selon le mode

Équivalent VMware : la migration à chaud correspond à vMotion, la migration de stockage à Storage vMotion.

Avant de toucher la prod

  • Cluster quorate, nœud cible en ligne avec assez de RAM libre (RAM de la VM + marge).
  • Même type de CPU virtuel compatible : pas de host entre CPU différents (Créer une VM optimisée).
  • Aucun périphérique passé (PCI, USB) : ils bloquent la migration à chaud.
  • Pas de lecteur CD/ISO sur un stockage local au nœud source (ide2: local:iso/...) : éjecter.
  • Bridges et VLAN identiques sur le nœud cible ; stockage cible présent sur le nœud cible.
  • Réseau de migration défini : Datacenter → Options → Migration Settings (type secure, réseau dédié 10 Gb/s ou plus).

Étapes

Migration à chaud

VM 101 → Migrate : Target node pve02, Mode Online. Si la VM a des disques locaux, choisir le Target storage. Cliquer Migrate et suivre le journal de tâche.

Pour vider un nœud : nœud → Bulk Actions → Bulk Migrate, ou mode maintenance HA (RB-02).

qm migrate 101 pve02 --online
# disques locaux vers le stockage du même nom sur la cible
qm migrate 101 pve02 --online --with-local-disks
# disques locaux vers un autre stockage
qm migrate 101 pve02 --online --with-local-disks --targetstorage local-zfs
# limiter le débit (KiB/s) pendant les heures ouvrées
qm migrate 101 pve02 --online --with-local-disks --bwlimit 204800

Pour une VM en HA, la commande passe par le gestionnaire HA ; utilisable aussi directement : ha-manager crm-command migrate vm:101 pve02.

Migration de stockage (même nœud)

VM 101 → Hardware → sélectionner Hard Disk (scsi0) → Disk Action → Move Storage : Target Storage ceph-vm, cocher Delete source.

qm disk move 101 scsi0 ceph-vm --delete 1
# sans --delete, l'ancien disque reste en "unused0" pour un retour arrière

Migration hors ligne

VM arrêtée : VM → Migrate, mode Offline ; ou qm migrate 101 pve02 (--targetstorage possible pour des disques locaux).

Vérifications

qm status 101 && ls /etc/pve/nodes/pve02/qemu-server/101.conf
# status: running
# /etc/pve/nodes/pve02/qemu-server/101.conf
qm config 101 | grep -E 'scsi0|unused'
# scsi0 sur le stockage cible ; pas de unusedN si --delete 1

Dans le journal de tâche : migration finished successfully et un downtime de l'ordre de quelques dizaines de millisecondes.

Rollback

Migrer en sens inverse : qm migrate 101 pve01 --online. Pour une migration de stockage sans --delete, l'ancien disque est en unused0 : arrêter la VM, rattacher l'ancien disque et détacher le nouveau. Migration interrompue : vérifier un verrou lock: migrate (RB-10).

Pièges vus en support

  • Type de CPU host entre deux générations : la VM plante ou se fige après migration.
  • ISO montée depuis local : migration refusée tant que le lecteur n'est pas éjecté.
  • Réseau de migration non défini : la migration sature le lien de management ou Corosync.
  • Migration de VM 9 → 8 pendant une mise à niveau majeure : non supportée.
  • Migration de stockage d'un gros disque vers Ceph en pleine journée : latence pour toutes les VM du pool. Utiliser --bwlimit.

Quand ouvrir un ticket iTop

Migration qui échoue de façon répétée, VM figée après migration, besoin de migration entre clusters ou entre sites : P3 (P2 si la VM de production est arrêtée). Joindre le journal de tâche complet, qm config 101, pveversion -v des deux nœuds.

Ouvrir un ticket iTop

Pour aller plus loin