Migration à chaud, migration de stockage, migration hors ligne¶
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
hostentre 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)¶
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
hostentre 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.