CE

Cheat Sheet Proxmox

by cedric
Cheat Sheets
Updated 6/4/2026

pvecm — Gestion du cluster

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pvecm statusAffiche le statut du cluster CorosyncIndispensable pour diagnostiquer un split-brain
pvecm nodesListe les nœuds membres du cluster
pvecm add <IP>--nodeid, --votesAjoute un nœud au clusterLe nœud cible doit être vierge de toute config cluster
pvecm delnode <nom>Supprime un nœud du clusterNe pas exécuter sur le nœud à supprimer lui-même
pvecm expected 1Force le quorum à 1 nœud⚠️ Uniquement en cas de perte de nœuds, jamais en prod normale

pvesh — API REST en CLI

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pvesh get /nodesListe les nœuds du cluster via l'API RESTUtile pour scripter sans passer par curl
pvesh get /cluster/statusStatut global du clusterVérifie quorum et santé des nœuds
pvesh get /nodes/<node>/qemuListe les VMs d'un nœud via API
pvesh get /nodes/<node>/lxcListe les CTs d'un nœud via API
pvesh get /storageListe les stockages configurés
pvesh create /nodes/<node>/qemu/<vmid>/status/startDémarre une VM via APIToutes les actions GUI sont disponibles via pvesh
pvesh delete /nodes/<node>/qemu/<vmid>--purgeSupprime une VM via API

pvenode — Configuration d'un nœud

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pvenode config set--wakeonlan, --description, --acmeConfigure les paramètres du nœud local
pvenode config getAffiche la configuration du nœud
pvenode cert infoAffiche le certificat TLS du nœud
pvenode acme cert orderCommande/renouvelle un certificat ACMELe domaine doit être résolvable et le port 80 accessible
pvenode acme cert renewRenouvelle le certificat ACME existant
pvenode acme account listListe les comptes ACME configurés

pvesm — Gestion du stockage

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pvesm statusListe les stockages et leur disponibilité
pvesm list <storage>--vmid, --contentListe le contenu d'un stockage--content : images, rootdir, backup, iso, snippets
pvesm add <type> <storage>--path, --server, --export, --contentAjoute un stockageTypes : dir, nfs, cifs, zfspool, lvm, rbd, pbs...
pvesm remove <storage>Supprime un stockage de la configNe supprime pas les données
pvesm scan zfsScanne les pools ZFS disponibles
pvesm scan nfs <host>Scanne les exports NFS d'un hôte
pvesm scan iscsi <host>Scanne les targets iSCSI d'un hôte
pvesm alloc <storage> <vmid> <volname> <size>Alloue manuellement un volume
pvesm free <storage>:<volname>Libère un volume⚠️ Suppression définitive

pveum — Utilisateurs & sécurité

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pveum user listListe les utilisateurs PVE
pveum user add <user@realm>--password, --groups, --commentAjoute un utilisateurFormat obligatoire : user@pam ou user@pve
pveum user modify <user@realm>--password, --groups, --enableModifie un utilisateur
pveum user delete <user@realm>Supprime un utilisateur
pveum group add <groupe>--commentCrée un groupe
pveum group listListe les groupes
pveum group delete <groupe>Supprime un groupe
pveum acl modify <path>--roles, --users, --groupsModifie les ACL sur un cheminPath : /, /vms/<id>, /storage/<id>, /nodes/<node>
pveum acl delete <path>--roles, --usersSupprime une ACL
pveum role add <role>--privsCrée un rôle custom
pveum role listListe les rôles disponibles
pveum role modify <role>--privsModifie les privilèges d'un rôle
pveum realm listListe les royaumes d'authentification
pveum realm add <realm>--type, --serverAjoute un royaume (LDAP, AD...)Types : pam, pve, ldap, ad, openid
pveum passwd <user@realm>Change le mot de passe d'un utilisateur

pve-firewall — Pare-feu

