Installer Proxmox VE pour un homelab
Installation de Proxmox VE sur un mini-PC, configuration réseau et ajout de stockage NVMe avec ZFS.
Tutoriel simplifié : installation de Proxmox VE
Qu’est-ce que Proxmox ?
Proxmox est une plateforme open source de gestion de la virtualisation qui combine deux technologies :
- KVM pour la virtualisation complète.
- LXC pour la virtualisation par conteneurs.
Il fournit une interface web pour gérer les machines virtuelles (VM), les conteneurs et les ressources de stockage.
La migration à chaud, les sauvegardes et les clusters sont disponibles dès l’installation.
La plateforme convient aussi bien aux entreprises qu’aux homelabs et s’appuie sur une communauté solide.
Cas d’usage
Proxmox est un terrain de jeu pour les passionnés de technique : il associe KVM et LXC dans une interface web facile à utiliser. On peut expérimenter, déployer des VM en un clin d’œil, améliorer son réseau domestique et, bien sûr, presque tout auto-héberger !
Mon matériel
Pour construire un homelab efficace et polyvalent, le Beelink EQ12 Pro m’a semblé prometteur. Ce mini-PC embarque un processeur Intel Core i3 N-305 de la gamme Alder Lake-N, avec huit cœurs E.
J’ai trouvé ce mini-PC d’occasion en France pour 170 $, une bonne affaire. J’ai ensuite ajouté 32 Go de RAM DDR5 pour 65 $.
Avantages
- Deux ports LAN 2,5 GbE avec contrôleurs Intel i225-V B3.
- Consommation modérée : de 9 à 36 W.
Inconvénients
- PCIe : le SSD NVMe utilise une liaison PCIe Gen3 x1, ce qui limite son débit maximal à environ 750 Mb/s :(.
- Mémoire : le support annoncé se limite à 16 Go en simple canal, mais j’utilise 32 Go sans avoir rencontré de problème pour le moment.
- Le boîtier fait bon marché, avec beaucoup de plastique.
Autres éléments
J’utilise aussi ce type de station d’accueil pour ajouter du stockage sur disques de 3,5 pouces. Je ne peux pas vraiment la recommander, mais elle fonctionne.
J’ai remplacé la carte Wi-Fi, devenue inutile puisque j’utilise uniquement Ethernet, par un second disque NVMe. Vous trouverez les détails à la fin de l’installation, en bas de ce chapitre.
Prérequis
- Image ISO de l’installateur Proxmox VE.
- Clé USB ou CD-ROM pour l’installation.
- Serveur compatible avec Debian Linux 64 bits.
Pour préparer une clé USB de démarrage, vous pouvez utiliser Rufus ou balenaEtcher, par exemple. L’ISO est disponible ici :
https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso
Étapes d’installation
Configuration du BIOS
Avant ou après l’installation de Proxmox, modifiez quelques options du BIOS pour améliorer la virtualisation et activer les fonctionnalités proposées par le firmware.
1. Préparation
- Insérez le support d’installation préparé, clé USB ou CD-ROM, dans le serveur.
- Vérifiez que le démarrage sur ce support est activé dans les paramètres du firmware.
2. Démarrer l’installateur
- Démarrez sur le support d’installation.
- Choisissez
Install Proxmox VE (Graphical)pour une installation graphique, ou une autre option si nécessaire. - Lisez et acceptez le contrat de licence utilisateur final (EULA).
3. Choisir le disque cible
- Sélectionnez le ou les disques de destination, en gardant à l’esprit que toutes les données existantes seront effacées.
- hdsize : taille totale du disque à utiliser.
- swapsize : taille de la partition swap.
- maxroot : taille maximale de la partition racine.
- maxvz : taille maximale de la partition de données.
- minfree : espace libre à conserver dans le groupe de volumes LVM.
Vous pouvez personnaliser les tailles de partitions par défaut. Si vous avez le matériel et les connaissances nécessaires, une configuration ZFS pour Proxmox peut être intéressante.
Personnellement, je préfère installer Proxmox sur un seul SSD et configurer ZFS séparément pour mes VM sur ce mini-PC. Son matériel est moins robuste qu’un serveur : pas de contrôleur RAID, mémoire sans ECC et nombre limité de disques.
Mon pool ZFS n’a aucune redondance. Je l’utilise uniquement pour accélérer le stockage avec deux disques NVMe en RAID 0. Je conserve les sauvegardes de mes VM sur un stockage distinct du pool ZFS pour faire face à une corruption ou à une instabilité.
- Choisissez les paramètres de base : localisation, fuseau horaire et disposition du clavier.
- Définissez le mot de passe du superutilisateur root et une adresse électronique pour les notifications système.
4. Configuration réseau
- Configurez les interfaces réseau disponibles. Vous pouvez définir une adresse IPv4 ou IPv6.
- Choisissez une adresse IP statique qui n’est pas déjà utilisée. Vous pouvez l’attribuer en configurant votre serveur DHCP et en la définissant dans le fichier de configuration réseau de l’hôte Linux.
- L’interface de gestion sert à accéder à l’interface web : choisissez-la avec soin. Vous pouvez aussi prévoir une configuration plus avancée pour administrer le nœud Proxmox uniquement depuis un VLAN précis.
- Le nom d’hôte du nœud Proxmox n’est pas facile à changer après l’installation. Choisissez-le soigneusement. Techniquement, il peut être modifié, mais cela demande de supprimer les VM existantes.
Dans cet exemple, j’utilise les DNS de Google, mais vous pouvez utiliser ceux de votre routeur ou de votre fournisseur d’accès. Un autre tutoriel peut aussi vous aider à installer votre propre résolveur ou relais DNS, par exemple Pi-hole ou un routeur pfSense.
5. Récapitulatif et installation
- Relisez les paramètres du récapitulatif et corrigez-les si nécessaire.
- Cliquez sur
Installpour commencer l’installation, puis attendez la fin de la copie des paquets.
- Une fois l’installation terminée, retirez le support d’installation et redémarrez.
- Après le redémarrage, ouvrez l’interface web de Proxmox VE à l’adresse IP définie pendant l’installation, par exemple
https://youripaddress:8006. - Connectez-vous avec l’utilisateur root et le mot de passe choisi précédemment.
6. Félicitations !
Vous pouvez maintenant vous connecter à votre nouveau nœud Proxmox ! :)
Ajouter des disques NVMe
Comme vu précédemment, ce mini-PC possède :
- Un port SATA pour disque de 2,5 pouces.
- Un port NVMe au format 2280.
- Et… un emplacement de carte Wi-Fi au format 2230.
Le port NVMe est relié par une ligne PCIe 3.0 x1. C’est frustrant : on obtient environ 800 Mo/s en lecture et en écriture, alors que le disque peut facilement atteindre environ 1 500 Mo/s. Cette liaison PCIe limite fortement ses performances.
Eh bien, l’emplacement Wi-Fi peut lui aussi être transformé en emplacement de stockage. Il utilise également une liaison PCIe 3.0 x1. Le but est d’avoir deux disques NVMe utilisables en mode stripe, aussi appelé RAID 0, pour améliorer le débit du stockage.
Il faut acheter un adaptateur de clé « M2 A/E » vers clé « M2 M ». Comme la place manque dans ces petits PC, vous devrez casser le circuit imprimé à la limite du format 2230.
Ce n’est pas facile, mais je vous assure que cela fonctionne !
Ces adaptateurs coûtent environ 5 $, et un disque NVMe de 512 Go au format 2230 environ 30 $.
Voici comment installer l’adaptateur :
Le disque est maintenu avec une sangle élastique livrée avec un dissipateur NVMe. L’adaptateur possède une vis, mais elle ne permettait pas de faire tenir correctement le disque dans mon boîtier. J’ai donc utilisé la sangle à la place.
J’ai aussi dû améliorer le refroidissement pour empêcher le disque de réduire constamment sa fréquence à cause de la température. Vous pouvez ajouter un dissipateur comme celui-ci :
Le manque de place est un vrai problème. La protection thermique en cuivre n’apportait pas d’amélioration.
Pour réduire les températures, j’ai ajouté un pad thermique fin sur la protection en cuivre. Après avoir refermé le boîtier, j’en ai ajouté un autre sur le disque NVMe 2280.
Comme vous pouvez le voir, la solution n’est pas idéale. Le NVMe 2280 est fortement courbé et j’espère que la sangle élastique du NVMe 2230 évite tout contact direct avec le circuit imprimé situé dessous. Dans mon cas, tout fonctionne pourtant sans problème : après un test de charge des disques, je ne dépasse pas 67 °C pour le NVMe 2230 et 64 °C pour le NVMe 2280.
Le premier démarrage fait un peu peur ;/
Stockage ZFS dans un pool RAID 0
apt-get install zfsutils zfs-initramfs systemctl status zfs-import-cache.service
| systemctl list-units | grep zfs |
Création du pool
1
2
3
zpool create yourpoolname /dev/sdX /dev/sdY
#in my case :
zpool create ZFS_NVME_ARRAY /dev/nvme1n1 /dev/nvme0n1
Vérifiez que le pool a été créé :
1
zpool status
Qu’est-ce qu’un pool ?
- Il gère les périphériques physiques de stockage.
- Il définit la configuration et la redondance des disques : RAID-Z, miroir, etc.
Création d’un dataset
Créons un dataset dans ce pool :
1
2
3
zfs create yourpoolname/datasetname
#in my case :
zfs create ZFS_NVME_ARRAY/vmdata
Qu’est-ce qu’un dataset ?
- Un système de fichiers ou un périphérique de stockage bloc créé dans le pool.
- Il hérite de nombreuses propriétés du pool, comme la compression et les quotas, tout en pouvant avoir ses propres paramètres.
- Il permet d’organiser le stockage hiérarchiquement à l’intérieur du pool.
Régler le paramètre ARC
ARC signifie Adaptive Replacement Cache, un algorithme de mise en cache des données en DRAM. ZFS peut utiliser une quantité importante de RAM comme cache ; on peut la limiter en ajustant ses fichiers de configuration.
Plus d’informations dans ma cheatsheet ZFS.
dmesg | grep zfs zfs create tank/vmdata zfs create ZFS_NVME_ARRAY/vmdata zfs list
vim /etc/modprobe.d/zfs.conf
cat /etc/modprobe.d/zfs.conf options zfs zfs_arc_max=4294967296
Ce tutoriel couvre les étapes de base de l’installation et de la configuration de Proxmox VE. Pour aller plus loin, consultez la documentation officielle.














