• 4 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 03/12/2024

Plongez dans Proxmox VE

Pilotez Proxmox VE

En explorant Proxmox VE, vous découvrirez deux façons passionnantes de gérer votre environnement : l'interface web et la ligne de commande. Chacune a ses atouts !

Attention l’accès web nécessite évidemment une connectivité entre votre serveur Proxmox (ici une VM), et le client (ici la machine hôte) qui s’y connecte. Pour moi, la connectivité concerne l'utilisation d'un câble (physique ou virtuel) et des adresses IP au sein d'un même réseau. Si vous ne maîtrisez pas les bases du réseau, je vous conseille de jeter un coup d'œil au cours dédié aux réseaux TCP/IP.

Diagramme montrant une communication entre un client web (hôte) et un serveur Proxmox VE via une requête web. Le client accède à l'interface web de Proxmox VE (HTTP://192.168.56.103), et la ligne de commande (LLI) est accessible depuis le serveur.
Les 2 méthodes de pilotage de Proxmox VE d’un point de vue réseau
Interface Web

L'interface web est comme un tableau de bord intuitif qui vous permet de naviguer facilement de manière graphique avec de jolies fenêtres. Vous pouvez entre autres :

  • créer et gérer vos machines virtuelles et conteneurs en quelques clics ;

  • surveiller les performances avec des graphiques clairs ;

  • configurer le stockage et les réseaux sans lignes de code ;

  • effectuer des sauvegardes et des migrations simplement.

C'est parfait pour ceux qui aiment une approche visuelle et directe !

Pour y accéder il suffit, sur une machine appartenant au même réseau que votre serveur Proxmox VE, d’ouvrir un navigateur et d’entrer dans la barre d’adresse, l’adresse IP du serveur suivi de son port d’écoute. Dans notre cas il faut entrer :

http://192.168.56.103:8006 

Ligne de Commande

La ligne de commande, quant à elle, offre un contrôle total. Elle vous permet en plus des options de :

  • automatiser des tâches avec des scripts ;

  • accéder à des fonctionnalités avancées (ajuster à chaud la RAM ou le nombre de CPU d’une VM, réaliser des configurations réseau spécifiques, surveiller en temps réel l’utilisation des ressources…) ;

  • gérer votre environnement à distance via SSH ;

  • exécuter des opérations en masse rapidement.

Si vous aimez les défis, la CLI est faite pour vous !

Pour y accéder, aucune configuration réseau n’est nécessaire car la CLI s’utilise directement depuis le serveur Proxmox VE lui-même. Les commandes qui vous seront utiles seront notamment :

  • qm pour créer, supprimer, modifier une VM ;

  • pct pour créer, supprimer, modifier un conteneur ;

  • pvesm pour gérer le stockage ;

  • pvecm pour gérer les cluster ;

  • vzdump etqmrestore pour manipuler les sauvegardes ;

  • pveperf pour voir les indicateurs de performances ;

  • pveum pour gérer les utilisateurs.

Ce sont les commandes les plus utiles même s’il en existe d’autres. Vous pouvez d’ailleurs trouver la liste complète sur le site officiel de Proxmox VE.

Quelle méthode choisir ?

Ces deux méthodes se complètent parfaitement. Utilisez l'interface web pour les tâches quotidiennes et la ligne de commande pour des opérations avancées. En entreprise, le choix dépend de la taille de l'infrastructure, des compétences de l'équipe et des besoins spécifiques.

N'hésitez pas à tester les deux !

Créer une VM simplement avec un ISO

Dans le monde des machines virtuelles, il y a toujours plusieurs manières de créer une VM : l’installer manuellement ou récupérer (sur internet ou via un export ou un clone) une VM existante.

Voyons ici comment créer et installer une VM toute neuve avec l’interface web :

Commençons par récupérer l’ISO (le fichier d’installation). Prenez le système d’exploitation de votre choix, mais de mon côté je vais partir sur une Alma Linux 9.4, que vous pouvez télécharger en cliquant sur le lien.

Une fois le fichier récupéré, vous allez pouvoir le transférer directement sur votre serveur via l’interface web (très pratique !). Pour cela dans le panneau latéral de l’interface graphique entrez dans “Centre de données>pve>local(pve)” puis rendez-vous dans l’onglet “Images (ISO)”.

