Les 10 commandes CLI Proxmox que chaque administrateur devrait connaître
L’environnement virtuel (VE) Proxmox peut être géré à l’aide d’une interface graphique conviviale dans un navigateur Web. Cependant, dans certains cas spécifiques, il est préférable d’utiliser l’interface de ligne de commande (CLI). La CLI offre des avantages tels qu’une configuration plus détaillée, le traitement par lots, la création de scripts et l’automatisation.
Il existe des commandes Linux standard et des commandes spécifiques à Proxmox pour gérer les environnements virtuels Proxmox. Cet article de blog présente les 10 principales commandes spécifiques à Proxmox, accompagnées d’exemples pour une administration efficace.
1. qm
La commande qm est l’une des principales commandes CLI de Proxmox, et qm est l’abréviation de QEMU Manager. Elle est utilisée pour gérer les VMs dans un environnement virtuel Proxmox (Proxmox VE). Les machines virtuelles sur Proxmox sont basées sur QEMU/KVM, et la commande qm interagit avec elles. Vous pouvez créer, modifier, configurer, démarrer, arrêter et migrer des VMs à l’aide de cette commande.
La syntaxe générale de la commande est la suivante :
qm [options] <command> [arguments]
Lister les VMs
Vous pouvez voir le statut et l’ID de la VM. Vous aurez peut-être besoin de l’ID pour gérer cette VM dans l’interface CLI Proxmox.
qm list

Création d’une nouvelle machine virtuelle
Syntaxe générale :
qm create <vmid> [options]
Exemple :
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
La commande CLI Proxmox suivante crée une VM avec l’ID 103 nommée « DebianVM » avec 2 Go de RAM, 1 socket, 2 cœurs et une interface réseau Virtio pontée vers vmbr0 . Le type de système d’exploitation est Linux (indiqué par l26 ).
Attacher un disque à une VM
qm set 105 --scsi0 local-lvm:32G
Attache un disque de 32 Go à la VM à l’aide de l’interface SCSI.
Attacher un CD-ROM pour l’installation du système d’exploitation
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
Cette commande attache une image ISO Debian au lecteur de CD-ROM IDE de la VM pour l’installation d’un système d’exploitation invité ou à d’autres fins.
Configuration de l’ordre d’amorçage
qm set 105 --boot order=ide2;scsi0
La commande utilisée dans cet exemple configure la VM pour qu’elle démarre d’abord à partir du lecteur de CD-ROM (IDE2), puis du disque (SCSI0).
Démarrage d’une machine virtuelle
Syntaxe :
qm start <vmid>
Exemple :
qm start 103
Démarrage de la VM avec l’ID 103
Arrêt d’une VM
qm stop <vmid>
Cette commande arrête immédiatement une VM en cours d’exécution. Cette méthode d’arrêt d’une VM est similaire au fait de débrancher la prise d’alimentation d’une machine physique.
qm stop 103
Arrêt de la VM avec l’ID 103.
Arrêt d’une VM dans Proxmox CLI
qm shutdown <vmid>
Cette commande arrête une VM de manière ordonnée, permettant au système d’exploitation invité de fermer les fichiers et de terminer les processus correctement.
qm shutdown 101
Envoi d’un signal d’arrêt à la VM avec l’ID 101. 
Migration d’une VM vers un autre nœud
qm migrate <vmid> <targetnode>
Cette commande migre une VM de son nœud actuel vers un autre nœud au sein du même cluster Proxmox.
Par exemple, pour migrer une VM avec l’ID 103 vers node2 , nous pouvons utiliser la commande :
qm migrate 103 node2
Prendre un instantané d’une VM
qm snapshot <vmid> <snapshotname>
La commande crée un instantané de la VM, capturant son état actuel, y compris l’état de la mémoire, du disque et des périphériques.
qm snapshot 103 "before_upgrade"
Cette commande prend un instantané de la VM avec l’ID 103 et le nomme « before_upgrade ». Il est utile d’utiliser la commande pour prendre un instantané avant d’effectuer des opérations risquées, telles que des mises à niveau logicielles.
Restauration de l’état d’une VM à partir d’un instantané
qm rollback <vmid> <snapshotname>
Cette commande rétablit une VM à un instantané précédent, restaurant son état au moment où l’instantané a été pris.
Par exemple, si la mise à niveau logicielle à l’intérieur d’une VM a échoué, nous pouvons restaurer l’état de la VM à l’aide de la commande :
qm rollback 103 "before_upgrade"
Toutes les modifications apportées depuis la prise de l’instantané sont annulées (ignorées).
Clonage d’une machine virtuelle
qm clone <vmid> <newid> [--name <newname>] [--full]
La commande qm clone clone une VM existante pour créer une nouvelle VM avec un ID différent. Vous pouvez choisir de cloner soit le disque entier (clone complet), soit uniquement le stockage lié.
qm clone 103 104 --name "DebianClone" --full
Cette commande clone la VM avec l’ID 103 dans une nouvelle VM avec l’ID 104 , en la nommant « DebianClone ». L’option –– full crée un clone complet, en copiant toutes les données.
Redimensionnement du disque d’une machine virtuelle
qm resize <vmid> <disk> <size>
La commande qm resize est utilisée pour redimensionner un disque virtuel attaché à une VM, soit en l’agrandissant, soit en le réduisant. Assurez-vous que le système d’exploitation invité peut gérer ce changement.
qm resize 103 scsi0 +10G
Cette commande CLI Proxmox augmente la taille du disque scsi0 sur la VM avec l’ID 103 de 10 Go.
2. pve-firewall
La commande pve-firewall est utilisée pour gérer les paramètres du pare-feu dans l’environnement virtuel Proxmox, y compris les clusters Proxmox. Cette commande CLI Proxmox fournit des options conviviales pour configurer les règles du pare-feu et permet aux administrateurs de contrôler le trafic réseau vers et depuis les nœuds Proxmox, les machines virtuelles et les conteneurs. Le pare-feu Proxmox s’intègre étroitement à l’interface de gestion Proxmox et facilite la gestion du pare-feu dans l’ensemble de l’environnement Proxmox. L’outil pve-firewall est spécialement développé pour Proxmox VE et utilise une abstraction de haut niveau pour gérer les règles du pare-feu, contrairement à l’approche plus granulaire et manuelle utilisée dans iptables . Syntaxe :
pve-firewall <command> [options]
Exécutez la commande pve-firewall pour afficher le statut principal de la commande.

