Comment configurer un Raspberry Pi 5 avec un HAT PoE et un SSD NVMe

Après avoir vu de nombreux YouTubeurs s'amuser avec leurs mini-racks et clusters de Pi, j'ai voulu être de la partie. Le geek en moi adore l'idée d'avoir mon propre cluster Kubernetes à la maison, avec des switchs et de la redondance, aussi surdimensionné que cela puisse être. Juste pour le plaisir.
Que vous ayez une bonne raison de commencer, ou que vous vouliez simplement geeker et trouver une raison plus tard, bienvenue dans cette série d'articles. Ce premier volet est consacré aux choix matériels et à l'installation.
Bien que je veuille construire mon propre cluster, je ne voulais pas dépenser des fortunes et me retrouver avec quelque chose que je n'utiliserais pas vraiment. J'ai donc décidé de commencer par le strict minimum : un Pi 5, un SSD et un switch PoE. À terme, je pense construire un cluster complet, mais ce sera pour un autre article.
Tout d'abord, il nous faut une bonne raison de faire tout ça. Que cherchez-vous à accomplir ? Pour ma part, je n'en avais pas vraiment, alors j'ai décidé d'en inventer une car je voulais simplement manipuler un Raspberry Pi. L'idée est alors devenue d'auto-héberger ce blog même, mon portfolio, et éventuellement d'autres services sur cette petite machine.
Petite, mais puissante. Je suis d'ailleurs assez surpris de ses performances, et si vous lisez ce site web, essayez de recharger la page et observez sa rapidité de chargement. Tout cela depuis un petit Raspberry Pi 5 avec 8 Go de RAM. Mais nous aborderons la question des performances plus tard dans cette série.
Alors, pourquoi un Raspberry Pi ?
Le Pi 5 a beaucoup d'atouts : son format réduit, sa faible consommation d'énergie et ses performances relativement bonnes. Grâce à son immense communauté, le Pi 5 est également très bien documenté, ce qui facilite son utilisation et son évolution avec de nombreux HAT différents.

Cela dit, le Pi est limité au PCIe 3.0 x1. Un SSD NVMe est donc utile, mais bridé, et certains concurrents peuvent offrir de meilleures performances, comme l'Orange Pi 5 ou le ROCK 5B. D'ailleurs, si vous êtes prêt à consommer quelques watts de plus et à accepter un format plus imposant, un mini-PC de type Intel N100 ou N97 pourrait en réalité être une meilleure affaire en termes de rapport performances/prix.
Mais j'attache de l'importance à la compacité, à la faible consommation électrique et à la grande communauté. D'une part, je n'ai pas à me soucier de laisser ce serveur tourner toute la journée : il ne consomme qu'environ 3 W en moyenne. Il est suffisamment petit pour ne pas encombrer mon bureau, et sa configuration a été un jeu d'enfant grâce à tous les blogs et forums disponibles pour vous aider. Ou pour aider ChatGPT à vous aider.
Qu'ai-je acheté, et pourquoi ?
Tout d'abord, je voulais utiliser le PoE (Power over Ethernet). Le PoE est formidable car il permet d'alimenter des appareils basse consommation directement via les câbles RJ45. Cela réduit considérablement le nombre de câbles, d'autant plus que mon projet est d'acheter d'autres Pi à l'avenir pour créer un véritable cluster.

Le Pi 5 ne consomme que quelques watts, selon les HAT et extensions que vous utilisez. Dans mon cas, il tourne en moyenne autour de 3 W avec des pics à 6 W. Le PoE, en revanche, peut fournir entre 12 W et 70 W environ, selon la norme utilisée. J'ai opté pour un switch PoE+ (TL-SG1005P V2) capable de fournir jusqu'à 30-40 W par port et un total maximum de 113 W. Attention toutefois : tous les câbles Ethernet ne se valent pas, particulièrement pour les niveaux de puissance élevés. Je recommanderais du Cat6a pour être sûr, même si du Cat5e peut déjà suffire pour un Pi 5.
Ensuite, bien que je sache que beaucoup d'utilisateurs de Pi ont tendance à utiliser des cartes SD, je savais aussi qu'elles présentent quelques inconvénients en matière de fiabilité et de vitesse. J'ai donc décidé d'acheter un SSD basique, en sachant que je serais limité par le PCIe 3.0 x1, ce qui en pratique donne environ 500 Mo/s au mieux. Par conséquent, un SSD bon marché ferait très bien l'affaire et serait toujours infiniment supérieur à une carte SD.
Le Pi 5 ne prend pas en charge le PoE nativement et ne dispose pas non plus d'un emplacement M.2, j'ai donc acheté un HAT qui combine les deux.

J'ai également acheté un boîtier très abordable conçu pour les clusters de Pi, mais je pense que je passerai rapidement à un mini-rack de 10 pouces à l'avenir. Est-ce utile ? Non. Mais est-ce que ça a de la gueule ? Oui.

Je ne sais pas pourquoi, mais il y a quelque chose dans le fait de voir de multiples câbles Ethernet soigneusement branchés dans une minuscule baie qui rend ces installations incroyablement cool, même si une seule machine pouvait faire le même travail. Cependant, on peut justifier qu'un cluster est préférable pour la redondance, si cela compte dans votre situation, puisqu'un cluster bien configuré peut survivre à certaines pannes tout en gardant l'ensemble des services en ligne.
Au total, j'ai acheté :
- Un Raspberry Pi 5 8 Go
- Un SSD NVMe de 256 Go
- Un petit refroidisseur actif (ventirad) pour le Pi
- Un petit HAT qui fournit le PoE et ajoute un emplacement M.2
- Un switch PoE, pour n'avoir besoin que d'un seul câble pour connecter le Pi
- Un petit boîtier et quelques câbles
Pour un total de 285,53 €, le Pi lui-même coûtant environ 140 € pour la version 8 Go.
Il est temps de tout assembler
L'assemblage s'est avéré relativement simple. J'ai placé les pads thermiques fournis avec le refroidisseur officiel un peu partout où je voyais une puce ou un composant qui me semblait susceptible de chauffer, et le refroidisseur se clipse tout simplement sur le Pi.