Capture d'écran d'une fenêtre contenant les images ISO déjà présentes sur votre serveur. Allez dans le panneau latéral, entrez dans “Centre de données, puis pve , puis local(pve)” puis rendez-vous dans l’onglet “Images (ISO) Ici il n’y a
Fenêtre contenant les images ISO déjà présentes sur votre serveur. Ici il n’y en a aucune.

Cliquez ensuite sur “Téléverser” pour aller récupérer l’image ISO téléchargé juste avant. Une fenêtre vous indiquera que la tâche s’est déroulée avec succès.

Il ne vous reste plus qu’à cliquer en haut sur le bouton bleu “Créer une VM” et à remplir les différents champs pour :

  • lui donner un nom de votre choix (VM1 par exemple) ;

  • utiliser le fichier d’installation ISO nouvellement importé ;

  • définir l’espace de stockage dont disposera la VM (j’ai choisi 8Go) ;

  • le nombre de coeurs (1 seul) et la mémoire (2048Mo) ;

  • la configuration réseau (valeurs par défaut).

Vous êtes libre d’entrer dans une configuration plus poussée de votre VM mais dans le cadre de ce cours nous resterons pour l’instant sur les paramètres par défaut permettant d’obtenir rapidement notre première VM.

Capture d'écran du récapitulatif des caractéristiques de la VM. En bas de l'écran est la case Démarrez après Création, qu'il faut cocher.
Récapitulatif des caractéristiques de la VM.

Cochez la case “Démarrez après création” pour lancer directement la VM après validation.

Vous voyez la VM apparaître sur le panneau latéral gauche et l’onglet “Console” vous permet de voir son écran.

Capture d'écran de la virtual machine. Dans le panneau latéral nous avons dans PVE, 100 (VM1) et nous voyons le console ouvert, avec Alma Linux 9.4 affiché.
Écran de la VM.

Il ne vous reste plus qu’à lancer le processus d’installation du système d’exploitation pour obtenir une VM parfaitement fonctionnelle.

Capture d'écran de la connexion à la VM nouvellement créée. Nous avons le console avec des lignes pour saisir le mot de passe.
Connexion à la VM nouvellement créée.

Exportez une VM pour la sauvegarder

L’exportation vous permet de sauvegarder complètement une VM (caractéristiques matérielles, nom, configuration logicielle, stockage) à un instant donné pour pouvoir l’importer par la suite dans un autre hyperviseur ou simplement la sauvegarder. Typiquement, si votre entreprise décide soudainement de changer d’hyperviseur pour passer sous Hyper-V, vous allez devoir exporter toutes les VMs présentes sur votre Proxmox VE.

Voilà la marche à suivre si vous souhaitez exporter une VM.

  1. Éteignez la VM à exporter.

  2. Dans l'interface web Proxmox, sélectionnez la VM.

  3. Allez dans l'onglet "Sauvegarde".

  4. Cliquez sur "Sauvegarder maintenant".

Capture d'écran de l'onglet sauvegarde de la VM. Nous sommes toujours dans 100 (VM1) mais au lieu d'aller dans console, on choisi Sauvegarde. L’onglet est vide pour l’instant car sans sauvegarde existante.
Onglet sauvegarde de la VM. L’onglet est vide pour l’instant car sans sauvegarde existante.

Ensuite, sélectionnez le stockage de destination. Nous n’en avons qu’un seul : le stockage “local” qui est situé sur le disque dur de Proxmox VE. Le champs “mode” permet de sélectionner l’état dans lequel vous voulez retrouver la VM sauvegardée. Dans notre cas nous sauvegardons une VM éteinte, il faut donc sélectionner “stopper”.

Capture d'écran. Nous avons l'écran avec les options de sauvegarde : stockage, mode, protégé, notes, compression, mode de notification, envoyer un courriel à. Nous avons aussi les variables de modèle qui sont possibles.
Vous remarquez par la même occasion que la traduction française de l’interface n’est pas toujours hyper compréhensible.
  1. Cliquez sur "Sauvegarde" pour lancer l'export.

  2. Une fois terminé, vous trouverez le fichier .vma dans le stockage choisi.

