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 accessible via un navigateur web. Cependant, dans certains cas précis, il est préférable d’utiliser l’interface en 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.

NAKIVO pour la sauvegarde Proxmox

NAKIVO pour la sauvegarde Proxmox

Sauvegarde sans agent et cohérente avec les applications pour Proxmox VE, avec plusieurs cibles, y compris des sauvegardes immuables dans le cloud. Plusieurs options de récupération granulaire instantanée et de récupération complète.

1. qm

The qm command is one of the main Proxmox CLI commands, and qm is short for QEMU Manager. It is used to manage virtual machines (VMs) in a Proxmox virtual environment (Proxmox VE). Virtual machines on Proxmox are QEMU/KVM-based, and the qm command interacts with them. You can create, edit, configure, start, stop and migrate VMs with this command.

The general syntax of the command is:

qm [options] <command> [arguments]

List virtual machines

You can see the VM status and ID. You may need the ID to manage this VM in the Proxmox CLI.

qm list

Listing Proxmox virtual machines in the CLI

Creating a new virtual machine

General syntax:

qm create <vmid> [options]

Example:

qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26

The following Proxmox CLI command creates a VM with ID 103 named « DebianVM » with 2GB RAM, 1 socket, 2 cores and a Virtio network interface bridged to vmbr0. The OS type is Linux (indicated by l26).

Attaching a disk to a VM

qm set 105 --scsi0 local-lvm:32G

Attaches a 32GB disk to the VM using the SCSI interface.

Attach a CD-ROM for OS installation

qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom

This command attaches a Debian ISO to the VM’s IDE CD-ROM drive for installation of a guest operating system or other purposes.

Configuring the boot order

qm set 105 --boot order=ide2;scsi0

The command used in this example configures the VM to boot from the CD-ROM first (IDE2), then the disk (SCSI0).

Starting a virtual machine

Syntax:

qm start <vmid>

Example:

qm start 103

Starting the VM with ID 103

Stopping a VM

qm stop <vmid>

This command stops a running VM immediately. This way to stop a VM is the same as pulling the power plug on a physical machine.

qm stop 103

Stopping the VM with ID 103.

Shut down a VM in Proxmox CLI

qm shutdown <vmid>

This command shuts down a VM gracefully, allowing the guest OS to close files and terminate processes properly.

qm shutdown 101

Sending a shutdown signal to the VM with ID 101.

Proxmox CLI shutdown VM

Migrating a VM to another node

qm migrate <vmid> <targetnode>

This command migrates a VM from its current node to another node within the same Proxmox cluster.

For example, to migrate a VM with the ID 103 to node2, we can use the command:

qm migrate 103 node2

Taking a snapshot of a VM

qm snapshot <vmid> <snapshotname>

The command creates a snapshot of the VM, capturing its current state, including the memory, disk and device status.

qm snapshot 103 "before_upgrade"

This command takes a snapshot of the VM with ID 103 and names it "before_upgrade". Using the command to take a snapshot is useful before performing risky operations, such as software upgrades.

Restauration de l’état d’une machine virtuelle à partir d’un instantané

qm rollback <vmid> <snapshotname>

Cette commande rétablit l’état d’une machine virtuelle à partir d’un instantané précédent, en la ramenant à l’état où elle se trouvait au moment où l’instantané a été pris.

Par exemple, si la mise à jour logicielle au sein d’une machine virtuelle a échoué, nous pouvons restaurer l’état de la machine virtuelle à l’aide de la commande :

qm rollback 103 "before_upgrade"

Toutes les modifications effectué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 qm clone commande clone une machine virtuelle existante pour créer une nouvelle machine virtuelle avec un identifiant différent. Vous pouvez choisir de cloner soit le disque entier (clonage complet), soit uniquement le stockage lié.

qm clone 103 104 --name "DebianClone" --full

Cette commande clone la VM avec ID 103 en une nouvelle VM avec ID 104, en la nommant "DebianClone". L’option --full crée un clonage complet, en copiant toutes les données.

Redimensionnement du disque d’une machine virtuelle

qm resize <vmid> <disk> <size>

La commande qm resize sert à 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 cette modification.

qm resize 103 scsi0 +10G

Cette commande CLI Proxmox augmente de 10 Go la taille du disque scsi0 sur la VM ID 103 .

2. pve-firewall

La commande pve-firewall sert à gérer les paramètres du pare-feu dans l’environnement virtuel Proxmox, y compris les clusters Proxmox. Cette commande CLI Proxmox offre des options conviviales pour configurer les règles de 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 de 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 l’utilisation principale de la commande.

