CE

Cluster Proxmox CHU

by cedric
Astuces
Updated 6/3/2026

🔧 CheatSheet CLI Proxmox VE


📌 Commandes de base

CommandeParamètresDescriptionSpécificité
pvecm create<cluster_name>Crée un nouveau cluster Proxmox⚠️ À exécuter sur le nœud maître
pvecm add<IP_maître>Ajoute un nœud au clusterNécessite pvecm expected après ajout
pvecm delnode<nodename>Supprime un nœud du cluster⚠️ Supprime aussi les données du nœud
pvecm statusAffiche l'état du cluster (nœuds, quorum)Format JSON
pvecm nodesListe les nœuds du cluster
pvecm quorum statusVérifie le quorum (nombre de votes)
pvecm expected<n>Définit le nombre de votes attendusEx: pvecm expected 4
pvecm setquorum.last_man_standing=1Active last_man_standing (évite split-brain)⚠️ À configurer sur tous les nœuds
pvecm updatecerts--forceMet à jour les certificats SSLNécessaire après ajout/suppression de nœuds

🔹 Corosync & Cluster

CommandeParamètresDescriptionSpécificité
corosync-cfgtool -sListe les nœuds Corosync actifs
systemctl restart corosyncRedémarre Corosync⚠️ Peut interrompre le cluster temporairement
systemctl restart pve-clusterRedémarre le service cluster Proxmox
cat /etc/pve/corosync.confAffiche la config CorosyncFormat XML

🔹 Haute Disponibilité (HA)

CommandeParamètresDescriptionSpécificité
ha-manager statusAffiche l'état des services HA
ha-manager enable<vm:100>Active HA pour une VM/CT
ha-manager disable<vm:100>Désactive HA pour une VM/CT
ha-manager migrate<vm:100> <nodename>Migre une VM vers un autre nœud
ha-manager set--priority <n>Définit la priorité HA (1-100)
ha-manager crm-command node-maintenance enable %node%
ha-manager crm-command node-maintenance disable %node%
`ha-manager ccrm-command disarm-ha <ignorefreeze>`Désactiver HA sur un cluster proxmox
ha-manager ccrm-command arm-haRé-armer HA sur un cluster

🔹 Stockage (Ceph)

CommandeParamètresDescriptionSpécificité
ceph osd pool create<pool> <pg_num> <pgp_num>Crée un pool CephEx: ceph osd pool create vmpool 128 128
ceph osd pool lsListe les pools Ceph
ceph osd statusAffiche l'état des OSD (disques Ceph)
ceph -sÉtat global du cluster Ceph
pvesm add ceph<id> --monaddress <IP:6789>Ajoute un stockage Ceph dans Proxmox
pvesm remove<storage_id>Supprime un stockage Ceph
ceph osd set norebalance(ré)-activer le rebalancing Ceph
ceph osd add-noout <node><node>-- A remplir --
ceph osd unset norebalanceforcer le cluster en unbalanced
ceph osd rm-noout %node%<node>

🔹 Sauvegardes (vzdump)

CommandeParamètresDescriptionSpécificité
vzdump <vmid>--mode snapshot --storage <id> --compress lzoSauvegarde une VM/CT--mode suspend pour les VMs critiques
vzdump --allSauvegarde toutes les VMs/CTs
vzdump --remove<vmid>Supprime une sauvegarde

🔹 Réseau

CommandeParamètresDescriptionSpécificité
ip link set <eth> mtu9000Définit la MTU (pour Ceph)⚠️ Tous les nœuds doivent avoir la même MTU
ip -br link showAffiche les interfaces réseau
ping -c 10<IP>Test de connectivité réseau
ethtool <eth>Affiche les infos de l'interface (vitesse, duplex)
iperf3 -c <IP>-t 60 -P 4Test de bande passante réseau

🔹 Sécurité

CommandeParamètresDescriptionSpécificité
pve-firewall enableActive le pare-feu Proxmox
pve-firewall statusAffiche l'état du pare-feu

🔹 Dépannage

CommandeParamètresDescriptionSpécificité
pvecm status -vÉtat détaillé du cluster (verbose)
pvecm set quorum.last_man_standing=1Force le mode last_man_standing⚠️ À utiliser en cas de split-brain
pvesm statusAffiche l'état des stockages (local, Ceph, etc.)
zpool statusAffiche l'état des pools ZFS
journalctl -u corosync -fLogs Corosync en temps réel
journalctl -u pve-cluster -fLogs du cluster Proxmox en temps réel

🔹 Divers