CommandeArguments principauxDescriptionPoints d'attention / Remarques
pve-firewall startActive le pare-feu PVE sur le nœud
pve-firewall stopDésactive le pare-feu PVE⚠️ Toutes les règles sont supprimées immédiatement
pve-firewall restartRedémarre le pare-feu
pve-firewall statusStatut du pare-feu
pve-firewall compileCompile et vérifie les règles sans les appliquerTrès utile pour débugger avant activation
pve-firewall localnetAffiche les réseaux locaux détectésUtilisé pour les règles automatiques

ha-manager — Haute disponibilité

CommandeArguments principauxDescriptionPoints d'attention / Remarques
ha-manager statusStatut global du gestionnaire HA
ha-manager add <resource>--group, --max_restart, --max_relocateAjoute une ressource à la HAFormat : vm:<vmid> ou ct:<ctid>
ha-manager remove <resource>Retire une ressource de la HA
ha-manager set <resource>--stateChange l'état désiré d'une ressourceÉtats : started, stopped, enabled, disabled, ignored
ha-manager configAffiche la config HA complète
ha-manager crm-command node-maintenance enable <node>Active le mode maintenance HA sur un nœudMigre automatiquement les ressources HA
ha-manager crm-command node-maintenance disable <node>Désactive le mode maintenance HALes ressources ne reviennent pas automatiquement

Machines virtuelles

CommandeArguments principauxDescriptionPoints d'attention / Remarques
qm listListe toutes les VMs avec leur statut
qm start <vmid>Démarre une VM
qm stop <vmid>--skiplockArrêt brutal d'une VMPréférer shutdown pour un arrêt propre
qm shutdown <vmid>--timeout <sec>Arrêt gracieux via signal ACPINécessite guest agent ou ACPI fonctionnel
qm reset <vmid>Reset brutal d'une VMRisque de corruption FS
qm reboot <vmid>Redémarre proprement une VMPasse par l'OS invité
qm suspend <vmid>--todiskSuspend une VM--todisk sauvegarde l'état RAM sur disque
qm resume <vmid>Reprend une VM suspendue
qm status <vmid>--verboseAffiche le statut d'une VM
qm config <vmid>Affiche la configuration complète d'une VMFichier /etc/pve/qemu-server/<vmid>.conf
qm set <vmid>--memory, --cores, --net0, --onbootModifie la configuration d'une VMCertains paramètres nécessitent un arrêt préalable
qm create <vmid>--name, --memory, --cores, --net0, --cdromCrée une VML'ID doit être unique dans le cluster
qm destroy <vmid>--purgeSupprime une VM et ses disques--purge supprime aussi sauvegardes et replications
qm clone <vmid> <newid>--name, --full, --targetClone une VMSans --full : clone lié, dépendant du template source
qm template <vmid>Convertit une VM en template⚠️ Opération irréversible
qm migrate <vmid> <node>--online, --with-local-disksMigre une VM vers un autre nœud--online requiert stockage partagé
qm disk move <vmid>--disk, --storage, --deleteDéplace un disque vers un autre stockage--delete supprime la source après déplacement
qm disk resize <vmid>--disk, --sizeAgrandit un disque+10G pour ajouter, 50G absolu. Pas de réduction
qm disk import <vmid> <fichier> <storage>--formatImporte un disque depuis une imageFormats : raw, qcow2, vmdk
qm disk unlink <vmid>--idlist, --forceDétache et supprime un disque de la config
qm snapshot <vmid> <snapname>--vmstate, --descriptionCrée un snapshot--vmstate inclut la RAM, ralentit la création
qm listsnapshot <vmid>Liste les snapshots d'une VM
qm rollback <vmid> <snapname>Restaure un snapshotVM doit être arrêtée sauf snapshot avec vmstate
qm delsnapshot <vmid> <snapname>Supprime un snapshot
qm guest exec <vmid>--sync, --Exécute une commande dans la VMNécessite qemu-guest-agent installé et actif
qm guest passwd <vmid> <user>Change le mot de passe d'un user dans la VMNécessite qemu-guest-agent
qm agent <vmid> <commande>network-get-interfaces, get-osinfo, pingInteragit avec le guest agent
qm monitor <vmid>Ouvre la console monitor QEMUCommandes QEMU bas niveau
qm rescan--vmidRescanne les disques d'une VMUtile après ajout de stockage à chaud
qm importovf <vmid> <fichier.ovf> <storage>Importe une VM depuis un fichier OVF/OVAPratique pour migration depuis VMware