Using pve-firewall in Proxmox CLI

Vérifier 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émarrer le pare-feu

Démarrage du service pare-feu sur le nœud Proxmox actuel :

pve-firewall start

Recharger 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éation d’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 de 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 présente 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 l’interface CLI de Proxmox est l’utilitaire en ligne de commande utilisé pour gérer la configuration du stockage dans Proxmox VE. Grâce à cet outil en ligne de commande, vous pouvez créer, supprimer, modifier et gérer des pools de stockage. De plus, vous pouvez 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>

<storage> est le nom du pool de stockage (magasin de données) à lister.

Listing resources on the local storage

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.

Checking the status of a Proxmox storage pool

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é à l’adresse /mnt/storage-name, capable de stocker des images de VM et des fichiers ISO :

pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso

Ajout d’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 pour le rendre disponible.

Exemple :

Ajouter un partage NFS existant situé sur 192.168.101.100 à l’adresse /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 de 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 permettant d’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

Proxmox Virtual Environment vous permet de créer plusieurs utilisateurs pour la gestion de Proxmox VE. Cela peut être effectué par l’intermédiaire des commandes CLI de Proxmox, notamment par la commande ` pveum ` (gestion des utilisateurs). Les administrateurs Proxmox peuvent gérer les utilisateurs et les groupes, ainsi que configurer les contrôles d’accès et les autorisations. Cela permet de définir qui peut accéder aux différentes parties de l’infrastructure Proxmox et qui est autorisé à y effectuer des actions. Les administrateurs peuvent attribuer des autorisations d’accès à des objets, tels que des machines virtuelles, du stockage, des nœuds de cluster, etc.

Syntaxe :

pveum <command> [options]

Ajout d’un nouvel utilisateur à Proxmox VE

pveum useradd <userid> --password <password> --comment <comment> --groups <group>

Où :

--password <password> est le mot de passe du nouvel utilisateur.

--comment <comment> est un commentaire ou une description facultatif(ve) pour l’utilisateur.

--groups <group> 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 permet d’ajouter un utilisateur nommé user2 au groupe admin avec une description et de définir le mot de passe de cet utilisateur.

Suppression d’un utilisateur

Pour supprimer un utilisateur, utilisez la commande pveum en suivant la même logique que pour l’ajout d’un utilisateur, par exemple :

pveum userdel user3@pve

Cette commande permet de supprimer user3 sur un hôte Proxmox.

Création d’un groupe

Pour créer un nouveau groupe dans l’interface CLI de Proxmox, 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 "Support Team 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 servent à 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 d’une liste de contrôle d’accès (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é. --groups <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 ainsi à l’utilisateur (user4) de gérer cette VM spécifique conformément aux privilèges du rôle vmmanager . La commande aclremove sert à supprimer les ACL des objets en conséquence.

Gestion des domaines d’authentification

