Cheat Sheet Proxmox

pvecm - Gestion du cluster#

Commande Arguments principaux Description Points d'attention / Remarques
pvecm status ​ Affiche le statut du cluster Corosync Indispensable pour diagnostiquer un split-brain
pvecm nodes ​ Liste les nœuds membres du cluster ​
pvecm add <IP> --nodeid, --votes Ajoute un nœud au cluster Le nœud cible doit être vierge de toute config cluster
pvecm delnode <nom> ​ Supprime un nœud du cluster Ne pas exécuter sur le nœud à supprimer lui-même
pvecm expected 1 ​ Force le quorum à 1 nœud Uniquement en cas de perte de nœuds, jamais en prod normale

pvesh - API REST en CLI#

Commande Arguments principaux Description Points d'attention / Remarques
pvesh get /nodes ​ Liste les nœuds du cluster via l'API REST Utile pour scripter sans passer par curl
pvesh get /cluster/status ​ Statut global du cluster Vérifie quorum et santé des nœuds
pvesh get /nodes/<node>/qemu ​ Liste les VMs d'un nœud via API ​
pvesh get /nodes/<node>/lxc ​ Liste les CTs d'un nœud via API ​
pvesh get /storage ​ Liste les stockages configurés ​
pvesh create /nodes/<node>/qemu/<vmid>/status/start ​ Démarre une VM via API Toutes les actions GUI sont disponibles via pvesh
pvesh delete /nodes/<node>/qemu/<vmid> --purge Supprime une VM via API ​

pvenode — Configuration d'un nœud#

Commande Arguments principaux Description Points d'attention / Remarques
pvenode config set --wakeonlan, --description, --acme Configure les paramètres du nœud local ​
pvenode config get ​ Affiche la configuration du nœud ​
pvenode cert info ​ Affiche le certificat TLS du nœud ​
pvenode acme cert order ​ Commande/renouvelle un certificat ACME Le domaine doit être résolvable et le port 80 accessible
pvenode acme cert renew ​ Renouvelle le certificat ACME existant ​
pvenode acme account list ​ Liste les comptes ACME configurés ​

pvesm — Gestion du stockage#

Commande Arguments principaux Description Points d'attention / Remarques
pvesm status ​ Liste les stockages et leur disponibilité ​
pvesm list <storage> --vmid, --content Liste le contenu d'un stockage --content : images, rootdir, backup, iso, snippets
pvesm add <type> <storage> --path, --server, --export, --content Ajoute un stockage Types : dir, nfs, cifs, zfspool, lvm, rbd, pbs...
pvesm remove <storage> ​ Supprime un stockage de la config Ne supprime pas les données
pvesm scan zfs ​ Scanne 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é#

Commande Arguments principaux Description Points d'attention / Remarques
pveum user list ​ Liste les utilisateurs PVE ​
pveum user add <user@realm> --password, --groups, --comment Ajoute un utilisateur Format obligatoire : user@pam ou user@pve
pveum user modify <user@realm> --password, --groups, --enable Modifie un utilisateur ​
pveum user delete <user@realm> ​ Supprime un utilisateur ​
pveum group add <groupe> --comment Crée un groupe ​
pveum group list ​ Liste les groupes ​
pveum group delete <groupe> ​ Supprime un groupe ​
pveum acl modify <path> --roles, --users, --groups Modifie les ACL sur un chemin Path : /, /vms/<id>, /storage/<id>, /nodes/<node>
pveum acl delete <path> --roles, --users Supprime une ACL ​
pveum role add <role> --privs Crée un rôle custom ​
pveum role list ​ Liste les rôles disponibles ​
pveum role modify <role> --privs Modifie les privilèges d'un rôle ​
pveum realm list ​ Liste les royaumes d'authentification ​
pveum realm add <realm> --type, --server Ajoute 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#

Commande Arguments principaux Description Points d'attention / Remarques
pve-firewall start ​ Active le pare-feu PVE sur le nœud ​
pve-firewall stop ​ Désactive le pare-feu PVE Toutes les règles sont supprimées immédiatement
pve-firewall restart ​ Redémarre le pare-feu ​
pve-firewall status ​ Statut du pare-feu ​
pve-firewall compile ​ Compile et vérifie les règles sans les appliquer Très utile pour débugger avant activation
pve-firewall localnet ​ Affiche les réseaux locaux détectés Utilisé pour les règles automatiques

ha-manager — Haute disponibilité#