vzdump / qmrestore / pct restore — Sauvegarde & restauration

CommandeArguments principauxDescriptionPoints d'attention / Remarques
vzdump <vmid>--storage, --mode, --compress, --mailto, --nodeSauvegarde une VM ou CTModes : snapshot, suspend, stop. Snapshot = le moins impactant
vzdump --all--exclude, --storage, --modeSauvegarde toutes les VMs/CTs du nœud
vzdump --vmid <id1,id2>--storage, --modeSauvegarde une liste de VMs/CTsIDs séparés par des virgules
qmrestore <fichier> <vmid>--storage, --uniqueRestaure une sauvegarde VM--unique génère de nouveaux MAC/UUID
pct restore <ctid> <fichier>--storage, --hostnameRestaure une sauvegarde CT

zpool — Gestion des pools zfs

CommandeArguments principauxDescriptionPoints d'attention / Remarques
zpool status-vStatut détaillé de tous les pools ZFSREAD/WRITE/CKSUM > 0 = problème matériel à investiguer
zpool status <pool>-vStatut d'un pool spécifique
zpool list-v, -HListe les pools avec taille et occupation-H pour sortie parsable par script
zpool iostat<pool> <interval>Statistiques I/O en temps réelEx : zpool iostat tank 2
zpool scrub <pool>Lance un scrub (vérification intégrité complète)À planifier mensuellement minimum en prod
zpool scrub -s <pool>Stoppe un scrub en cours
zpool create <pool>mirror, raidz, raidz2, -o ashift=12Crée un pool ZFSashift=12 obligatoire pour disques 4K/SSD
zpool add <pool> mirror <dev1> <dev2>Ajoute un vdev miroir à un pool existantAgrandit le pool, opération irréversible
zpool replace <pool> <old> <new>Remplace un disque défaillantResilver automatique après remplacement
zpool offline <pool> <device>Met un disque offline (maintenance)Le pool continue en mode dégradé si redondance suffisante
zpool online <pool> <device>Remet un disque online
zpool importListe les pools importablesUtile après déplacement de disques
zpool import <pool>-fImporte un pool-f pour forcer si le pool était sur un autre hôte
zpool export <pool>Exporte proprement un pool⚠️ Toujours exporter avant de déplacer des disques
zpool destroy <pool>Détruit un pool⚠️ Irréversible, toutes les données sont perdues
zpool history <pool>Historique des commandes ZFS sur le poolTrès utile pour auditer ou débugger
zpool upgrade <pool>Met à jour la version du pool⚠️ Irréversible, vérifier compatibilité avant

zfs — Gestion des datasets

