Top 10 Commandes CLI Proxmox que Chaque Administrateur Devrait Connaître

L’environnement virtuel Proxmox (VE) peut être géré avec une interface graphique conviviale dans un navigateur web. Cependant, dans des scénarios spécifiques, 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, le scripting 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 couvre les 10 principales commandes spécifiques à Proxmox avec des 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 des machines virtuelles (VM) 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, éditer, configurer, démarrer, arrêter et migrer des VM avec cette commande.

La syntaxe générale de la commande est :

qm [options] <commande> [arguments]

Liste des machines virtuelles

Vous pouvez voir l’état et l’ID de la VM. Vous aurez peut-être besoin de l’ID pour gérer cette VM dans la 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 bridée à 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 en utilisant 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 ISO Debian au lecteur de CD-ROM IDE de la VM pour l’installation d’un système d’exploitation invité ou d’autres usages.

Configurer l’ordre de démarrage

qm set 105 --boot order=ide2;scsi0

La commande utilisée dans cet exemple configure la VM pour démarrer d’abord à partir du CD-ROM (IDE2), puis du disque (SCSI0).

Démarrer une machine virtuelle

Syntaxe :

qm start <vmid>

Exemple :

qm start 103

Démarrer la VM avec l’ID 103

Arrêter une VM

qm stop <vmid>

Cette commande arrête immédiatement une VM en cours d’exécution. Cette méthode pour arrêter une VM est la même que de tirer la prise d’alimentation sur une machine physique.

qm stop 103

Arrêter la VM avec l’ID 103.

Éteindre une VM dans Proxmox CLI

qm shutdown <vmid>

Cette commande éteint 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 la mémoire, le disque et l’état 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“. Utiliser la commande pour prendre un instantané est utile avant d’effectuer des opérations risquées, telles que des mises à jour logicielles.

Restaurer l’état d’une VM à partir d’un instantané

qm rollback <vmid> <snapshotname>

Cette commande restaure une VM à un instantané précédent, restaurant son état au moment où l’instantané a été pris.

Par exemple, si la mise à jour logicielle à l’intérieur d’une VM a échoué, nous pouvons restaurer l’état de la VM avec la commande :

qm rollback 103 "before_upgrade"