Commande Arguments principaux Description Points d'attention / Remarques
ha-manager status ​ Statut global du gestionnaire HA ​
ha-manager add <resource> --group, --max_restart, --max_relocate Ajoute une ressource à la HA Format : vm:<vmid> ou ct:<ctid>
ha-manager remove <resource> ​ Retire une ressource de la HA ​
ha-manager set <resource> --state Change l'état désiré d'une ressource États : started, stopped, enabled, disabled, ignored
ha-manager config ​ Affiche la config HA complète ​
ha-manager crm-command node-maintenance enable <node> ​ Active le mode maintenance HA sur un nœud Migre automatiquement les ressources HA
ha-manager crm-command node-maintenance disable <node> ​ Désactive le mode maintenance HA Les ressources ne reviennent pas automatiquement

Machines virtuelles#

Commande Arguments principaux Description Points d'attention / Remarques
qm list ​ Liste toutes les VMs avec leur statut ​
qm start <vmid> ​ Démarre une VM ​
qm stop <vmid> --skiplock Arrêt brutal d'une VM Préférer shutdown pour un arrêt propre
qm shutdown <vmid> --timeout <sec> Arrêt gracieux via signal ACPI Nécessite guest agent ou ACPI fonctionnel
qm reset <vmid> ​ Reset brutal d'une VM Risque de corruption FS
qm reboot <vmid> ​ Redémarre proprement une VM Passe par l'OS invité
qm suspend <vmid> --todisk Suspend une VM --todisk sauvegarde l'état RAM sur disque
qm resume <vmid> ​ Reprend une VM suspendue ​
qm status <vmid> --verbose Affiche le statut d'une VM ​
qm config <vmid> ​ Affiche la configuration complète d'une VM Fichier /etc/pve/qemu-server/<vmid>.conf
qm set <vmid> --memory, --cores, --net0, --onboot Modifie la configuration d'une VM Certains paramètres nécessitent un arrêt préalable
qm create <vmid> --name, --memory, --cores, --net0, --cdrom Crée une VM L'ID doit être unique dans le cluster
qm destroy <vmid> --purge Supprime une VM et ses disques --purge supprime aussi sauvegardes et replications
qm clone <vmid> <newid> --name, --full, --target Clone une VM Sans --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-disks Migre une VM vers un autre nœud --online requiert stockage partagé
qm disk move <vmid> --disk, --storage, --delete Déplace un disque vers un autre stockage --delete supprime la source après déplacement
qm disk resize <vmid> --disk, --size Agrandit un disque +10G pour ajouter, 50G absolu. Pas de réduction
qm disk import <vmid> <fichier> <storage> --format Importe un disque depuis une image Formats : raw, qcow2, vmdk
qm disk unlink <vmid> --idlist, --force Détache et supprime un disque de la config ​
qm snapshot <vmid> <snapname> --vmstate, --description Cré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 snapshot VM 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 VM Nécessite qemu-guest-agent installé et actif
qm guest passwd <vmid> <user> ​ Change le mot de passe d'un user dans la VM Nécessite qemu-guest-agent
qm agent <vmid> <commande> network-get-interfaces, get-osinfo, ping Interagit avec le guest agent ​
qm monitor <vmid> ​ Ouvre la console monitor QEMU Commandes QEMU bas niveau
qm rescan --vmid Rescanne les disques d'une VM Utile après ajout de stockage à chaud
qm importovf <vmid> <fichier.ovf> <storage> ​ Importe une VM depuis un fichier OVF/OVA Pratique pour migration depuis VMware

vzdump / qmrestore / pct restore — Sauvegarde & restauration#

Commande Arguments principaux Description Points d'attention / Remarques
vzdump <vmid> --storage, --mode, --compress, --mailto, --node Sauvegarde une VM ou CT Modes : snapshot, suspend, stop. Snapshot = le moins impactant
vzdump --all --exclude, --storage, --mode Sauvegarde toutes les VMs/CTs du nœud ​
vzdump --vmid <id1,id2> --storage, --mode Sauvegarde une liste de VMs/CTs IDs séparés par des virgules
qmrestore <fichier> <vmid> --storage, --unique Restaure une sauvegarde VM --unique génère de nouveaux MAC/UUID
pct restore <ctid> <fichier> --storage, --hostname Restaure une sauvegarde CT ​

zpool — Gestion des pools zfs#

Commande Arguments principaux Description Points d'attention / Remarques
zpool status -v Statut détaillé de tous les pools ZFS READ/WRITE/CKSUM > 0 = problème matériel à investiguer
zpool status <pool> -v Statut d'un pool spécifique ​
zpool list -v, -H Liste les pools avec taille et occupation -H pour sortie parsable par script
zpool iostat <pool> <interval> Statistiques I/O en temps réel Ex : 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=12 Crée un pool ZFS ashift=12 obligatoire pour disques 4K/SSD
zpool add <pool> mirror <dev1> <dev2> ​ Ajoute un vdev miroir à un pool existant Agrandit le pool, opération irréversible
zpool replace <pool> <old> <new> ​ Remplace un disque défaillant Resilver 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 import ​ Liste les pools importables Utile après déplacement de disques
zpool import <pool> -f Importe 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 pool Trè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#

