Le Raspberry Pi 5 est une évolution majeure du nano ordinateur. Il propose toujours plus de puissance, par exemple la mémoire qui passe à de la DDR4X contre de la simple DDR4 sur le Raspberry Pi 4 lui offre une vitesse de transfert en moyenne 5 fois plus rapide (30000Mo transféré à la seconde contre 5000Mo en moyenne avec le Rpi4). Le processeur Cortex A72 quant à lui permet des performances 2 à 3 fois supérieures par rapport au processeur du Raspberry Pi 4.
Un Rpi 4 qui est déjà très rapide et puissant alors je vous laisse imaginer toute la puissance que le Rpi5 à sous le pied. Tellement de puissance qu’il devient presque dommage de n’utiliser que pour un projet unique ou un petit projet qui le sous-exploiterait.
Mais alors pourquoi ne pas viser un projet ambitieux, à la hauteur de la puissance du Raspberry pi 5 ?
De là à faire du Rapberry Pi 5 un hyperviseur Proxmox pour la virtualisation, il n’y a qu’un pas. Il y a bien d’autres projets où la performance du Rpi5 sera utile, mais dans une logique axée smart home, la virtualisation est un axe intéressant que j’ai voulu explorer. Vous avez également été nombreux à me poser la question et à me demander un guide pour y parvenir, alors je m’y suis collé. Cela n’a pas forcément été simple car il y a pas mal de forums qui traitent le sujet sur la toile mais j’ai essuyé pas mal de problèmes à chaque tentatives. Après plusieurs jours d’études et d’investigations, j’ai enfin réussi à élaborer un guide pas à pas qui permet de faire un serveur de virtualisation avec le Raspberry pi 5 fonctionnel, stable et qui ne demande qu’à proposer sa puissance au service de votre installation.
Découvrons alors sans plus attendre comment déployer Proxmox sur le Raspberry pi 5 et y embarquer la domotique Home Assistant pour une domotique hautement rapide, performante et sécurisée. Tout cela avec un simple Raspberry Pi !
La liste du matériel pour faire du Raspberry Pi 5 un serveur Proxmox
Pour parvenir à mettre en oeuvre ce guide au domo-lab et disposer d’un serveur au meilleur de ses conditions physiques, j’ai utilisé le Raspberry Pi 5 avec les accessoires suivants.
Raspberry Pi 5
Accessoires
NVMe
Préparation du média de stockage du Raspberry Pi 5
Maintenant que nous avons fait l’inventaire du matériel nécessaire passons à la préparation du support de stockage. L’installation du système d’exploitation du Raspberry Pi5, Raspberry Pi OS dans sa dernière déclinaison Bookworm qui s’appuie sur une Debian 12. Tout cela se fait très simplement à l’aide du logiciel officiel de la fondation Raspberry Pi Imager. Si vous ne savez pas comment l’utiliser, suivez notre guide pas à pas ici.
Pour optimiser les performances du Raspberry Pi 5, je vous recommande d’installer la version Lite de Raspberry Pi OS. L’interface graphique n’étant pas utile pour notre projet, autant économiser les ressources et les utiliser au profit de Proxmox.
N’oubiez pas de passer par les options de personnalisation de Raspberry Pi OS dans Imager pour permettre l’activation du protocole SSH, du Wi-Fi et la définition d’un mot de passe robuste pour administrer votre Raspberry Pi 5 à distance via un terminal.
Démarrage et préparation du Raspberry Pi 5 pour Proxmox
Une fois Raspberry Pi OS écrit sur le disque NVMe, il ne vous reste plus qu’à le monter sur le Raspberry Pi 5 et assembler les différents accessoires. Si vous n’avez pas encore utilisé de disque NVMe avec votre Raspberry Pi 5, n’oubliez pas de suivre notre premier guide ci-dessous qui explique comment configurer le Raspberry pi 5 pour prendre en charge les SSD NVMe via le port PCIe et permettre le démarrage dessus.
Comment configurer le boot PCIe NVMe sur Raspberry pi 5?
Le Raspberry pi 5 est le dernier né de la fondation Raspberry Pi. Nous l’avions vu au lancement puis à notre première prise en main, ce Raspberry pi 5 au-delà de proposer plus de puissance, propose également un port PCIe…
Une fois votre Raspberry Pi 5 assemblé, démarré et joignable sur le réseau local, il est temps de passer aux choses sérieuses avec la préparation du système pour Proxmox.
Commencez par ouvrir une connexion SSH sur le Raspberry Pi à l’aide de Putty si vous utilisez Windows, ou du terminal si vous êtes sous linux ou macOS puis comme toujours après une installation fraîche sous Linux, on commence par effectuer les mises à jour.
sudo apt-get update
sudo apt-get upgrade
Configuration réseau en IP fixe
Nous allons commencer par l’édition du fichier dhcpcd.conf de sorte à définir une adresse IP fixe à notre Raspberry Pi. Un pré-requis obligatoire au bon déroulement de ce guide, car Proxmox comme tout hyperviseur aura besoin de faire un bridge sur cette adresse de sorte à proposer un maillage réseau interne aux machines virtuelles.
Editez alors le fichier dhcpcd.conf avec la commande suivante dans le terminal.
nano /etc/dhcpcd.conf
Puis collez-y les quelques lignes suivantes en veillant à adapter à votre configuration réseau. 10.0.0.1 étant l’adresse du routeur et du dns chez moi et 10.0.0.38/24 l’adresse IP et le masque du Raspberry pi 5. Chez vous, vous devrez alors remplacer 10.0.0.1 aux deux emplacements (ligne 2 et 3) par l’adresse de votre routeur, généralement votre box internet, puis ligne 4, remplacer 10.0.0.38 par l’adresse IP de votre Raspberry Pi5. Conservez bien le masque en fin de ligne (/24), qui ne devrait pas changer de valeur chez vous en règle générale. Si c’était le cas, c’est que vous êtes assez expert pour savoir quelle valeur indiquer.
interface eth0
static_routers=10.0.0.1
static domain_name_servers=10.0.0.1
static ip_address=10.0.0.38/24
Vous devez donc avoir quelque chose comme cela à l’écran de votre terminal :
Sauvez et fermez via la combinaison de touche CTRL + X puis Y, nous en avons terminé avec ce fichier.
Configuration du fichier hosts
Passons maintenant au fichier hosts, ici nous allons éditer ce fichier afin de préciser et figer les noms des interfaces, cela nous sera utile pour la suite du guide. Toujours dans le terminal, tapez la commande suivante puis validez par entrée pour ouvrir le fichier.
nano /etc/hosts
Collez-y les lignes suivantes, toujours en adaptant à votre configuration. Modifiez uniquement l’adresse IP en ligne 2 par l’adresse IP du Raspberry Pi 5, la même que vous avez indiquée dans le fichier précédent. Laissez le reste tel quel, j’ai déjà effectué le paramètrage pour vous. Vous n’avez que l’adresse IP à modifier.
127.0.0.1 localhost proxmox
10.0.0.38 proxmox
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Vérifiez que vous avez bien la même chose que ci-dessous à l’écran (exception faite de l’adresse IP du Raspberry Pi) :
Sauvez et fermez via la combinaison de touche CTRL + X puis Y, nous en avons terminé avec ce fichier.
Enfin, éditons un dernier fichier de configuration, le fichier hostname qui va définir le nom dns de notre Raspberry pi pour correspondre avec les deux configurations que nous avons faite juste avant.
nano /etc/hostname
Ajoutez dans ce fichier “proxmox” comme ci-dessous, puis enregistrez et quittez avec CTRL + X puis Y.
Modifier le mot de passe du compte root
Dernier prérequis, on définit le mot de passe root avec la commande suivante, ce mot de passe vous sera utile pour vous connecter sous l’interface de Proxmox.
sudo passwd root
On redémarre pour appliquer toutes les configurations effectuées et on se reconnecte sur le Raspberry Pi via SSH une fois qu’il répond de nouveau sur le réseau.
sudo reboot
Ajout du dépôt Proxmox Port dans la liste des dépôts
Maintenant que les prérequis système sont en place, passons aux prérequis nécessaires à l’installation de Proxmox. Pour cela, commencez par installer le paquet curl avec la commande suivante.
sudo apt install curl
Puis on va passer en sudo pour assurer que toutes les installations soient effectuées avec les plus hauts privilèges et éviter tout problème de droits.
sudo -s
Maintenant, il faut ajouter la clé GPG pour le dépôt. Cette clé permet de vérifier que le paquet est légitime.
curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg
On va ensuite ajouter la source du dépôt au fichier sources.list du Raspberry Pi 5.
echo "deb [arch=arm64] https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list
Il ne reste plus qu’à appliquer la modification avec une commande d’update et mettre à jour l’ensemble.
sudo apt update
sudo apt -y upgrade
Installer Proxmox sur le Raspberry Pi 5
Maintenant que nous avons préparé l’environnement du Raspberry Pi 5, il ne nous reste plus qu’à procéder à l’installation de Proxmox sur ce dernier.
Le premier package qui doit être installé sur notre système est « ifupdown2 ». Proxmox utilise ce package pour gérer le réseau interne.
sudo apt-get install ifupdown2
On peut enfin installer Proxmox VE et les quelques packages requis en tapant la commande suivante dans le terminal.
apt-get install proxmox-ve postfix open-iscsi chrony mmc-utils usbutils
Ce processus d’installation peut prendre quelques minutes, alors soyez prêt à attendre quelques minutes. De plus, vous devrez suivre quelques invites lors de l’installation.
Le système vous demande également d’indiquer une adresse email, indiquez simplement votre mail ici.
Laissez défiler les lignes, cela peut prendre durer un peu.
L’installation prend un peu de temps, laissez simplement défiler les lignes dans le terminal jusqu’à ce que ce prompt soit de retour, signifiant que l’installation est terminée.
Configuration du fichier interfaces
Dernière petite modification système avant de passer sous Proxmox, il convient de configurer le fichier interface. Ouvrez alors le fichier avec la commande suivante :
sudo nano /etc/network/interfaces
Puis ajoutez les lignes ci-dessous à celles déjà présentes. Encore une fois c’est à adapter selon la configuration de votre réseau pour les lignes address et gateway. Si vous utilisez la connexion par câble du Raspberry Pi (ce que je vous recommande), ma configuration est déjà à la cible avec l’interface eth0 déjà déclarée. Si vous préférez passer par le Wi-Fi, il faudra indiquer wlan0, mais je ne vous recommande pas d’utiliser la connexion Wi-Fi pour un serveur de virtualisation.
auto lo
iface lo inet loopback
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 10.0.0.38/24
gateway 10.0.0.1
bridge-ports eth0
bridge-stp off
bridge-fd 0
iface eth0 inet manual
Vérifiez que votre fichier ressemble bien à l’écran ci-dessous, puis enregistrez et quittez avec CTRL + X puis Y.
Un dernier redémarrage du Raspberry Pi avant d’enfin se connecter à Proxmox.
sudo reboot
Accéder à Pimox
L’installation étant maintenant terminée, il ne nous reste plus qu’à nous connecter à l’interface web de Proxmox sur notre Raspberry Pi 5, (Pimox). Pour cela, utilisez votre navigateur web favori et entrez l’URL suivante en remplaçant 10.0.0.38 par l’adresse IP de votre Rpi5.
https://10.0.0.38:8006
Vous aurez une alerte de sécurité de la part de votre navigateur, pas d’inquiétude, c’est tout à fait normal. Vous tentez de joindre une adresse https:// qui ne bénéficie pas d’un certificat valide, d’où cette alerte. Cliquez sur le bouton pour faire apparaitre le lien “continuer vers le site” et cliquez dessus.
Et voilà Proxmox qui apparait à l’écran de votre navigateur. La connexion sera à faire avec l’utilisateur “root” suivi du mot de passe que nous avons défini un peu plus haut dans ce guide.
Proxmox sur Raspberry Pi 5, une réalité et un système qui en a sous le pied
Nous voilà donc sous Proxmox, exécuté sur un Raspberry pi 5. Oui c’est possible les amis et la puissance du Raspberry pi 5 nous confirme bien qu’il est largement capable de gérer de la virtualisation comme un chef. Jugez par vous-même la charge processeur du système.
Concernant la charge mémoire, on est bien aussi, avec un peu plus de 1Go de mémoire occupée par le système hôte après installation, un Raspberry Pi 5 4Go pourra faire l’affaire comme on le voit ici avec le Rpi5 du domo-lab qui est une version 4Go. Bien sûr, si vous envisagez d’héberger plusieurs VM sur ce dernier, il est préférable d’opter pour une version 8Go.
Installer Home Asssitant sous Pimox
Maintenant que nous avons un Proxmox en place sur notre Raspberry pi, la dernière étape et d’y créer une VM. Quoi de mieux qu’une VM Home Assistant pour vous montrer comment déployer Home Assistant rapidement sous Raspberry pi5 via Proxmox pour envisager une domotique rapide et sécurisée qui va profiter de la puissance et souplesse des snapshots et sauvegardes rapides du système complet pour sécuriser au maximum votre installation domotique.
La création d’une Machine Virutelle Home Assistant sous Proxmox est vraiment très simple. Ca se passe en une simple ligne de commande appelée dans le menu Shell de Proxmox. Pour le reste, c’est le système qui s’occupe de tout pour vous.
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm.sh)"
Exécutez alors la commande ci-dessous dans la console Shell de Proxmox et suivez les instructions à l’écran.
Laissez les options par défaut si vous disposez d’un Raspberry pi 5 8Go, en revanche si vous utilisez un Raspberry pi 5 4Go, optez pour l’installation “advandced” et laissez toutes les options par défaut exceptée l’allocation mémoire pour la VM, pour laquelle vous changerez la valeur à 2048. Pour le reste laissez tout par défaut.
Et voilà notre VM HA qui démarre automatiquement et tourne déjà comme un charme sous Proxmox. La charge mémoire est toujours importante au démarrage car Home Assistant est à sa première exécution et effectue quelques opérations importantes.
Rendez-vous dans le menu Console de la machine virtuelle pour obtenir l’adresse IP de votre système domotique et direction un nouvel onglet du navigateur pour taper cette URL et onboarder votre Home Assistant.
C’est partie pour le premier démarrage, l’assistant HA vous guide et vous accompagne pour la mise en route.
Et voilà enfin notre système domotique Home assistant virtualisé sous Proxmox dans une machine virtuelle (VM), le tout sur un Raspberry pi 5 et des performances excellentes.
Conclusion
Il y aurait bien d’autres choses à dire, mais je pense que ce guide est déjà assez conséquent et riche, nous aurons l’occasion de voir les prochaines étapes dans de prochains guides, notamment comment procéder à la sécurisation, maintenance et sauvegarde de notre système domotique Home Assistant virtualisé sous Proxmox. À vous de jouer les amis !
Salut,
J’ai essayé de suivre le tutoriel pour installer Proxmox, mais je n’arrive pas à finir l’installation. Je m’explique : l’installation se déroule bien jusqu’à la configuration du fichier interfaces. Après avoir modifié ce fichier (en l’adaptant car je suis en Wi-Fi et que mon IP n’est pas la même), si je redémarre, je perds l’accès réseau à mon Raspberry. Il n’est plus possible de se connecter via SSH et je ne le vois pas sur un scanner IP.
J’ai essayé de connecter un câble RJ45 sur le Raspberry, et à ce moment-là, je le revois sur le réseau mais il m’est toujours impossible de me connecter en SSH. La seule différence est que je ne modifie pas mon IP via le fichier dhcpd, mais via nm.
Aurais-tu une piste pour m’aider ?
Merci.
Hello, rien de particulier de mon côté à ce niveau, ça a fonctionné direct comme dans le guide.
Bonjour Aurélien,
J’ai peut-être raté quelque chose à l’installation.
Je ne parviens pas à créer un répertoire ZFS sous proxmox, j’ai le message suivant dès que je clique ZFS:
“command ‘/sbin/zpool list -HpPLo name,size,alloc,free,frag,dedup,health’ failed: exit code 1 (500)”
Même avec un disque vierge en plus en usb
Une petite idée de votre côté ?
Bonjour Aurélien,
Merci pour ce tuto, j’avais déjà tenté l’opération fin avril mais j’ai eu quelques galères avec Home Assistant sur version sans possibilité de modules complémentaires ni hacs.
Je vais tenter prochainement, le but étant d’utiliser 3 rpi5 en cluster et haute dispo en très faible consommation énergétique. J’ai déjà cette install avec 3 nuc mais le rpi pour la conso c’est le top
Fantastique travail et article. Merci beaucoup !
Bonjour et merci pour le tuto. Je me lancerai prochainement dans la réalisation de cette même installation, mais j’ai une question concernant le nombre maximal de VM pouvant tourner en simultané. Le CPU du Pi5 étant un quad-core, celà signifie t-il un maximum de 3 VM (1 core restant pour le système hôte) ?
Bonjour,
Pas necessairement car les ressources sont partagées, mais bien sur, le nombre de VM sera minimal face à un mini PC plus puissant.
Bonjour Aurélien,
J’ai peut-être raté quelque chose à l’installation.
Je ne parviens pas à créer un répertoire ZFS sous proxmox, j’ai le message suivant dès que je clique ZFS:
“command ‘/sbin/zpool list -HpPLo name,size,alloc,free,frag,dedup,health’ failed: exit code 1 (500)”
Même avec un disque vierge en plus en usb
Une petite idée de votre côté ?
Bonjour,
Il y a t-il un moyen d’utiliser la carte SD pour faire du backup local? Le volume disque de la carte SD n’est pas visible dans le node, quelle manip faut-il réaliser pour la faire apparaitre?
Merci
Bonjour, merci pour ce tutoriel
j’essaie de le reproduire sur mon RPI5 (bookworm), mais je rencontre un souci au niveau du certificat qui ne semble plus Trusted, empêchant l’intégration des index de la source lors de l’apt update.
Ign:5 https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm InRelease
Err:5 https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm InRelease
Certificate verification failed: The certificate is NOT trusted. The name in the certificate does not match the expected. Could not handshake: Error in the certificate verification. [IP: 158.220.124.54 443]
Le certificat sera-til expiré depuis la rédaction du tutoriel, ou me manquerait-il un bidule, genre CA sur mon RPI ? Merci