CommandeParamètresDescriptionSpécificité
pvesh get /cluster/resources--type vm ou --type storageListe les VMs ou stockages du clusterFormat JSON
pvesh get /cluster/logAffiche les logs du cluster
pvesh set /cluster/options--key quorum.last_man_standing --value 1Configure une option du cluster
tar -czvf /backup/pve-config-$(date +%Y%m%d).tar.gz /etc/pveSauvegarde la config Proxmox

🔹 Création de VMs

CommandeParamètresDescriptionSpécificité
qemu-img create-f <format> <fichier> <taille>Créer un disque virtuel (qcow2, raw, vmdk, etc.).Exemple : qemu-img create -f qcow2 vm1.qcow2 20G
qemu-img info<fichier>Afficher les informations détaillées d'un disque virtuel.Utile pour vérifier l'état d'un disque avant manipulation.
qemu-img convert-f <format_src> -O <format_dest> <src> <dest>Convertir un disque d'un format à un autre.Exemple : qemu-img convert -f raw -O qcow2 vm1.raw vm1.qcow2
qemu-img resize<fichier> <taille>Redimensionner un disque virtuel (augmenter uniquement).Exemple : qemu-img resize vm1.qcow2 +10G
qemu-system-x86_64-m <RAM> -smp <cœurs> -enable-kvm -hda <disque>Démarrer une VM avec interface graphique (nécessite X11/VNC).Mode graphique interactif.
qemu-system-x86_64-m <RAM> -smp <cœurs> -enable-kvm -hda <disque> -nographicDémarrer une VM sans interface graphique (mode headless).Accès via VNC/SSH uniquement.
qemu-system-x86_64-m <RAM> -smp <cœurs> -enable-kvm -hda <disque> -cdrom <ISO> -boot dDémarrer une VM en bootant sur une ISO (ex: installation OS).Idéal pour les installations depuis une image ISO.
qemu-system-x86_64-enable-kvm -m <RAM> -smp <cœurs> -hda <disque>Démarrer une VM avec accélération matérielle KVM.Meilleure performance (Linux uniquement).
qemu-system-x86_64-m <RAM> -smp <cœurs>,cores=<n>,threads=<n> -enable-kvm -hda <disque>Limiter le nombre de cœurs CPU et la RAM alloués à la VM.Contrôle fin des ressources.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -net nic -net userActiver le réseau avec NAT (accès internet pour la VM).Configuration réseau simple pour un accès internet.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -net nic -net tap,ifname=<tap>,script=noConfigurer un bridge réseau pour une VM (accès direct au LAN).Nécessite un bridge réseau configuré sur l'hôte.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -fsdev local,id=<id>,path=<chemin> -device virtio-9p-pci,...Monter un dossier partagé entre l'hôte et la VM (9p virtio).Partage de fichiers sans réseau (performant).
qemu-img snapshot -c-c <nom> <fichier>Créer un snapshot de l'état actuel de la VM.Sauvegarde instantanée pour restauration future.
qemu-img snapshot -l<fichier>Lister les snapshots disponibles sur un disque.Vérifier les points de restauration existants.
qemu-img snapshot -a-a <nom> <fichier>Restaurer un snapshot spécifique.Revenir à un état antérieur de la VM.
qemu-img snapshot -d-d <nom> <fichier>Supprimer un snapshot inutile.Libérer de l'espace disque.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -daemonizeDémarrer une VM en arrière-plan (tâche de fond).Gestion via scripts ou outils d'orchestration.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -serial mon:stdioActiver une console série pour la VM (utile pour le headless).Accès direct à la console sans interface graphique.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -nodefaults -no-acpiDésactiver l'audio et autres périphériques non utilisés.Réduire les erreurs et améliorer la stabilité.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -k <layout>Définir la disposition du clavier (ex: français).Exemple : -k fr pour un clavier AZERTY.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -bios /usr/share/OVMF/OVMF.fdDémarrer la VM en mode UEFI (nécessite OVMF).Compatible avec les OS modernes (Windows 11, Linux récent).
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -cpulimit <n>Limiter l'utilisation CPU de la VM.Éviter la surcharge de l'hôte.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -display noneDésactiver le redimensionnement de la fenêtre graphique.Mode strictement headless.
qemu-system-x86_64-m <RAM> -enable-kvm -hda <disque> -vga qxl -spice port=<n>,addr=<IP>Activer le protocole SPICE pour une meilleure expérience graphique.Nécessite un client SPICE (ex: remote-viewer).

⚠️ Règles d'or

  1. Toujours tester en lab avant production.
  2. Sauvegarder /etc/pve avant toute modification majeure.
  3. Vérifier les logs (journalctl -f) en cas d'erreur.
  4. Mettre à jour les certificats (pvecm updatecerts) après toute modification de cluster.
  5. Configurer last_man_standing pour éviter les splits-brain.

1,154 words7,402 characters6 minutes read

This note is shared publicly by cedric