Si jamais votre VM venait à être supprimée, vous pourrez alors utiliser ce fichier pour la restaurer. Pour cela il suffit de sélectionner le fichier et de cliquer sur “Restaurer”. Vous pouvez ensuite éventuellement renommer la VM, et changer quelques caractéristiques matérielles comme la RAM.

Si vous souhaitez importer cette sauvegarde sur un autre hyperviseur, tout en gardant en tête que des problèmes de compatibilité peuvent survenir, la procédure est la suivante :

  1. Décompresser le fichier gz avec la commande :

    gunzip backup_vm1.vma.gz.

  2. Convertissez le fichier vma en fichier raw :vma extract backup_vm1.vma --output-format=raw.

    La raw étant un format universel. Cette conversion vous fera perdre les caractéristiques matérielles de la VM (périphériques, RAM, cartes réseau…) mais le contenu du disque dur est conservé.

  3. Enfin, en fonction de l'hyperviseur de destination vous devrez convertir ce fichier dans le format adéquat. Exemple pour importer la VM sous Hyper-V, il faudra d’abord convertir le fichier en vhdx avec la commande :qemu-img convert -f raw -O vhdx fichier.raw fichier.vhdx.

Voici un petit tableau récapitulatif des formats de fichiers de disques virtuels en fonction des hyperviseurs :

 

Hyper-V

Virtualbox

VMWare (vSphere, Workstation)

KVM/QEMU (Proxmox VE, RHV)

Format natif

VHD, VHDX

VDI

VMDK

QCOW2, RAW

Autres formats supportés

VMDK (avec conversion préalable)

VMDK, VHD, VHDX, RAW

VHD,VHDX (en lecture seule)

VMDK, VDI, VHD, VHDX (avec conversion préalable)

Dans tous les cas, pour des raisons de performance il est toujours recommandé d’utiliser le format natif d’un hyperviseur.

Créer une VM avec un fichier disque

Nous avons vu en début de chapitre comment créer une VM de A à Z, en installant complètement le système d’exploitation. Mais heureusement il existe une méthode plus rapide (ouf !) :

Cette méthode de création consiste à récupérer l’image d’une VM déjà installée. Et c’est justement ce que nous avons fait juste avant lorsque nous avons importé une VM qu’on venait de sauvegarder.

Ok mais où est-ce que je trouve ce genre d’image disque ?

Comme je viens de l’évoquer, l’image disque d’une VM provient d’un export (ou sauvegarde). Vous pouvez donc en récupérer :

  • à partir de sauvegardes que vous auriez fait ;

  • sur internet, sur des sites qui mettent à disposition des disques de VMs déjà installées par d’autres ;

  • avec des outils qui permettent de générer des images disques comme virt-builder.

Un des sites de confiance permettant de récupérer des images disque est les suivant :

https://app.vagrantup.com/bento

Il s’agit d’un site créé et maintenu par les développeurs de Vagrant (un outil permettant entre autres de créer des machines virtuelles). Ce site propose une banque de données d’images de VMs, que chacun est libre d’enrichir et d’utiliser. Les développeurs recommandent et valident toutes les images mises à disposition par l’utilisateur “bento”. Vous êtes donc garantis d'obtenir des VMs fonctionnelles en utilisant le lien fourni.

Je vous invite donc à essayer en téléchargeant une VM de votre choix directement sur votre serveur Proxmox avec la commande wget (ici nous testerons avec le disque d’une VM debian 12.6) :

wget https://app.vagrantup.com/bento/boxes/debian-12.6/versions/202407.22.0/providers/virtualbox/amd64/vagrant.box

Attention si vous voulez utiliser la commande wget sur votre serveur Proxmox, il faudra d’abord qu’il ait internet.

Si ce n’est pas le cas, entrez la commande :ip route del default && dhclient.

Cela aura pour effet de remplacer la passerelle par défaut par une passerelle valide.

Vous verrez dans le prochain chapitre comment rendre cette configuration persistante.

Il faudra ensuite décompresser le fichier vagrant.box (spécifique aux VM Vagrant) pour obtenir une image disque. Pour le décompresser dans un répertoire “images_vm” préalablement créé  :

