Table des matières
Le matériel pour le serveur Nextcloud sur RaspberryPi2
Juste pour illustration voici comment j'avais réalisé le serveur Nextcloud avec un disque dur, un RaspberryPi2 le tout dans un boîtier avec un bouton marche arrêt. Rien de révolutionnaire, juste de la récupération de matériel pour avoir mon propre serveur “cloud”.
Année de réalisation : 2020.
Je voulais essentiellement placer tout le serveur dans une boîte afin de tout protéger. J'avais pour cela mis la main sur un boîtier de contrôle d'éclairage scénique qui possédait une alimentation de 5V et 15W.
Nomenclature
Matériel actuel (à date 2020-05-23) :
- Matériel et découpes sur le boîtier récupéré (ancien système DMX ou équivalent)
- Alimentation Meanwell P5-15-5
- Switch ON/OFF AC
- Afficheur LCD KNY0802B-1 vers 3 nappe 2,54mm 14 points
- 2 LED 3mm (vert, jaune)
- Emplacement 1 carte SD
- 2 ethernets
- câble sortie 5V de l'alimentation AC-DC
- à ajouter (de récupération aussi)
- perçage fixation RaspberryPi2
- perçage disque dur 2“5
- vis diverses
- câble SATA + alimentation USB (exemple Delock 61883)
- USB femelle A x2 vers 5V (j'ai utilisé un convertisseur femelle-femelle et des câbles mâles coupés)
- fiche USB-A-µUSB (je recommande l'alimentation directement sur le connecteur au pas de 2,54mm broches 2,4 et 6 (https://pinout.xyz/pinout/5v_power)
- disque dur HDD 160Go, puis SSD 120Go puis HDD 320Go (entre 2020 et 2024)
- bornier pour dupliquer l'alimentation 5Vdc
- à acheter ou neuf
- RaspberryPi2
- Carte SD 16GB (4 ou 8GB auraient été suffisantes)
- patins anti-dérapants
- radiateurs sur le RaspberryPi2 (jamais utilisés)
- temporaire pour l'installation
- Clé Wifi (Edimax EW-7811 pour moi)
- Récepteur USB clavier/souris (exemple clavier Rii Mini i12)
- Câble HDMI
NOTE : pour les câbles, pas trop longs, afin de tout pouvoir intégrer dans le boîtier.
Réalisation
Dans l'idée :
+------+----+------+ | |µSD | | domino +--------------+ | +----+ o|--------[o]--------| AC-DC 15W 5V |----[ON/OFF]--[Fiche CE] | o| | +--------------+ | | | | ||| | | | | [_] USB M/F | RPi2 | | | ||| | | +----------------------+ | | | +--+| | +------------------+ | | || | |ETH | |Wifi| |USB | | | || | +----+ +----+ +----+ +-----| || Disque dur 2,5" | | |_________________| || | | | || | | +--+| | | +----------------------+ ...
Je n'ai jamais réalisé ces modifications faute de temps :
- Utiliser les 2 LED de 3mm pour afficher l'état du serveur
- Me servir de l'écran LCD (digits)
- Boucher les ouvertures inutiles
- Déporter un connecteur Ethernet sur la façade (plus pratique pour déconnecter le tout)
- Déporter un connecteur USB en façade (sauvegarde, clavier)
- Un HDD 3.5” aurait été préféré, mais il fallait une alimentation 12V. TODO module 5-12V trouvé pour le travail
- Un bouton marche/arrêt pour éviter les extinctions brutales (exemple https://uk.pi-supply.com/products/pi-supply-raspberry-pi-power-switch)
La mise en place du RaspberryPi2 a été possible sur des entretoises existantes. J'ai fixé le disque dur sur le couvercle en le perçant aux endroits adaptés.
Le connecteur SATA/USB était encombrant et n'a pas été facile à placer. L'ensemble de tous les câbles était très contraint.
Voici le résultat, capôt ouvert, sans le câble Ethernet (branché sur le RaspberryPi2 et presque plié le long de l'alimentation AC-DC).
Performances électriques
Mes notions de CEM m'alertent de partout concernant la construction de ce boîtier.
Le RaspberryPi2, le disque dur, et les câbles sont très proches de l'alimentation AC-DC non isolée, donc du 240Vac. Je n'ai jamais vraiment été très à l'aise avec cela. Une feuille de plastique autour d'un des groupes de composant aurait pu servir d'isolation électrique.
Le boîtier entièrement métallique n'a jamais permis une connexion WiFi correcte avec un dongle WiFi connecté sur l'USB du RaspberryPi2.
Consommation correcte : 4,9W sur le secteur, conforme à ce que consomme un RaspberryPi2
J'ai constaté des pannes récurrentes pour 3 raisons :
- pas d'alimentation de secours contre les coupures de courant
- alimentation du disque dur via un adaptateur USB parfois problématique à cause des soudures de câble (un domino s'est avéré plus efficace)
- pas de lissage des variations de tension lors des appels de courant (disque dur ?). J'ai bien tenté d'ajouter des super-capacités de façon très basique, mais le RaspberryPi2 n'appréciait pas du tout pour le démarrage.
- adaptateur SATA/USB qui avait tendance à se déplacer
Conclusion
Il est toujours plaisant de parvenir à réaliser quelque chose de ses mains. Je n'ai pas été au bout de mes idées faute de temps à y investir et d'utilité réelle (une fois le serveur en route, c'est bien l'essentiel…)
La réutilisation de matériel n'est pas toujours facile et adaptée. Le résultat a été très loin de mes standards de conception au travail.
Les problèmes électriques et l'absence de bouton marche arrêt sur le RaspberryPi2 ont fini après plusieurs années (4 ans) à me lasser, et j'ai cherché des solutions pour améliorer le système. La lenteur relative du RaspberryPi2 se faisait aussi sentir, ainsi que des obsolescences logicielles (le RaspberryPi2 étant en 32 bits, en 2024, Nextcloud a arrêté de publier des versions compatibles).
Évolution
Travailler la stabilisation de tension (supercapacité + diode), ajout d'une horloge RTC au serveur.
- Option 1 : se servir du RaspberryPi3 (64 bits) que j'avais de disponible. Mais les USB étant des USB2, pas de gain de transfert à attendre. Idem pour l'Ethernet. Le tout pour une consommation électrique doublée. Un disque dur format NVme M.2 permet de limiter les problèmes d'alimentation électrique.
+------+----+------+ | |µSD | | +--------------+ | +----+ o|--------[o]--------| AC-DC 15W 5V |----[ON/OFF]--[Fiche CE] | o| +--------------+ | | | ||| | | | | RPi3 B+ | | ||| | | | +------------------+ +--++----------------------+ |ETH | |USB | | || | +----+ +----+ | || Disque dur M.2 PCIe | | |_________________| || | | +--++----------------------+ | | ...
- Option 2 : un RaspberryPi4 ou 5, avec disque dur USB3, ou NVMe, une carte d'interface pour bouton marche/arrêt et batterie de secours.
- Option 3 : idem, mais avec un RaspberryPi5 et un module NVMe
Pour les options 2 et 3, cela existe, mais s'avère finalement assez couteux ; et plus gourmand en énergie, je n'aurai pas pu conserver le boîtier et l'alimentation actuelle.
- Option 4 : j'ai opté pour un PC d'occasion de type NUC, coûtant aussi cher qu'un RaspberryPi4 seul
à suivre
Ce boîtier sert maintenant à abriter le RaspberryPi2 qui gère une ancienne webcam pour servir de caméra de surveillance.
à suivre
J'ai entre temps réalisé un boîtier similaire avec un RaspberryPi4 pour le travail (serveur Nextcloud pour partage de fichiers avec les clients), bien plus modeste en volume de stockage (32Go) mais avec bien plus d'utilisateurs.
illustration