Un domaine d’authentification définit la manière dont les utilisateurs s’authentifient auprès du système (par exemple, via 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

remove pour enlever un domaine existant

Par exemple, pour lister tous les domaines d’authentification configurés dans Proxmox VE, utilisez la commande :

pveum realm list

Checking the Proxmox authentication realm configuration

Gestion des utilisateurs existants

Vous pouvez lister, modifier et enlever des utilisateurs existants à l’aide de cette commande user.

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, comme modifier le mot de passe ou mettre à jour le 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 de Proxmox.

Essayez NAKIVO Backup & Replication pour Proxmox VE

Essayez NAKIVO Backup & Replication pour Proxmox VE

Profitez d'un essai gratuit de 15 jours pour effectuer des sauvegardes incrémentielles sans agent de vos machines virtuelles Proxmox, avec système natif de suivi des modifications, Stockage immuable et options de récupération complète et granulaire instantanée.

5. pvesh

Par l’intermédiaire de la commande pvesh , les administrateurs peuvent interagir avec l’API REST de Proxmox. Cet outil en ligne de commande vous permet d’effectuer presque toutes les actions réalisables via l’interface Web de Proxmox directement depuis l’interface CLI de Proxmox. La commande pvesh fait office de shell pour l’API REST de Proxmox VE, vous permettant d’effectuer des appels API à l’aide de commandes directement depuis la ligne de commande. Grâce à cette commande, vous pouvez gérer les machines virtuelles, le stockage, le réseau et d’autres éléments de l’infrastructure virtuelle Proxmox.

Syntaxe :

pvesh <command> [options]

Liste des ressources ou des points de terminaison API

Cette commande est similaire à la commande ls sous Linux, mais elle répertorie les chemins d’accès API ou les ressources disponibles dans l’environnement Proxmox VE.

pvesh ls /path

Exemple :

pvesh ls /cluster/resources

Cette commande répertorie 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

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

Checking the Proxmox host status

Modification de la configuration

La commande set sert à 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 nom 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 volume de stockage.

Syntaxe :

pvesh create /path --key value [--key value ...]

Par exemple, vous créez 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émarrage des machines virtuelles

Il existe une commande pour démarrer une machine virtuelle ou un conteneur avec pvesh:

pvesh start /path

Par exemple, pour démarrer la machine virtuelle avec 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 machine virtuelle

Contrairement à la commande stop, la commande shutdown arrête une machine virtuelle ou un conteneur de manière ordonnée :

pvesh shutdown /path

Par exemple, pour arrêter une machine virtuelle avec l’ID 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 VMs

Pour démarrer ou arrêter toutes les VMs 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 utilisé pour gérer et configurer un cluster Proxmox. Vous pouvez utiliser cet outil pour créer un cluster, mais aussi pour ajouter et gérer les nœuds au sein 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 en direct des machines virtuelles, le stockage partagé, etc.

Syntaxe :

pvecm <command> [options]

Pour afficher 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 :

Ajouter l’hôte Proxmox actuel à un cluster contrôlé par un nœud maître dont l’adresse IP est 192.168.101.121 :

pvecm add 192.168.101.121

Supprimer un nœud d’un cluster

La commande delnode est utilisée dans l’interface CLI de 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 :

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 leurs adresses IP, est :

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>

<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 à l’aide de la commande expected . Vous devrez peut-être utiliser cette commande lorsque certains nœuds du cluster sont temporairement hors ligne afin d’éviter des perturbations. Le quorum sert à éviter les situations de « split-brain » lorsque différents nœuds du cluster disposent d’informations contradictoires sur l’état du cluster. pvecm expected <number>

7. hamanager

La commande hamanager sert à gérer la fonctionnalité de haute disponibilité (HA) des machines virtuelles après la création d’un cluster Proxmox. Cet utilitaire en ligne de commande vous permet de configurer la haute disponibilité pour les machines virtuelles critiques et de définir comment les redémarrer au sein d’un cluster en cas de défaillance du nœud sur lequel elles s’exécutent. L’outil hamanager de l’interface CLI de 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 CT configurées pour la HA, leur statut actuel (démarré, arrêté), y compris l’état HA et l’état de basculement, ainsi que le nœud sur lequel elles 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 en cas de défaillance de la ressource.

--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 ID 105 au gestionnaire HA avec un maximum de 3 tentatives de redémarrage et 1 tentative de migration en cas de défaillance :

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 de 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 machine virtuelle avec ID 105, exécutez la commande :

ha-manager remove 105

Après avoir exécuté la commande, la machine virtuelle 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 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 à l’aide des outils natifs de Proxmox. Cette commande prend en charge la sauvegarde des VMs et des conteneurs. Les sauvegardes peuvent être enregistrées au format .vma, .tgz or .lzo .

Syntaxe :

vzdump [options] <vmid> [<vmid2> ...]

Où :

vmid est l’ID de la machine virtuelle ou du 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 alors qu’une machine virtuelle ou un conteneur est en cours d’exécution.
  • suspend – ce mode sert à suspendre la machine virtuelle ou le conteneur avant de sauvegarder, ce qui vous permet de garantir la cohérence des données. Le court temps d’arrêt causé par ce mode constitue un inconvénient.
  • stop – arrête la machine virtuelle ou le conteneur avant d’effectuer 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. Trois options de compression sont 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.

--storage <storage> spécifie la cible de stockage du 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 supprimées automatiquement si la limite est atteinte.

--remove <mode> supprime automatiquement les fichiers de sauvegarde selon le mode spécifié. Les modes disponibles sont les suivants :

  • old – enleve les anciennes sauvegardes lorsque de nouvelles sont créées.
  • fail – enleve uniquement les sauvegardes ayant échoué.

Sauvegarder plusieurs VMs

Sauvegarder les VMs avec les options IDs 101, 102et 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 VM 101 sur le stockage nommé local. Le stockage local peut être un répertoire local sur un hôte Proxmox ou un pool de stockage.
  • La compression gzip est utilisée. La création d’une sauvegarde chiffrée avec la compression gzip 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 enlevées automatiquement.

Omettre les fichiers journaux

vzdump 102 --exclude-path /var/log

Sauvegarde la VM 102 mais exclut le /var/log directory, ce qui réduit la taille de la sauvegarde en omettant les fichiers journaux.

Enlever les anciennes sauvegardes

vzdump 101 --storage nfs-backup --maxfiles 5 --remove old

Il s’agit d’une sauvegarde automatisée avec enlevement des anciennes sauvegardes. Il sauvergarde la VM 101, stocke la sauvegarde dans le nfs-backup et ne conserve que les 5 sauvegardes les plus récentes, en supprimant 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 qu’une sauvegarde nocturne) de toutes les VMs et de tous les conteneurs à l’aide du mode de sauvegarde par instantané. Les sauvegardes sont enregistrées sur un partage NFS nommé nfs-backup. La bande passante est limitée à 20 480 Ko par seconde (20 Mbps) pour éviter une surcharge du réseau. Seules les 7 dernières sauvegardes sont conservées, et 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 natifs de Proxmox 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 de sauvegarde que vous souhaitez restaurer. 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 machine virtuelle que vous souhaitez restaurer. Si l’ID de la machine virtuelle existe déjà, la machine virtuelle 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 machine virtuelle existante portant le même ID, sans demande de confirmation. Vous pouvez utiliser cette option pour restaurer une machine virtuelle lorsque vous acceptez de perdre l’état actuel de la machine virtuelle portant le même ID.