Attention : le système de fixation du refroidisseur officiel rend son retrait très difficile par la suite.
Attention 2 : les petits connecteurs du moteur du ventilateur sont extrêmement fragiles, et je les ai d'abord tordus sans m'en rendre compte. Découvrir cela bien plus tard a rendu le diagnostic difficile, et pour les redresser, bien que j'y sois parvenu, j'ai dû utiliser une aiguille à coudre.

Le montage du HAT a également été relativement aisé, à l'exception de la minuscule nappe PCIe, qui est vraiment délicate à brancher sur le Pi.

En ce qui concerne le boîtier, les vis fournies laissaient à désirer, et celles de rechange que j'avais achetées n'étaient pas non plus à la bonne taille. J'ai fini par trouver suffisamment de vis traînant par-ci par-là pour faire l'affaire, mais ce ne fut pas une super expérience. Peut-être ai-je manqué de chance, mais je ne recommanderais pas ce boîtier ; cela dit, il semblait bas de gamme, alors à quoi pouvais-je m'attendre ?
Pour le reste, il a simplement suffi de brancher les câbles et le SSD, et j'avais là mon premier mignon petit serveur.

Lancement du premier démarrage
Il était maintenant temps de finaliser la configuration matérielle avec un système d'exploitation. J'ai choisi Raspberry Pi OS car il permet de démarrer et de réaliser l'installation via le réseau, ce qui est très pratique. J'ai opté pour la version Lite puisqu'il s'agirait d'un Pi headless (sans écran), et que je voulais éviter d'installer des logiciels superflus.
En utilisant le Raspberry Pi Imager, j'ai créé une clé USB bootable et tout branché. Le Pi a commencé à démarrer, et l'installation s'est déroulée sans problème majeur.
Cela dit, j'ai dû apporter quelques modifications à la configuration de démarrage :
Tout d'abord, j'ai désactivé le Wi-Fi, car j'avais décidé d'utiliser l'Ethernet et je ne voulais pas que le Pi gaspille de l'énergie ou des cycles CPU pour le réseau sans fil. Ensuite, j'ai dû indiquer au Pi qu'un ventilateur de refroidissement y était branché, sans quoi il ne tournerait pas.
dtoverlay=disable-wifi
dtoverlay=fan-heatsinkEnsuite, j'ai également activé le PCIe Gen 3, car le Pi 5 utilise la Gen 2 par défaut. La Gen 3 est encore techniquement expérimentale, mais en pratique, elle semble très stable. Cela permettra à mon SSD d'être un peu moins bridé en termes de vitesse.
dtparam=pciex1
dtparam=pciex1_gen=3J'ai également dû autoriser une plus grande consommation de courant via l'USB pour que le démarrage depuis le port USB s'effectue correctement, car sinon cela ne fonctionnait pas. En général, les gens démarrent à partir d'une carte SD, ce qui ne pose pas ce problème.
usb_max_current_enable=1J'ai ajouté tout cela au fichier /boot/firmware/config.txt sur ma clé de démarrage USB. Néanmoins, ce fichier peut également être modifié après l'installation du système d'exploitation avec :
sudo nano /boot/firmware/config.txtEt voici les lignes que j'ai ajoutées :
[all]
dtparam=pciex1
dtparam=pciex1_gen=3
usb_max_current_enable=1
dtoverlay=disable-wifi
dtoverlay=fan-heatsinkAprès cela, j'ai simplement installé le système d'exploitation en suivant les instructions. Le Pi fonctionnait correctement, a bien démarré, et j'ai pu m'y connecter via PuTTY en utilisant le mot de passe et l'utilisateur définis lors de la création de l'image.
Et voilà ! Mon Pi est maintenant pleinement opérationnel. Dans le prochain article, nous verrons comment déplacer le système d'exploitation de la clé USB vers le SSD.


Judicael Poumay (Ph.D.)
Suivez-moi sur LinkedIn pour du contenu hebdomadaire Judicaël Poumay
En tant que chercheur/développeur IA indépendant spécialisé en Traitement du Langage Naturel (NLP), j'ai une expertise complète dans le développement et l'intégration de systèmes d'IA, ainsi que l'analyse de données.
Votre entreprise cherche à intégrer des solutions IA, analyser des données ou renforcer son développement back-end ? Contactez-moi !
Articles Similaires

Comment déplacer l'OS du Raspberry Pi 5 sur un SSD NVMe
Apprenez à migrer manuellement votre système d'exploitation Raspberry Pi 5 d'une clé USB ou d'une carte SD vers un SSD NVMe plus rapide. Ce guide étape par étape couvre le partitionnement, la copie de fichiers, la mise à jour des configurations de démarrage et comment éviter les pièges courants.

Comment installer et configurer Pi-Hole sur un Raspberry Pi 5
Apprenez à installer Pi-Hole sur un Raspberry Pi 5 pour agir comme un bloqueur de publicités à l'échelle du réseau. Ce guide couvre la configuration d'une IP statique, l'installation de Pi-Hole et le routage de domaines locaux.

Comment installer Kubernetes K3s sur un Raspberry Pi 5
Apprenez à installer et configurer K3s, une distribution Kubernetes légère, sur un Raspberry Pi 5. Ce guide couvre l'activation des cgroups, la mise en place du cluster et la configuration de l'accès à distance avec kubectl.