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.
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 :
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)”.
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.
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.
Il ne vous reste plus qu’à lancer le processus d’installation du système d’exploitation pour obtenir une VM parfaitement fonctionnelle.
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.
Éteignez la VM à exporter.
Dans l'interface web Proxmox, sélectionnez la VM.
Allez dans l'onglet "Sauvegarde".
Cliquez sur "Sauvegarder maintenant".
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”.
Cliquez sur "Sauvegarde" pour lancer l'export.
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 :
Décompresser le fichier gz avec la commande :
gunzip backup_vm1.vma.gz
.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é.
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 :
qm create 101
: crée une nouvelle machine virtuelle avec l'ID 101. Elle portera alors le nom par défaut.VM 101 --memory 1024
: alloue 1024 Mo (1 Go) de mémoire RAM à la VM.--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.--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.--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
À 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.