--unique est utilisé pour générer un nouvel ID de machine virtuelle unique pour une machine virtuelle 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 sur son stockage d’origine ou sur le stockage par défaut.

--pool <pool> vous permet d’affecter la VM restaurée à un pool de ressources spécifique dans l’environnement virtuel Proxmox. Les pools de ressources sont utilisés pour regrouper des machines virtuelles afin de faciliter leur gestion.

--hostname <name> définit le nom d’hôte de la machine virtuelle restaurée. Cette option est utile si vous souhaitez attribuer à la machine virtuelle restaurée un nom d’hôte différent de celui d’origine.

--name <name> définit un nom personnalisé pour la machine virtuelle restaurée (un nom qui s’affiche dans l’interface utilisateur de Proxmox), différent du VM-Name d’origine de la machine virtuelle qui a été sauvergardée.

Restaurer la machine virtuelle avec son ID d’origine

Restaurer une machine virtuelle avec 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 machine virtuelle ID 101. Si une machine virtuelle portant le nom ID 101 existe déjà, elle sera écrasée.

Récupération de la sauvegarde sur une nouvelle machine virtuelle

Récupération de la sauvegarde sur une nouvelle machine virtuelle :

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 machine virtuelle portant le nom ID 102, en stockant ses images disque sur le local-lvm .

Récupération et modification du nom d’hôte et du VM-Name

Récupération de la sauvegarde et modification du nom d’hôte et du VM-Name :

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"

Récupère la sauvegarde sur une nouvelle VM avec 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 des machines virtuelles, des conteneurs et d’autres types de données. L’outil proxmox-backup-client interagit avec un Proxmox Backup Server (PBS) pour gérer les sauvegardes

Syntaxe :

proxmox-backup-client <command> [options]

La 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 que vous souhaitez sauvegarder.

--repository <repository> est le référentiel de destination 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 sauve le répertoire /etc vers le répertoire datastore1 sur le serveur de sauvegarde Proxmox situé à l’adresse 10.10.10.101. La sauvegarde est stockée sous forme d’archive nommée etc.pxar.

Syntaxe de base de la commande de restauration

La commande de restauration des outils en ligne de commande proxmox-backup-client sert à restaurer des données depuis 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.

--repository <repository> 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 depuis datastore1 sur le serveur de sauvegarde Proxmox à l’adresse 10.10.10.101 vers le répertoire local /restore/etc.

Conclusion

Les commandes CLI de Proxmox constituent un ensemble d’outils puissants pour la gestion de l’environnement virtuel Proxmox, notamment le stockage, les VMs, les clusters, la sauvegarde des VMs, etc. Si vous souhaitez mettre en œuvre une stratégie complète de sauvegarde des VMs, installez NAKIVO Backup & Replication et utilisez la fonctionnalité de sauvegarde sans agent pour les VMs Proxmox VE.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte de crédit requise.

Les gens qui ont consulté cet article ont également lu