Vérifiez le statut
Vérification du statut du service pare-feu Proxmox VE :
pve-firewall status
La sortie indique si le pare-feu est en cours d’exécution ou non sur le nœud actuel.
Démarrez le pare-feu
Démarrage du service pare-feu sur le nœud Proxmox actuel :
pve-firewall start
Rechargez le pare-feu
Rechargement du service pare-feu et application des modifications de configuration du pare-feu sans avoir à arrêter et redémarrer le service pare-feu.
pve-firewall reload
Accepter le trafic SSH
Créer une règle de pare-feu qui accepte le trafic SSH :
pve-firewall create rule -action accept -macro ssh
Cette commande crée une règle pour autoriser l’accès SSH à l’environnement Proxmox.
Où : create < object > crée un nouvel objet pare-feu, tel qu’une règle, un groupe de sécurité ou un ensemble d’adresses IP.
Supprimer une règle
Pour supprimer la règle, utilisez la commande :
pve-firewall delete rule <rule-id>
Afficher le journal
Affichez le journal du pare-feu, qui indique le trafic et les correspondances de règles :
pve-firewall log
La sortie affiche les entrées les plus récentes du journal du pare-feu.
Refuser le trafic HTTP
Pour créer une règle de pare-feu qui refuse tout trafic HTTP, utilisez la commande :
pve-firewall create rule -action drop -macro http
3. pvesm
La commande pvesm dans Proxmox CLI est l’utilitaire de ligne de commande utilisé pour gérer la configuration du stockage dans Proxmox VE. Cet outil en ligne de commande vous permet de créer, supprimer, modifier et gérer des pools de stockage. Vous pouvez également effectuer diverses tâches liées au stockage, telles que la création de répertoires, l’ajout de périphériques de stockage et la gestion des types de contenu.
Syntaxe :
pvesm <command> [options]
Lister le stockage
pvesm list <storage>
Où < storage > est le nom du pool de stockage (magasin de données) à lister.

Vérification du statut de tous les pools de stockage ou de pools spécifiques
pvesm status
La sortie affiche le statut du pool de stockage, y compris des informations indiquant s’il est actif ou inactif, le type de stockage et l’utilisation actuelle.

