Aller au contenu

CLI essentielles : qm, pct, pvesh, pvecm, pveceph

Day 1 · DéployerNiveau 2 · OpérerFicheRédigé · à valider en lab

Mémo des commandes Proxmox VE 9 les plus utilisées en exploitation, à lancer en root sur un nœud (pve01). Toutes s'appuient sur la même API que la GUI : ce que vous faites ici apparaît dans les tâches du cluster. Chaque outil documente ses options avec <outil> help <commande> ou man <outil>.

Règle d'or

Les commandes de lecture (list, status, config, get) sont sans risque. Les commandes marquées MSP modifient le cluster, Ceph ou le quorum : elles relèvent du MSP en contrat N2/N3, voir la matrice de responsabilité.

qm : machines virtuelles (KVM)

Commande Effet Quand l'utiliser
qm list VM du nœud avec état, RAM, disque Inventaire rapide
qm config 101 Configuration de la VM Diagnostic, avant modification
qm start 101 / qm shutdown 101 Démarrage / arrêt propre (ACPI ou agent) Exploitation courante
qm stop 101 Arrêt brutal (coupure de courant) VM figée, en dernier recours
qm reboot 101 Redémarrage propre Après mise à jour invité
qm set 101 --memory 8192 --cores 4 Modifie la configuration Ajustement de ressources
qm set 101 --onboot 1 Démarrage automatique au boot du nœud VM critiques hors HA
qm snapshot 101 avant-maj Crée un snapshot Avant une mise à jour applicative
qm listsnapshot 101 / qm rollback 101 avant-maj Liste / restaure un snapshot Retour arrière
qm clone 9000 120 --name web01 --full Clone complet d'un template Déploiement manuel
qm migrate 101 pve02 --online Migration à chaud Maintenance de nœud
qm disk import 101 disk.qcow2 ceph-vm Importe un disque Migration depuis un autre hyperviseur
qm guest cmd 101 ping Teste l'agent QEMU Vérifier qemu-guest-agent
qm unlock 101 Retire un verrou Voir RB-10 avant
qm terminal 101 Console série VM avec serial0 configuré

pct : conteneurs LXC

Commande Effet Quand l'utiliser
pct list Conteneurs du nœud Inventaire
pct config 105 Configuration Diagnostic
pct start 105 / pct shutdown 105 Démarrage / arrêt Exploitation
pct enter 105 Shell root dans le conteneur Dépannage sans SSH
pct exec 105 -- df -h Lance une commande dans le CT Script, contrôle rapide
pct push 105 ./f.conf /etc/f.conf / pct pull Copie de fichier vers / depuis le CT Déploiement ponctuel
pct resize 105 rootfs +10G Agrandit le disque racine Manque de place
pct unlock 105 Retire un verrou Après tâche interrompue

pvesh : l'API en ligne de commande

Commande Effet Quand l'utiliser
pvesh get /cluster/resources --type vm Toutes les VM/CT du cluster Inventaire global
pvesh get /nodes/pve01/qemu/101/status/current État détaillé d'une VM Script de supervision
pvesh get /cluster/tasks Dernières tâches du cluster Diagnostic
pvesh create /nodes/pve01/qemu/101/status/start Démarre une VM via l'API Tester un appel avant de l'automatiser
pvesh set /cluster/options --keyboard fr Modifie une option Rare, préférer la GUI
pvesh usage /nodes/pve01/qemu --verbose Documentation d'un point d'API Écrire un script
... --output-format json-pretty Sortie JSON Avec jq

pvesh mappe les verbes HTTP : get = GET, create = POST, set = PUT, delete = DELETE.

pvecm : cluster et quorum

Commande Effet Quand l'utiliser
pvecm status Quorum, votes, membres Premier réflexe en incident
pvecm nodes Liste des nœuds et leur ID Inventaire
pvecm qdevice setup <ip> Ajoute un QDevice MSP, cluster 2 nœuds
pvecm add pve01 Joint un nouveau nœud MSP
pvecm delnode pve03 Retire un nœud MSP
pvecm expected 1 Force le nombre de votes attendus MSP uniquement, risque de split-brain, voir RB-09

pveceph : Ceph intégré

Commande Effet Quand l'utiliser
pveceph status Équivalent de ceph -s État de santé
pveceph pool ls Pools, taille, réplicas, PG Capacité
pveceph osd create /dev/sdX Crée un OSD Remplacement de disque, RB-03
pveceph osd destroy 7 --cleanup Supprime un OSD Après safe-to-destroy uniquement
pveceph pool create ... / pveceph mon create Crée pool / moniteur MSP
ceph osd df tree / ceph health detail Remplissage, détail des alertes RB-01, RB-04

pvesm, vzdump, ha-manager

Commande Effet Quand l'utiliser
pvesm status Stockages, type, occupation Contrôle quotidien
pvesm list ceph-vm --vmid 101 Volumes d'une VM sur un stockage Disque orphelin
pvesm set pbs-local --disable 1 Désactive un stockage PBS en maintenance
vzdump 101 --storage pbs-local --mode snapshot Sauvegarde immédiate Avant une opération risquée
vzdump 101 102 --storage pbs-local --notes-template '{{guestname}}' Sauvegarde de plusieurs VM avec note Lot ponctuel
ha-manager status État du gestionnaire HA Après une bascule
ha-manager add vm:101 --state started Met une VM sous HA Mise en HA
ha-manager crm-command node-maintenance enable pve01 Mode maintenance HA du nœud RB-02

Journaux et tâches

Commande Effet Quand l'utiliser
journalctl -u pve-cluster -u corosync --since "1 hour ago" Journaux cluster Nœud grisé
journalctl -u pvedaemon -u pveproxy -f Journaux API et GUI Erreurs de connexion
ls /var/log/pve/tasks/ Journaux de tâches Détail d'une tâche échouée

Pièges vus en support

  • qm stop au lieu de qm shutdown sur une base de données : arrêt non propre.
  • qm unlock lancé pendant une sauvegarde ou une migration en cours : configuration incohérente.
  • Commande lancée sur le mauvais nœud : qm ne voit que les VM locales. Utiliser pvesh get /cluster/resources pour trouver le nœud.
  • pvecm expected 1 « pour débloquer » un cluster : risque de split-brain et de corruption. Ticket P1.

Quand ouvrir un ticket iTop

Commande MSP nécessaire, ou commande de lecture qui renvoie une erreur inattendue (pvecm status sans quorum, pveceph status en HEALTH_ERR) : ouvrez un ticket en joignant la sortie complète.

Ouvrir un ticket iTop

Documentation officielle : qm(1) · pct(1) · pvesh(1) · pvecm(1) · pveceph(1) · pvesm(1) · vzdump(1) · ha-manager(1)