Phase 2 : Bonnes Pratiques pour VMs et Conteneurs LXC
1. Objectif de ce Document
Ce document n’est pas une procédure, mais un guide de recommandations à suivre lors de la création de nouvelles machines virtuelles (VMs) ou de nouveaux conteneurs (LXC) sur notre cluster Proxmox.
L’objectif est d’assurer la performance, la stabilité et la maintenabilité de notre environnement de virtualisation en faisant des choix intelligents et standardisés dès le départ.
2. Le “Pourquoi” : Construire des Voitures de Course, pas des Tracteurs
Créer une VM, c’est un peu comme assembler une voiture. On peut utiliser des pièces standards ou des pièces optimisées. En utilisant les “bonnes pratiques”, on s’assure que chaque VM est une voiture de course bien réglée plutôt qu’un tracteur lent et gourmand en ressources.
Ces optimisations, bien que simples, ont un impact énorme sur la performance globale de notre cluster.
3. Bonnes Pratiques pour les Machines Virtuelles (VMs)
Ces recommandations s’appliquent principalement à nos VMs Windows.
a) Utiliser les Pilotes VirtIO (le plus important !)
- Le Concept : Par défaut, Proxmox émule du matériel standard (une carte réseau Intel e1000, un disque IDE…). C’est compatible, mais lent, car l’OS invité (Windows) ne sait pas qu’il est virtualisé et l’hyperviseur doit “traduire” en permanence. Les pilotes VirtIO sont des pilotes “para-virtualisés”. Ils permettent à Windows de parler directement à l’hyperviseur Proxmox, sans traduction. C’est comme passer d’un interprète à une conversation en face à face.
- La Pratique :
- Lors de la création de la VM, dans l’onglet
Hard Disk, choisissezSCSIcommeBus/DeviceetVirtIO SCSIcommeController. - Dans l’onglet
Network, choisissezVirtIO (paravirtualized)commeModel. - Le Problème : L’installeur Windows ne connaît pas ces pilotes ! Votre disque dur n’apparaîtra pas pendant l’installation.
- La Solution : Montez une deuxième image ISO dans un lecteur CD virtuel : l’ISO
virtio-win.iso(disponible au téléchargement sur le site de Proxmox ou de Red Hat). Pendant l’installation de Windows, au moment de choisir le disque, cliquez sur “Charger un pilote” et naviguez dans le CD VirtIO pour trouver les pilotes pour votre version de Windows (Dossierviostor/w10/amd64par exemple). Le disque apparaîtra comme par magie.
- Lors de la création de la VM, dans l’onglet
b) Installer l’Agent Invité QEMU
- Le Concept : C’est un petit logiciel que l’on installe à l’intérieur de la VM (sous Windows ou Linux). Il permet une meilleure communication entre la VM et Proxmox.
- Les Bénéfices :
- Permet à Proxmox de voir l’adresse IP de la VM dans l’interface de résumé.
- Permet d’arrêter ou de redémarrer “proprement” la VM depuis l’interface Proxmox, sans avoir à se connecter à l’OS.
- Nécessaire pour réaliser des sauvegardes cohérentes (“snapshot”).
- La Pratique : Dans la VM Windows, montez l’ISO
virtio-win.iso. Explorez le CD et lancez l’installeurqemu-guest-agent-x86_64.msi.
c) Allouer les Ressources avec Parcimonie
- Le Concept : N’attribuez pas plus de CPU ou de RAM que ce dont la VM a réellement besoin. Les ressources inutilisées dans une VM sont des ressources gaspillées pour l’ensemble du cluster.
- La Pratique :
- Commencez petit : 2 vCPU et 4 Go de RAM sont souvent suffisants pour de nombreux services.
- Surveillez la consommation dans Proxmox. Si une VM utilise constamment 90% de sa RAM, augmentez-la. Si elle n’en utilise que 20%, vous pouvez la réduire.
4. Bonnes Pratiques pour les Conteneurs (LXC)
Les conteneurs sont déjà très performants, mais quelques règles permettent de les garder propres et gérables.
a) Utiliser les Templates Officiels
- Le Concept : Proxmox fournit une liste de “templates” de conteneurs officiels (Debian, Ubuntu, etc.) qui sont minimalistes, testés et optimisés.
- La Pratique : Pour télécharger ces templates, allez dans la vue de stockage (ex:
local) >CT Templates>Templates. Téléchargez la version de Debian que vous souhaitez utiliser. Lorsque vous créez un conteneur, vous pouvez alors le sélectionner comme base.
b) Conteneurs Privilégiés vs Non-Privilégiés
- Le Concept : Un conteneur “non-privilégié” (option par défaut à la création) est plus sécurisé. Il utilise un mappage d’utilisateurs qui fait que même l’utilisateur
rootà l’intérieur du conteneur n’a pas les droitsrootsur le serveur hôte Proxmox. C’est une couche de sécurité supplémentaire. Un conteneur “privilégié” n’a pas cette protection. - La Pratique :
- Utilisez toujours des conteneurs non-privilégiés par défaut.
- N’utilisez un conteneur privilégié que si une application l’exige spécifiquement (par exemple, si elle doit accéder directement à du matériel, ce qui est très rare).
En appliquant systématiquement ces quelques règles, nous nous assurons que notre infrastructure virtualisée restera performante, sécurisée et facile à gérer sur le long terme.