tar -xvf vagrant.box -C images_vm/.

Enfin utiliser cette commande incroyable pour créer une nouvelle VM en y attachant le disque téléchargé :

qm create 101 --memory 1024 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-single --scsi0 local-lvm:0,import-from=/root/images_vm/debian-12.6-amd64-disk001.vmdk,format=vmdk

Cette dernière commande très puissante permet de créer une VM en lui spécifiant les caractéristiques matérielles voulues, puis en lui attachant un nouveau disque dur importé à partir du fichier disque téléchargé.

Vous avez sans doute remarqué qu’il n’est même pas indispensable de convertir le disque vmdk en qcow2 par exemple. Mais gardez en tête que pour éviter les problèmes, mieux vaut toujours utiliser le format natif de l’hyperviseur utilisé.

Voici le détail exact des paramètres de cette dernière commande pour que vous puissiez l’adapter à vos besoins :

  1. qm create 101 : crée une nouvelle machine virtuelle avec l'ID 101. Elle portera alors le nom par défaut.

  2. VM 101 --memory 1024 : alloue 1024 Mo (1 Go) de mémoire RAM à la VM.

  3. --net0 virtio,bridge=vmbr0 : configure la première interface réseau (net0)en la reliant à l’interface principale de proxmox (vmbr0) et utilise le pilote virtio pour de meilleures performances.

  4. --scsihw virtio-scsi-single : définit le contrôleur SCSI comme virtio-scsi-single, qui est généralement plus performant et est indispensable pour que la VM démarre dans notre cas.

  5. --scsi0 local-lvm:0,import-from=/root/images_vm/debian-12.6-amd64-disk001.vmdk,format=vmdk  : indique que le disque scsi0 de la VM sera stocké sur local-lvm mais qu’on ne spécifie pas sa taille (valeur “0”) car elle va être définie par le fichier spécifié après “import-from”.

Vous voyez que dans ce cas précis, utiliser des commandes plutôt que l’interface web est beaucoup plus rapide. C’est donc indispensable que vous vous familiarisiez avec les plus utilisées.

Une dernière chose : vous avez remarqué que par défaut votre serveur Proxmox possède 2 espaces de stockage (local et local-lvm) qui ont tous 2 des usages différents :

local :

  • Type : Répertoire

  • Emplacement : /var/lib/vz

  • Usage : ISO, sauvegardes, templates

  • Partie du système de fichiers racine

local-lvm :

  • Type : LVM (Logical Volume Manager) 

  • Emplacement : /dev/pve/data

  • Usage : Disques virtuels des VMs et conteneurs LXC

  • Avantages : Thin provisioning, clones, snapshots 

    Schéma d’un système de fichiers montrant les répertoires principaux
    Emplacement des 2 espaces de stockage par défaut sous Proxmox VE

À vous de jouer !

Vous êtes stagiaire au sein du service IT de la société TechInnovate, une entreprise de développement logiciel en pleine croissance. Le directeur marketing souhaite mettre en place rapidement un nouveau site web vitrine pour présenter les services de l'entreprise aux clients potentiels.

Mission

Votre responsable vous confie la tâche de déployer un serveur web pour héberger ce nouveau site. L'infrastructure de l'entreprise repose sur Proxmox VE, et pour des raisons de stabilité et de sécurité, la direction a choisi d'utiliser Debian comme système d'exploitation.

Vous êtes libre d'utiliser la méthode de votre choix pour créer ce serveur web virtuel (installation complète ou téléchargement de VM existante, ligne de commande ou non etc…) et vous choisirez vous-même les caractéristiques matérielles de la VM.

Une fois que vous avez fini, vous avez ce corrigé à disposition.

En résumé

  • Proxmox VE permet la création de machines virtuelles à partir d'un fichier ISO, suivi de l'installation et de la configuration de la VM via une interface web.

  • Deux méthodes de gestion sont disponibles : l'interface web pour un usage intuitif, et la ligne de commande pour une gestion plus fine et rapide.

Vous avez créé vos premières VMs, mais comment les faire communiquer ? Voyons ensemble comment les mettre en réseau efficacement.

Exemple de certificat de réussite
Exemple de certificat de réussite