Création d’un nouveau pool de stockage
pvesm create <type> <storage-id> --options
Où :
< type > est le type de backend de stockage à créer (par exemple, dir, lvm, nfs, zfs).
< storage-id > est le nom ou l’ID unique du pool de stockage.
–– Options définit les options supplémentaires spécifiques au type de stockage.
Exemple :
Création d’un nouveau pool de stockage basé sur un répertoire nommé new-datastore1 situé à /mnt/storage-name , qui peut stocker des images VM et des fichiers ISO : pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso
Ajouter un backend de stockage existant à Proxmox VE
Le principe de cette commande est similaire à celui de la commande pvesm create , mais au lieu de créer un nouveau stockage, le stockage existant est ajouté à la configuration Proxmox afin de le rendre disponible.
Exemple :
Ajouter un partage NFS existant situé sur 192.168.101.100 à /export/data à Proxmox VE sous le nom test-nfs-storage :
pvesm add nfs test-nfs-storage --server 192.168.101.100 --export /export/data --path /mnt/pve/test-nfs-storage --content images,iso
Modifier la configuration d’un pool de stockage existant
pvesm set <storage-id> --options
Exemple :
Modifier le pool local-storage01 pour lui permettre de stocker des images VM, des fichiers ISO et des fichiers de sauvegarde :
pvesm set local-storage01 --content images,iso,backup
Allouer un nouveau volume sur un pool de stockage spécifié pour une VM ou un conteneur
pvesm alloc <storage-id> <vmid> <size>
Exemple :
Commande pour allouer un volume de 10 Go sur le pool local-storage-name pour la VM 100 :
pvesm alloc local-storage-name 100 10G
4. pveum
L’environnement virtuel Proxmox vous permet de créer plusieurs utilisateurs pour gérer Proxmox VE. Cela peut être fait par les commandes CLI Proxmox en utilisant la commande pveum (gestion des utilisateurs). Les administrateurs Proxmox peuvent gérer les utilisateurs et les groupes et configurer les contrôles d’accès et les autorisations. Cela permet de définir qui peut avoir accès et est autorisé à agir sur les différentes parties de l’infrastructure Proxmox. Les administrateurs peuvent attribuer des autorisations pour accéder à des objets, tels que des machines virtuelles, du stockage, des nœuds de cluster, etc.
Syntaxe :
pveum <command> [options]
Ajouter le nouvel utilisateur à Proxmox VE
pveum useradd <userid> --password <password> --comment <comment> --groups <group>
Où :
–– mot de passe < mot de passe > est le mot de passe du nouvel utilisateur.
–– comment < comment > est un commentaire ou une description facultative pour l’utilisateur.
–– groups < groupe > est le ou les groupes auxquels l’utilisateur doit appartenir.
Exemple :
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin group" --groups admin
Cette commande est utilisée pour ajouter un utilisateur dont le nom est user2 au groupe ADMIN avec une description et pour définir le mot de passe de cet utilisateur.
Suppression d’un utilisateur
Pour supprimer un utilisateur, utilisez la commande pveum avec la même logique que pour ajouter un utilisateur, par exemple :
pveum userdel user3@pve
Cette commande est utilisée pour supprimer user3 sur un hôte Proxmox.
Création d’un groupe
Pour créer un nouveau groupe dans Proxmox CLI, utilisez la commande groupadd .
Syntaxe :
pveum groupadd <groupname> --comment <comment>
Exemple :
pveum groupadd support --comment "Support Team Group"
Cette commande crée un nouveau groupe appelé support avec la description « Équipe d’assistance technique Group ».
Suppression d’un groupe
Tout comme pour la suppression d’un utilisateur, vous pouvez supprimer un groupe. Par exemple, pour supprimer un groupe guests , vous pouvez utiliser la commande :
pveum groupdel guests
Ajout de rôles
Les rôles sont utilisés pour définir un ensemble d’autorisations pour les utilisateurs et les groupes auxquels ce rôle est attribué.
Syntaxe :
pveum roleadd <rolename> --privs <privileges>
Où :
< rolename > est le nom du rôle à créer.
–– privs < privileges > est une liste séparée par des virgules des privilèges à attribuer au rôle (par exemple, VM.PowerMgmt,VM.Config.Disk).
Exemple :
pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM
Cette commande crée un rôle appelé vmmanager avec des autorisations pour gérer les paramètres d’alimentation des machines virtuelles et configurer les CD-ROM.
Modification d’un rôle existant
Les administrateurs peuvent modifier les rôles et les autorisations existants à l’aide de la commande rolemod (ajouter ou enlever des privilèges).
Syntaxe :
pveum rolemod <rolename> --privs <privileges>
Exemple :
pveum rolemod vmmanager --privs +VM.Config.Network
Cette commande ajoute le privilège VM.Config.Network au rôle vmmanager .
Modification de l’ACL
Les administrateurs Proxmox peuvent modifier les listes de contrôle d’accès (ACL) en attribuant des rôles à des utilisateurs ou à des groupes sur des objets Proxmox spécifiques.
Syntaxe :
pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>
Où :
< path > est le chemin d’accès à l’objet sur lequel définir l’ACL (par exemple, /vms/100 pour une machine virtuelle spécifique ou / pour l’ensemble du cluster).
–– roles < rolename > est le rôle à attribuer.
–– users < userid > est l’utilisateur auquel le rôle est attribué.
–– groupes < groupname > est le groupe auquel le rôle est attribué.
Exemple :
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
Cette commande attribue le rôle vmmanager à user4@pve sur la VM 104 , permettant à l’utilisateur ( user4 ) de gérer cette VM spécifique conformément aux privilèges du rôle vmmanager. La commande aclremove est utilisée pour enlever les ACL des objets en conséquence.
Gestion du domaine d’authentification
Un domaine d’authentification définit la manière dont les utilisateurs s’authentifient auprès du système (par exemple, à l’aide de PAM, LDAP ou Active Directory). Vous pouvez gérer les domaines d’authentification à l’aide de la commande realm dans Proxmox VE.
Syntaxe :
pveum realm <command> [options]
Où la commande peut être : list pour lister tous les domaines disponibles
add pour ajouter un nouveau domaine
modify pour modifier un domaine existant
enlever pour supprimer un domaine existant
Par exemple, pour lister tous les domaines d’authentification configurés dans Proxmox VE, utilisez la commande :
pveum realm list