Tout changement effectué depuis la prise de l’instantané est annulé (restauré).

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 identifiant différent. Vous pouvez choisir de cloner soit l’intégralité du disque (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, copiant toutes les données.

Agrandissement 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étrécissant. Assurez-vous que le système d’exploitation invité peut gérer le 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 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 rend la gestion du pare-feu dans tout l’environnement Proxmox plus pratique. L’outil pve-firewall est développé spécialement pour Proxmox VE et utilise une abstraction de haut niveau pour gérer les règles de pare-feu par rapport à l’approche plus granulaire et manuelle utilisée dans iptables.

Syntaxe :

pve-firewall <commande> [options]

Exécutez la commande pve-firewall pour voir l’utilisation principale de la commande.

Vérifier l’état

Vérification de l’état du service de pare-feu Proxmox VE :

pve-firewall status

La sortie affiche 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 de pare-feu sur le nœud Proxmox actuel :

pve-firewall start

Recharger le pare-feu

Rechargement du service de pare-feu et application des modifications de configuration du pare-feu sans avoir besoin d’arrêter et de redémarrer le service de 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 permettre 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 la règle

Pour supprimer la règle, utilisez la commande :

pve-firewall delete rule <rule-id>

Afficher les journaux

Affichez le journal du pare-feu, qui montre 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’outil en ligne de commande utilisé pour gérer la configuration du stockage dans Proxmox VE. Avec 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 dispositifs 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 (datastore) à lister.

Vérification de l’état de tous les pools de stockage ou de pools spécifiques

pvesm status

La sortie affiche l’état du pool de stockage, y compris des informations sur son statut (actif ou inactif), le type de stockage et l’utilisation actuelle.

Créer 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 pour le pool de stockage.

options définit les options supplémentaires spécifiques au type de stockage.

Exemple:

Créer un nouveau pool de stockage basé sur un répertoire nommé new-datastore1 situé à /mnt/storage-name, qui peut 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 à la commande pvesm create, mais au lieu de créer un nouveau stockage, le stockage qui existe déjà est ajouté à la configuration de Proxmox pour 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 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 :

La 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 avec des commandes CLI Proxmox en utilisant la commande pveum (gestion des utilisateurs). Les administrateurs Proxmox peuvent gérer des utilisateurs et des groupes et configurer des contrôles d’accès et des permissions. Cela, à son tour, définit qui peut avoir accès et est autorisé à agir sur les différentes parties de l’infrastructure Proxmox. Les administrateurs peuvent attribuer des permissions pour accéder à des objets, tels que des machines virtuelles, du stockage, des nœuds de cluster, etc.

Syntaxe :

pveum <command> [options]

Ajouter un nouvel utilisateur à Proxmox VE

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

Où :

mot de passe <password> est le mot de passe pour le nouvel utilisateur.

commentaire <comment> est un commentaire ou une description optionnelle pour l’utilisateur.

groupes <group> est le groupe (ou les groupes) auxquels l’utilisateur doit appartenir.

Exemple :

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – groupe admin" --groups admin

Cette commande est utilisée pour ajouter un utilisateur dont le nom est user2 au groupe admin avec une description et définir le mot de passe pour 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 "Groupe Équipe de Support"

Cette commande crée un nouveau groupe appelé support avec la description “Groupe Équipe de Support“.

Suppression d’un groupe

Tout comme pour la suppression d’un utilisateur, vous pouvez supprimer un groupe. Par exemple, pour supprimer un groupe invités, vous pouvez utiliser la commande :

pveum groupdel guests

Ajout de rôles

Les rôles sont utilisés pour définir un ensemble de permissions pour les utilisateurs et groupes auxquels ce rôle est attribué.

Syntaxe:

pveum roleadd <nomdurôle> --privs <permissions>

Où:

<nomdurôle> est le nom du rôle à créer.

privs <permissions> est une liste de permissions séparées par des virgules à 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 permissions pour gérer les paramètres d’alimentation des VM et configurer les CD-ROM.

Modification d’un rôle existant

Les administrateurs peuvent modifier les rôles et permissions existants avec la commande rolemod (ajouter ou supprimer des privilèges).

Syntaxe:

pveum rolemod <nomdurôle> --privs <permissions>

Exemple:

pveum rolemod vmmanager --privs +VM.Config.Network

Cette commande ajoute le privilège VM.Config.Network au rôle vmmanager.

Modification de la 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 aux utilisateurs ou groupes sur des objets Proxmox spécifiques.

Syntaxe:

pveum aclmod <chemin> --roles <nom_de_role> --users <identifiant_utilisateur> --groups <nom_de_groupe>

Où :

<chemin> est le chemin de l’objet sur lequel définir l’ACL (par exemple, /vms/100 pour une VM spécifique ou / pour l’ensemble du cluster).

roles <nom_de_role> est le rôle à attribuer.

users <identifiant_utilisateur> est l’utilisateur auquel le rôle est attribué.

groups <nom_de_groupe> 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 selon les privilèges du rôle vmmanager. La commande aclremove est utilisée pour supprimer les ACL des objets en conséquence.

Gestion des domaines d’authentification

Un domaine d’authentification définit comment les utilisateurs s’authentifient auprès du système (par exemple, en utilisant PAM, LDAP ou Active Directory). Vous pouvez gérer les domaines d’authentification avec la commande realm dans Proxmox VE.

Syntaxe :

pveum realm <commande> [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

supprimer pour supprimer un royaume existant

Par exemple, pour lister tous les royaumes 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 avec cette commande utilisateur.

Syntaxe :

pveum user <commande> <userid> [options]

Les commandes peuvent être :

lister pour lister tous les utilisateurs

modifier pour modifier les détails d’un utilisateur, comme changer un mot de passe ou mettre à jour le commentaire

supprimer 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 de ligne de commande Proxmox.

5. pvesh

En utilisant 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 qui peuvent être réalisées via l’interface web de Proxmox directement depuis la CLI Proxmox. La commande pvesh agit comme un shell pour l’API REST de Proxmox VE, vous permettant d’effectuer des appels API en utilisant des commandes directement depuis la ligne de commande. Avec cette commande, vous pouvez gérer des machines virtuelles, du stockage, des réseaux et d’autres éléments de l’infrastructure virtuelle Proxmox.

Syntaxe :

pvesh <commande> [options]

Liste des ressources ou des points de terminaison de l’API

Cette commande est similaire à la commande ls dans Linux, mais elle liste les chemins ou ressources API disponibles dans l’environnement Proxmox VE.

pvesh ls /path

Exemple :

pvesh ls /cluster/resources

Cette commande liste toutes les ressources dans le cluster Proxmox, y compris les machines virtuelles, les conteneurs et le stockage.

Récupérer des 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 pour des détails.

pvesh get /path

path est le chemin 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 CPU, 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 à faire une requête POST ou PUT dans l’API REST.

Syntaxe :

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

key value est la paire clé-valeur des paramètres que vous souhaitez modifier.

Exemple :

pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name

Cette commande change le nom de la VM 100 sur le nœud pve-node1 en new-vm-name.

Créer une ressource

La commande create vous permet de créer une nouvelle ressource, comme 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 avec 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 CPU.

Démarrage des VMs

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 éteint une VM ou un conteneur de manière ordonnée :

pvesh shutdown /path

Par exemple, pour éteindre 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émarrage de 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 qui est utilisé pour gérer et configurer un cluster Proxmox. Vous pouvez utiliser cet outil pour créer un cluster ainsi que pour rejoindre et gérer les nœuds au sein d’un cluster Proxmox. Un cluster est géré comme une seule entité avec des fonctionnalités de configuration, telles que la haute disponibilité, la migration de machines virtuelles en direct, le stockage partagé, etc.

Syntaxe :

pvecm <commande> [options]

Pour voir toutes les commandes pvecm supportées, 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 <nom-du-cluster>

Exemple :

La commande ci-dessous crée un cluster nommé cluster01. Ce nœud (où nous exécutons la commande) devient le nœud maître du cluster.

pvecm create cluster01

Ajout d’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 <ip-nœud-maître>

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 en ligne de commande de Proxmox pour supprimer un nœud du cluster.

Syntaxe:

pvecm delnode <nomdunoeud>

Exemple:

La commande pour supprimer le nœud nommé pve-node2 du cluster est:

pvecm delnode pve-node2

Lister tous les nœuds d’un cluster

La commande pour lister tous les nœuds du cluster et afficher leur statut, y compris les noms des nœuds et les 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 <nomdunoeud>

<nomdunoeud> est le nom du nœud que vous souhaitez désigner comme maître.

Afficher l’état du cluster

Vous pouvez afficher l’état d’un cluster Proxmox, y compris des informations sur le quorum, le nombre de nœuds et leurs rôles.

pvecm status

Définir le nombre de nœuds attendus

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 pour éviter des perturbations. Le quorum est utilisé pour éviter les situations de split-brain lorsque différents nœuds du cluster ont des informations conflictuelles sur l’état du cluster.

pvecm expected <nombre>

7. hamanager

La commande hamanager est utilisée pour gérer la fonction de Haute Disponibilité (HA) pour les 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 des VM critiques et de définir comment les redémarrer dans un cluster si le nœud sur lequel elles s’exécutent échoue. L’outil hamanager dans Proxmox CLI interagit avec le Gestionnaire de Haute Disponibilité Proxmox.

Syntaxe:

ha-manager <commande> [options]

Visualiser l’état

Pour voir l’état actuel des ressources HA, vous pouvez utiliser la commande :

ha-manager status

La sortie affiche des informations sur les VM ou CT configurés pour la HA, leur état actuel (démarré, arrêté), y compris l’état HA et l’état de basculement, ainsi que le nœud sur lequel ils s’exécutent.

Activation de la HA pour une VM

Syntaxe:

ha-manager add <vmid> --group <nomdugroupe> --max-restarts <n> --max-migrate-tries <n>

Où :

<vmid> est l’ID de la VM ou du CT que vous souhaitez ajouter à la HA.

groupe <nomdugroupe> est le groupe HA auquel la ressource doit être ajoutée (optionnel).

max-restarts <n> est le nombre maximum de tentatives de redémarrage si la ressource échoue.

max-migrate-tries <n> est le nombre maximum de tentatives de migration vers un autre nœud si la ressource ne peut pas être redémarrée.

Exemple :

Ajout d’une VM avec 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 VM

Utilisez la commande remove pour désactiver le statut de haute disponibilité d’une machine virtuelle et retirer la VM du gestionnaire HA.

ha-manager remove <vmid>

Par exemple, pour désactiver le statut HA pour la VM avec 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 dans le cluster avec 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 avec les outils natifs de Proxmox. Cette commande prend en charge la sauvegarde de VMs et de 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 VM ou d’un conteneur que vous souhaitez sauvegarder.

mode <mode> définit le mode de sauvegarde. Il existe trois modes de sauvegarde pris en charge :

  • instantané – 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 lorsque la VM ou le conteneur est en cours d’exécution.
  • suspendre – ce mode est utilisé pour suspendre la VM ou le conteneur avant de sauvegarder, ce qui vous permet de garantir que les données sont cohérentes. La courte interruption causée par ce mode est un inconvénient.
  • arrêter – arrête la machine virtuelle ou le conteneur avant d’effectuer la sauvegarde. Cette approche permet de préserver la cohérence des données de sauvegarde, mais nécessite un temps d’arrêt plus prolongé.

compresser <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. Cela peut être un répertoire local, un partage NFS ou un pool de stockage Proxmox.

maxfiles <n> limite le nombre de fichiers de sauvegarde à conserver. Les sauvegardes plus anciennes sont automatiquement supprimées si la limite est atteinte.

remove <mode> supprime automatiquement les fichiers de sauvegarde selon le mode spécifié. Les modes incluent :

  • ancien – supprime les anciennes sauvegardes lors de la création de nouvelles.
  • échec – supprime uniquement les sauvegardes échouées.

Sauvegarder plusieurs VM

Sauvegarder les VM avec les identifiants 101, 102 et 103 de manière séquentielle :

vzdump 101 102 103

Sauvegarder avec compression

vzdump 101 --storage local --compress gzip --maxfiles 3

La commande vzdump avec ces options effectue les actions suivantes :

  • Sauvegarde 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 compression gzip est utilisée. La création d’une sauvegarde crypté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 anciennes sont supprimées automatiquement.

Omettre les fichiers journaux

vzdump 102 --exclude-path /var/log

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

Supprimer les anciennes sauvegardes

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

Ceci est une sauvegarde automatisée avec la suppression des anciennes sauvegardes. Elle sauvegarde la VM 101, stocke la sauvegarde dans le stockage nfs-backup, et conserve uniquement les 5 sauvegardes les plus récentes, en supprimant automatiquement les sauvegardes plus anciennes.

Sauvegarder en mode instantané

vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7

Création de sauvegardes (comme une sauvegarde nocturne) de toutes les VM et conteneurs en utilisant le mode de sauvegarde instantané. Les sauvegardes sont enregistrées sur un partage NFS appelé nfs-backup. La bande passante est limitée à 20480 Ko par seconde (20 Mo/s) pour éviter une surcharge du réseau. Seules les 7 dernières sauvegardes sont conservées, et les sauvegardes plus anciennes sont automatiquement supprimé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 VM. Une sauvegarde peut être restaurée sur une nouvelle VM ou une VM existante.

Syntaxe:

qmrestore [options] <backupfile> <vmid>

Où:

<backupfile> est le chemin vers le 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 dispositif de stockage réseau.

<vmid> est l’ID de la VM que vous souhaitez restaurer. Si l’ID de la VM existe déjà, la VM existante sera écrasée à moins que des options spécifiques ne soient utilisées pour empêcher cela.

Options de la commande:

force est utilisé pour écraser une VM existante avec le même ID, et il n’y a pas de question de confirmation. Vous pouvez utiliser cette option pour restaurer une VM lorsque vous ne vous souciez 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 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 à son stockage d’origine ou au stockage par défaut.

pool <pool> vous permet d’assigner 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 la 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 pour la VM restaurée par rapport au nom d’hôte d’origine.

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 nom de VM d’origine qui a été sauvegardé.

Restaurer la VM à l’ID d’origine

Restoration d’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 à la VM avec l’ID 101. Si une VM avec l’ID 101 existe déjà, elle sera écrasée.

Récupérer la sauvegarde sur une nouvelle VM

Restauration de la sauvegarde sur 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, stockant ses images disque sur le stockage local-lvm.

Récupérer et changer le nom d’hôte et le nom de la VM

Restauration de la sauvegarde et changement du nom d’hôte et du nom :

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é en conjonction avec Proxmox Backup Server, une solution de sauvegarde native 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 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 <nom-archive> <chemin> --repository <répertoire> [options]

Où:

<nom-archive> est le nom que vous souhaitez donner à l’archive de sauvegarde.

<chemin> définit le chemin vers le répertoire ou le fichier que vous souhaitez sauvegarder.

repository <répertoire> est le répertoire cible sur le Proxmox Backup Server, généralement sous la forme de user@pbs:datastore

Exemple:

proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1

Cette commande sauvegarde le répertoire /etc dans le datastore1 sur le Proxmox Backup Server situé à 10.10.10.101. La sauvegarde est stockée sous la forme d’une archive nommée etc.pxar.

La syntaxe de base de la commande de restauration

La commande de restauration pour les outils en ligne de commande proxmox-backup-client est utilisée pour restaurer des données d’un Proxmox Backup Server vers le système local.

proxmox-backup-client restore <nom-archive> <chemin> --repository <répertoire> [options]

Où:

<nom-archive> est le nom de l’archive que vous souhaitez restaurer.

<chemin> est le chemin où les données doivent être restaurées.

repository <répertoire> est le répertoire où la sauvegarde est stockée.

Exemple:

proxmox-backup-client restore etc.pxar /restore/etc --repository root@[email protected]:datastore1

Cette commande restaure l’archive etc.pxar à partir de datastore1 sur le Proxmox Backup Server à 10.10.10.101 vers le répertoire local /restore/etc.

Conclusion

Les commandes CLI de Proxmox sont un ensemble d’outils puissants pour gérer l’environnement virtuel Proxmox, y compris le stockage, les machines virtuelles, les clusters, la sauvegarde des VM, etc. Si vous souhaitez mettre en œuvre une stratégie de sauvegarde complète pour les VM, installez NAKIVO Backup & Replication et utilisez la capacité de sauvegarde sans agent pour les VM Proxmox VE.

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/