Commande Arguments principaux Description Points 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=lz4 Crée un dataset ​
zfs destroy <pool/ds> -r, -d Supprime un dataset ou snapshot -d pour différer si des clones existent
zfs snapshot <pool/ds@snapname> -r Crée un snapshot -r pour snapshot récursif
zfs rollback <pool/ds@snapname> -r Restaure un snapshot Détruit les snapshots plus récents sauf avec -r
zfs clone <pool/ds@snap> <pool/newds> ​ Crée un dataset depuis un snapshot Le 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 binaire Combiner avec zfs receive pour répliquer
zfs receive <pool/ds> -F Reçoit un flux zfs send Ex : `zfs send tank/vm@s1 ssh node2 zfs receive backup/vm`
zfs get all <pool/ds> ​ Affiche toutes les propriétés d'un dataset ​
zfs set compression=lz4 <pool/ds> lz4, zstd, off Active/change la compression lz4 recommandé pour ratio perf/compression
zfs set atime=off <pool/ds> ​ Désactive la mise à jour des temps d'accès Gain de perfs pour workloads VM
zfs set quota=<size> <pool/ds> ​ Pose un quota sur un dataset Ex : 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 snapshots Très utile pour auditer les changements entre sauvegardes
zfs rename <pool/ds> <pool/newname> ​ Renomme un dataset ​
zfs mount -a ​ Monte tous les datasets ZFS Utile après un reboot partiel
zfs umount <pool/ds> -f Démonte un dataset ​

ceph — Gestion des ensembles CEPH#

Commande Arguments principaux Description Points d'attention / Remarques
ceph status ​ Statut global du cluster Ceph HEALTH_OK = nominal. HEALTH_WARN/ERR = investiguer immédiatement
ceph health detail ​ Détail des warnings/erreurs Premier réflexe en cas de HEALTH_WARN
ceph -w ​ Surveillance en temps réel des événements Équivalent d'un tail -f sur le cluster
ceph osd status ​ Statut de tous les OSDs Vérifie les OSDs up/down et leur poids
ceph osd tree ​ Arbre CRUSH (rack, host, osd) Visualise la distribution et la tolérance aux pannes
ceph osd df ​ Occupation disque par OSD OSD > 85% = critique
ceph df ​ Occupation globale des pools ​
ceph df detail ​ Détail par pool (objets, quota, ratio) ​
ceph mon stat ​ Statut des monitors Quorum minimum : (n/2)+1 monitors actifs
ceph mon dump ​ Dump complet de la config des monitors ​
ceph pg stat ​ Statut des Placement Groups PGs en active+clean = nominal
ceph pg dump ​ Dump de tous les PGs Verbeux, préférer pg stat au quotidien
ceph osd pool ls detail ​ Liste les pools avec leurs paramètres ​
ceph osd pool create <pool> <pg_num> --pg_num, --pgp_num Crée un pool Ceph Utiliser le calculateur pg_num officiel
ceph osd pool set <pool> size <n> ​ Définit le facteur de réplication size 3 = 3 copies. min_size 2 = min pour écrire
ceph osd pool delete <pool> <pool> --yes-i-really-really-mean-it ​ Supprime 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 OSD 0 pour vider un OSD progressivement avant retrait
ceph osd reweight-by-utilization ​ Rééquilibre automatiquement les poids CRUSH Utile quand les OSDs sont déséquilibrés
ceph osd set noout ​ Empêche les OSDs de passer "out" automatiquement À activer AVANT toute maintenance d'un nœud Ceph
ceph osd unset noout ​ Désactive le flag noout À désactiver APRÈS la maintenance
ceph osd set norebalance ​ Bloque le rebalancing des données Combiné avec noout pour les maintenances lourdes
ceph osd unset norebalance ​ Réactive le rebalancing ​
ceph osd set nobackfill ​ Bloque le backfill des PGs Réduit la charge I/O pendant une maintenance
ceph osd unset nobackfill ​ Réactive le backfill ​
ceph tell osd.* injectargs '--osd-max-backfills 1' ​ Limite les backfills simultanés Réduit l'impact sur les I/O de production
ceph auth list ​ Liste 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 osd Crée un utilisateur CephX ​
ceph auth del client.<name> ​ Supprime un utilisateur CephX ​

​

Last updated on