Gestion des utilisateurs existants
Vous pouvez lister, modifier et supprimer des utilisateurs existants à l’aide de cette commande utilisateur.
Syntaxe :
pveum user <command> <userid> [options]
Les commandes peuvent être :
list pour lister tous les utilisateurs
modify pour modifier les détails d’un utilisateur, par exemple modifier le mot de passe ou mettre à jour un commentaire
delete pour supprimer un utilisateur
Par exemple, pour lister tous les utilisateurs sur un hôte Proxmox, utilisez la commande :
pveum user list
Pour voir plus de commandes et d’options disponibles, exécutez la commande pveum help dans l’interface CLI Proxmox.
5. pvesh
En utilisant la commande pvesh , les administrateurs peuvent interagir avec l’API REST Proxmox. Cet outil en ligne de commande vous permet d’effectuer presque toutes les actions pouvant être réalisées via l’interface web Proxmox directement depuis l’interface CLI Proxmox. La commande pvesh agit comme un shell pour l’API REST Proxmox VE, vous permettant d’effectuer des appels API à l’aide de commandes directement depuis la ligne de commande. Cette commande vous permet de gérer les machines virtuelles, le stockage, le réseau et d’autres éléments de l’infrastructure virtuelle Proxmox.
Syntaxe :
pvesh <command> [options]
Lister les ressources ou les points de terminaison API
Cette commande est similaire à la commande ls sous Linux, mais elle liste les chemins API ou les ressources disponibles dans l’environnement Proxmox VE.
pvesh ls /path
Exemple :
pvesh ls /cluster/resources
Cette commande liste toutes les ressources du cluster Proxmox, y compris les machines virtuelles, les conteneurs et le stockage.
Récupération d’informations
La commande get récupère des informations à partir d’un point de terminaison API spécifique. Cette commande est utilisée pour interroger une ressource afin d’obtenir des détails.
pvesh get /path
Où path est le chemin d’accès API à partir duquel vous souhaitez récupérer des informations.
Par exemple, pour récupérer les informations de statut du nœud pve-node1 , telles que la charge du processeur, l’utilisation de la mémoire et le temps de fonctionnement, vous pouvez utiliser la commande :
pvesh get /nodes/pve-node1/status