CommandeArguments principauxDescriptionPoints d'attention / Remarques
zfs list-t all, -r <pool>Liste les datasets, volumes et snapshots-t snapshot pour ne voir que les snapshots
zfs create <pool/ds>-o compression=lz4Crée un dataset
zfs destroy <pool/ds>-r, -dSupprime un dataset ou snapshot-d pour différer si des clones existent
zfs snapshot <pool/ds@snapname>-rCrée un snapshot-r pour snapshot récursif
zfs rollback <pool/ds@snapname>-rRestaure un snapshotDétruit les snapshots plus récents sauf avec -r
zfs clone <pool/ds@snap> <pool/newds>Crée un dataset depuis un snapshotLe snapshot ne peut plus être supprimé tant que le clone existe
zfs send <pool/ds@snap>-i <snap>(incrémental)Exporte un snapshot en flux binaireCombiner avec zfs receive pour répliquer
zfs receive <pool/ds>-FReçoit un flux zfs sendEx : `zfs send tank/vm@s1
zfs get all <pool/ds>Affiche toutes les propriétés d'un dataset
zfs set compression=lz4 <pool/ds>lz4, zstd, offActive/change la compressionlz4 recommandé pour ratio perf/compression
zfs set atime=off <pool/ds>Désactive la mise à jour des temps d'accèsGain de perfs pour workloads VM
zfs set quota=<size> <pool/ds>Pose un quota sur un datasetEx : quota=500G
zfs set reservation=<size> <pool/ds>Réserve de l'espace garantiÉvite qu'un dataset affame les autres
zfs get compressratio <pool/ds>Affiche le ratio de compression effectif
zfs diff <pool/ds@snap1> <pool/ds@snap2>Compare deux snapshotsTrès utile pour auditer les changements entre sauvegardes
zfs rename <pool/ds> <pool/newname>Renomme un dataset
zfs mount -aMonte tous les datasets ZFSUtile après un reboot partiel
zfs umount <pool/ds>-fDémonte un dataset

ceph — Gestion des ensembles CEPH

CommandeArguments principauxDescriptionPoints d'attention / Remarques
ceph statusStatut global du cluster CephHEALTH_OK = nominal. HEALTH_WARN/ERR = investiguer immédiatement
ceph health detailDétail des warnings/erreursPremier réflexe en cas de HEALTH_WARN
ceph -wSurveillance en temps réel des événementsÉquivalent d'un tail -f sur le cluster
ceph osd statusStatut de tous les OSDsVérifie les OSDs up/down et leur poids
ceph osd treeArbre CRUSH (rack, host, osd)Visualise la distribution et la tolérance aux pannes
ceph osd dfOccupation disque par OSD⚠️ OSD > 85% = critique
ceph dfOccupation globale des pools
ceph df detailDétail par pool (objets, quota, ratio)
ceph mon statStatut des monitorsQuorum minimum : (n/2)+1 monitors actifs
ceph mon dumpDump complet de la config des monitors
ceph pg statStatut des Placement GroupsPGs en active+clean = nominal
ceph pg dumpDump de tous les PGsVerbeux, préférer pg stat au quotidien
ceph osd pool ls detailListe les pools avec leurs paramètres
ceph osd pool create <pool> <pg_num>--pg_num, --pgp_numCrée un pool CephUtiliser le calculateur pg_num officiel
ceph osd pool set <pool> size <n>Définit le facteur de réplicationsize 3 = 3 copies. min_size 2 = min pour écrire
ceph osd pool delete <pool> <pool> --yes-i-really-really-mean-itSupprime un pool⚠️ Double saisie du nom obligatoire, irréversible
ceph osd out <osd.id>Marque un OSD comme "out"Les données se redistribuent automatiquement
ceph osd in <osd.id>Remet un OSD dans le cluster
ceph osd down <osd.id>Force un OSD à down
ceph osd crush reweight <osd.id> <weight>Ajuste le poids CRUSH d'un OSD0 pour vider un OSD progressivement avant retrait
ceph osd reweight-by-utilizationRééquilibre automatiquement les poids CRUSHUtile quand les OSDs sont déséquilibrés
ceph osd set nooutEmpêche les OSDs de passer "out" automatiquement⚠️ À activer AVANT toute maintenance d'un nœud Ceph
ceph osd unset nooutDésactive le flag nooutÀ désactiver APRÈS la maintenance
ceph osd set norebalanceBloque le rebalancing des donnéesCombiné avec noout pour les maintenances lourdes
ceph osd unset norebalanceRéactive le rebalancing
ceph osd set nobackfillBloque le backfill des PGsRéduit la charge I/O pendant une maintenance
ceph osd unset nobackfillRéactive le backfill
ceph tell osd.* injectargs '--osd-max-backfills 1'Limite les backfills simultanésRéduit l'impact sur les I/O de production
ceph auth listListe les clés d'authentification CephX
ceph auth get client.<name>Affiche la clé d'un client
ceph auth add client.<name>--cap mon, --cap osdCrée un utilisateur CephX
ceph auth del client.<name>Supprime un utilisateur CephX

2,186 words13,181 characters10 minutes read

This note is shared publicly by cedric