Modification de la configuration
La commande set est utilisée pour modifier ou mettre à jour la configuration d’une ressource. Cela équivaut à effectuer une requête POST ou PUT dans l’API REST.
Syntaxe :
pvesh set /path --key value [--key value ...]
–– key value correspond aux paires clé-valeur des paramètres que vous souhaitez modifier.
Exemple : pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name
Cette commande modifie le VM-Name de la VM 100 sur le nœud pve-node1 en new-vm-name .
Création d’une ressource
La commande create vous permet de créer une nouvelle ressource, telle qu’une nouvelle VM ou un nouveau volume de stockage.
Syntaxe :
pvesh create /path --key value [--key value ...]
Par exemple, vous pouvez créer une nouvelle VM avec des paramètres spécifiques à l’aide de la commande :
pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2
Cette commande crée une nouvelle VM avec l’ID 106 sur le nœud pve-node1 , avec le nom new-vm-name , 2 Go de RAM et 2 cœurs de processeur.
Démarrer des VM
Il existe une commande pour démarrer une VM ou un conteneur avec pvesh :
pvesh start /path
Par exemple, pour démarrer la VM avec l’ID 101 sur le nœud pve-node1 , vous pouvez exécuter la commande :
pvesh start /nodes/pve-node1/qemu/101
Arrêt de la VM
Contrairement à la commande stop, la commande shutdown arrête une VM ou un conteneur de manière ordonnée :
pvesh shutdown /path
Par exemple, pour arrêter une VM avec l’ID 101 sur un hôte Proxmox, dont le nom est pve-node1 , utilisez la commande :
pvesh shutdown /nodes/pve-node1/qemu/101
Démarrer toutes les VM
Pour démarrer ou arrêter toutes les VM sur un nœud ou dans l’ensemble du cluster, vous pouvez utiliser la commande correspondante :
pvesh startall /nodes/<nodename>
pvesh stopall /nodes/<nodename>
6. pvecm
La commande pvecm est un outil de gestion de cluster Proxmox qui sert à gérer et à configurer un cluster Proxmox. Vous pouvez utiliser cet outil pour créer un cluster, mais aussi pour rejoindre et gérer les nœuds d’un cluster Proxmox. Un cluster est géré comme une entité unique avec des fonctionnalités de configuration telles que la haute disponibilité, la migration de machines virtuelles en direct, le stockage partagé, etc.
Syntaxe :
pvecm <command> [options]
Pour voir toutes les commandes pvecm prises en charge, exécutez cette commande :
man pvecm
Création d’un cluster
Pour créer un nouveau cluster Proxmox VE, vous pouvez utiliser la commande create . Vous devez exécuter cette commande sur le premier nœud (nœud maître) qui formera le cluster.
pvecm create <clustername>
Exemple :
La commande ci-dessous crée un cluster nommé cluster01 . Ce nœud (sur lequel nous exécutons la commande) devient le nœud maître du cluster.
pvecm create cluster01
Ajouter un nœud à un cluster
Utilisez la commande addnode pour ajouter de nouveaux nœuds à un cluster Proxmox existant. Exécutez cette commande sur un nœud que vous souhaitez ajouter au cluster.
pvecm add <master-node-ip>
Exemple :
Ajout de l’hôte Proxmox actuel à un cluster contrôlé par un nœud maître avec l’adresse IP 192.168.101.121 :
pvecm add 192.168.101.121
Suppression d’un nœud d’un cluster
La commande delnode est utilisée dans l’interface CLI Proxmox pour enlever un nœud du cluster.
Syntaxe :
pvecm delnode <nodename>
Exemple : La commande permettant d’enlever le nœud nommé pve-node2 du cluster est la suivante :
pvecm delnode pve-node2
Lister tous les nœuds d’un cluster
La commande permettant de lister tous les nœuds du cluster et d’afficher leur statut, y compris les noms des nœuds et les adresses IP, est la suivante :
pvecm nodes
Définir le nouveau nœud maître
Vous pouvez définir un autre nœud du cluster comme maître dans un cluster Proxmox :
pvecm setmaster <nodename>
Où < nodename > est le nom du nœud que vous souhaitez désigner comme maître.
Affichage du statut du cluster
Vous pouvez afficher le statut d’un cluster Proxmox, y compris des informations sur le quorum, le nombre de nœuds et leurs rôles.
pvecm status
Définition du nombre de nœuds attendu
Vous pouvez vérifier combien de nœuds sont attendus pour atteindre le quorum dans le cluster avec la commande expected . Vous devrez peut-être utiliser cette commande lorsque certains nœuds du cluster sont temporairement hors ligne afin d’éviter toute interruption. Le quorum est utilisé pour éviter les situations de split-brain lorsque différents nœuds du cluster ont des informations contradictoires sur l’état du cluster.
pvecm expected <number>
7. hamanager
La commande hamanager est utilisée pour gérer la fonctionnalité de haute disponibilité (HA) des VMs après la création d’un cluster Proxmox. Cet utilitaire en ligne de commande vous permet de configurer la haute disponibilité pour les VMs critiques et de définir comment les redémarrer dans un cluster si le nœud sur lequel elles s’exécutent tombe en panne. L’outil hamanager de l’interface CLI Proxmox interagit avec le gestionnaire de haute disponibilité Proxmox.
Syntaxe :
ha-manager <command> [options]
Affichage du statut
Pour afficher le statut actuel des ressources HA, vous pouvez utiliser la commande :
ha-manager status
La sortie affiche des informations sur les VMs ou les conteneurs qui sont configurés pour la haute disponibilité, leur état actuel (démarré, arrêté), y compris l’état HA et l’état de basculement, et le nœud sur lequel ils s’exécutent.
Activation de la haute disponibilité pour une machine virtuelle
Syntaxe :
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
Où :
< vmid > est l’ID de la machine virtuelle ou du CT que vous souhaitez ajouter à la haute disponibilité.
–– group < groupname > est le groupe de haute disponibilité auquel la ressource doit être ajoutée (facultatif).
–– max-restarts < n > est le nombre maximal de tentatives de redémarrage si la ressource échoue.
–– max-migrate-tries < n > est le nombre maximal de tentatives de migration vers un autre nœud si la ressource ne peut pas être redémarrée.
Exemple : Ajout d’une machine virtuelle avec l’ID 105 au gestionnaire HA avec un maximum de 3 tentatives de redémarrage et 1 tentative de migration en cas d’échec :
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
Désactivation du Statut HA d’une machine virtuelle
Utilisez la commande remove pour désactiver le Statut haute disponibilité d’une machine virtuelle et enlever la machine virtuelle du gestionnaire HA.
ha-manager remove <vmid>
Par exemple, pour désactiver le statut HA de la VM avec l’ID 105 , exécutez la commande :
ha-manager remove 105
Après avoir exécuté la commande, la VM ne sera plus gérée comme une ressource hautement disponible.
Migration de VM
Vous pouvez migrer manuellement une VM hautement disponible vers un autre nœud du cluster à l’aide de la commande migrate :
ha-manager migrate <vmid> <targetnode>
Par exemple, pour migrer une VM avec l’ID 106 vers un nœud appelé pve-node2 , exécutez la commande :
ha-manager migrate 106 pve-node2
8. vzdump
La commande vzdump est utilisée pour créer des sauvegardes dans Proxmox VE avec les outils natifs Proxmox. Cette commande prend en charge la sauvegarde des VMs et des conteneurs. Les sauvegardes peuvent être enregistrées au format . vma , . tgz ou . lzo .
Syntaxe :
vzdump [options] <vmid> [<vmid2> ...]
Où :
vmid est l’ID d’une machine virtuelle ou d’un conteneur que vous souhaitez sauvegarder.
–– mode < mode > définit le mode de sauvegarde. Trois modes de sauvegarde sont pris en charge :
- snapshot – prend un instantané en direct d’une machine virtuelle ou d’un conteneur Proxmox. Ce mode est utilisé par défaut et vous permet d’effectuer une sauvegarde lorsqu’une machine virtuelle ou un conteneur est en cours d’exécution.
- suspend – ce mode est utilisé pour suspendre la VM ou le conteneur avant de procéder à la sauvegarde, ce qui vous permet de vous assurer que les données sont cohérentes. Le court temps d’arrêt causé par ce mode est un inconvénient.
- stop – arrête la machine virtuelle ou le conteneur avant de procéder à la sauvegarde. Cette approche vous permet de préserver la cohérence des données de sauvegarde, mais nécessite un temps d’arrêt plus long.
–– compress < type > est utilisé pour spécifier la méthode de compression. Il existe trois options de compression prises en charge :
- lzo – compression légère et rapide pour la sauvegarde Proxmox (utilisée par défaut).
- gzip – il s’agit d’une méthode de compression plus efficace, mais qui nécessite plus de temps pour compresser les données (compression plus lente).
- zstd – ce type de compression utilise un algorithme de compression moderne offrant des taux de compression élevés avec des performances optimales.
–– stockage < stockage > spécifie la cible de stockage pour le fichier de sauvegarde. Il peut s’agir d’un répertoire local, d’un partage NFS ou d’un pool de stockage Proxmox.
–– maxfiles < n > limite le nombre de fichiers de sauvegarde à conserver. Les sauvegardes plus anciennes sont automatiquement supprimées lorsque la limite est atteinte.
–– remove < mode > supprime automatiquement les fichiers de sauvegarde selon le mode spécifié. Les modes disponibles sont les suivants :
- old – enlève les anciennes sauvegardes lorsque de nouvelles sont créées.
- fail – enlève uniquement les sauvegardes ayant échoué.
Sauvegarder plusieurs VMs
Sauvegarder les VMs avec les ID 101, 102 et 103 de manière séquentielle :
vzdump 101 102 103
Enregistrer la sauvegarde avec compression
vzdump 101 --storage local --compress gzip --maxfiles 3
La commande vzdump avec ces options effectue les actions suivantes :
- Enregistre la sauvegarde de la VM 101 dans le stockage nommé local. Le stockage local peut être un répertoire local sur un hôte Proxmox ou un pool de stockage.
- La gzip compression est utilisée. La création d’une sauvegarde cryptée avec gzip compression peut prendre plus de temps, mais vous obtenez un fichier de sauvegarde plus petit.
- Seules les 3 sauvegardes les plus récentes sont conservées, tandis que les plus anciennes sont automatiquement supprimées.
Omettre les fichiers journaux
vzdump 102 --exclude-path /var/log
Sauvegarde la VM 102 mais exclut le répertoire /var/log , réduisant ainsi la taille de la sauvegarde en omettant les fichiers journaux.
Supprimer les anciennes sauvegardes
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
Il s’agit d’une sauvegarde automatisée avec suppression des anciennes sauvegardes. Elle sauvegarde la VM 101 , stocke la sauvegarde dans nfs-backup et ne conserve que les 5 sauvegardes les plus récentes, enlevant automatiquement toutes les sauvegardes plus anciennes.
Sauvegarde en mode instantané
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Création de sauvegardes (telles que des sauvegardes nocturnes) de toutes les machines virtuelles et de tous les conteneurs à l’aide du mode de sauvegarde instantanée. Les sauvegardes sont enregistrées dans un partage NFS appelé nfs-backup . La bande passante est limitée à 20 480 Ko par seconde (20 Mbps) afin d’éviter toute surcharge du réseau. Seules les 7 dernières sauvegardes sont conservées, les sauvegardes plus anciennes sont automatiquement enlevées.
9. qmrestore
La commande qmrestore est utilisée pour restaurer des machines virtuelles à partir de sauvegardes créées à l’aide de la commande vzdump dans l’environnement virtuel Proxmox. Ces commandes vzdump et qmrestore sont des outils Proxmox natifs pour la sauvegarde et la récupération de machines virtuelles. Une sauvegarde peut être restaurée sur une machine virtuelle nouvelle ou existante.
Syntaxe :
qmrestore [options] <backupfile> <vmid>
Où :
< backupfile > est le chemin d’accès au fichier à sauvegarder. Ce fichier est généralement généré par la commande vzdump et stocké dans un répertoire ou sur un périphérique de stockage réseau.
< vmid > est l’ID de la VM à restaurer. Si l’ID de la VM existe déjà, la VM existante sera écrasée, sauf si des options spécifiques sont utilisées pour empêcher cela.
Options de commande :
–– force est utilisé pour écraser une VM existante avec le même ID, sans question de confirmation. Vous pouvez utiliser cette option pour restaurer une VM lorsque vous ne craignez pas de perdre l’état actuel de la machine virtuelle avec le même ID.
–– unique est utilisé pour générer un nouvel ID de VM unique pour une VM restaurée. Envisagez d’utiliser cette option pour restaurer une sauvegarde en créant une nouvelle VM sans écraser les VMs existantes.
–– storage < storage > spécifie l’emplacement de stockage de la cible pour les images de disque virtuel de la VM restaurée. Si cette option n’est pas spécifiée, la VM sera restaurée dans son stockage d’origine ou dans le stockage par défaut.
–– pool < pool > vous permet d’attribuer la VM restaurée à un pool de ressources spécifique dans l’environnement virtuel Proxmox. Les pools de ressources sont utilisés pour regrouper les machines virtuelles afin de faciliter leur gestion.
–– hostname < name > définit le nom d’hôte de la VM restaurée. Cette option est utile si vous souhaitez définir un nom d’hôte différent de celui d’origine pour la VM restaurée.
–– name < name > définit un nom personnalisé pour la VM restaurée (un nom qui s’affiche dans l’interface utilisateur Proxmox), différent du VM-Name d’origine de la VM qui a été sauvergardée.
Restaurer la VM à son ID d’origine
Restaurer une VM à son ID d’origine :
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101
Cette commande restaure le fichier de sauvegarde vzdump-qemu-101-2023_08_27-00_00_00.vma sur la VM avec l’ID 101 . Si une VM avec l’ID 101 existe déjà, elle sera écrasée.
Récupération de la sauvegarde vers une nouvelle VM
Récupération de la sauvegarde vers une nouvelle VM :
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm
Cette commande restaure la sauvegarde sur une nouvelle VM avec l’ID 102 , en stockant ses images disque sur le stockage local-lvm .
Récupération et modification du nom d’hôte et du VM-Name
Restaurer la sauvegarde et modifier le nom d’hôte et le VM-Name :
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"
Restaure la sauvegarde sur une nouvelle VM avec l’ID 103 , renomme la VM en MyRestoredVM et définit son nom d’hôte sur restored-vm .
10. proxmox-backup-client
La commande proxmox-backup-client est un utilitaire en ligne de commande utilisé conjointement avec Proxmox Backup Server, une solution de sauvegarde native de Proxmox, utilisée pour les opérations de sauvegarde et de restauration. Cet outil permet aux administrateurs de protéger les machines virtuelles, les conteneurs et d’autres types de données. L’outil proxmox-backup-client interagit avec un serveur de sauvegarde Proxmox (PBS) pour gérer les sauvegardes
Syntaxe :
proxmox-backup-client <command> [options]
Syntaxe de base de la commande de sauvegarde
proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]
Où :
< archive-name > est le nom que vous souhaitez donner à l’archive de sauvegarde.
< path > définit le chemin d’accès au répertoire ou au fichier à sauvegarder.
–– repository < repository > est le référentiel cible sur le serveur de sauvegarde Proxmox, généralement sous la forme user@pbs:datastore
Exemple :
proxmox-backup-client backup etc.pxar /etc --repository root@pbs@10.10.10.101:datastore1
Cette commande sauvergarde le répertoire / etc vers le datastore1 sur le serveur de sauvegarde Proxmox situé à 10.10.10.101 . La sauvegarde est stockée sous forme d’archive nommée etc.pxar .
La syntaxe de base de la commande de restauration
La commande de restauration des outils en ligne de commande proxmox-backup-client est utilisée pour restaurer les données d’un serveur de sauvegarde Proxmox vers le système local.
proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]
Où :
< archive-name > est le nom de l’archive que vous souhaitez restaurer.
< path > est le chemin d’accès où les données doivent être restaurées.
–– référentiel < référentiel > est le référentiel où la sauvegarde est stockée.
Exemple :
proxmox-backup-client restore etc.pxar /restore/etc --repository root@pbs@10.10.10.101:datastore1
Cette commande restaure l’archive etc.pxar à partir de datastore1 sur le serveur de sauvegarde Proxmox à l’adresse 10.10.10.101 vers le répertoire local / restore / etc .
Conclusion
Les commandes CLI Proxmox constituent un ensemble d’outils puissants pour gérer l’environnement virtuel Proxmox, notamment le stockage, les machines virtuelles, les clusters, la sauvegarde des VM, etc. Si vous souhaitez mettre en œuvre une stratégie complète de sauvegarde des VM, installez NAKIVO Backup & Replication et utilisez la fonctionnalité de sauvegarde sans agent pour les VMs Proxmox VE.