Bouw je eigen Raspberry Pi-cluster
Het aantal Raspberry Pi's in mijn huis begon onhandelbaar te worden en het kluwen van kabels en voedingsadapters was me al even een doorn in het oog. Ik besloot een aantal van deze Raspberry Pi's op elkaar te stapelen in een clusterbehuizing, aangesloten op één voeding en één netwerkswitch.
De belangrijkste componenten van de configuratie die ik koos, zijn:
Clusterbehuizing
Deze behuizing met zes lagen vond ik voor € 20 op Amazon:
De Raspberry Pi's zijn hiermee niet volledig beschermd, want er zit alleen boven en onder elk processorbordje een acrylplaatje. Maar een voordeel van deze opstelling is dat ze gemakkelijk uit te breiden is. Je kunt er ook eenvoudig een laag uitnemen als je die Raspberry Pi tijdelijk elders nodig hebt.
Voeding
Als voeding koos ik voor het € 29 kostende Anker PowerPort 12 A 60 W laadstation met 6 poorten:
Belangrijk bij de keuze voor de voeding is dat ze per poort voldoende vermogen kan leveren voor je Raspberry Pi's. Ik ging daarvoor uit van het vermogensverbruik van zes Raspberry Pi 4's op volle kracht. Uit een benchmark van MagPi blijkt dat dit model in een stresstest tot 7 W verbruikt.
Een set van laadkabels (usb-c voor de Raspberry Pi 4, usb-a voor de eerdere modellen) vult dit aan.
Netwerkswitch
Voor de netwerkverbinding kies je een switch met één poort meer dan het aantal Raspberry Pi's in je cluster. Een eenvoudige unmanaged gigabit-ethernetswitch is voldoende. Ik koos voor een TP-Link LS108G 8-poorts gigabit-ethernetswitch van € 25:
Voor de netwerkkabels koos ik voor een set van 7 platte Cat7-ethernetkabels.
Statusleds
Ik wilde de status van mijn Raspberry Pi's eenvoudig kunnen tonen, maar kant-en-klare oplossingen vond ik te duur of met een te klein schermpje. Ik vond een leuke lowtech-oplossing in het Mini Battery Display van Open-Smart. Voor € 1,30 per stuk vind je dit kleine printplaatje met leds op AliExpress. Het bevat een ledbalk met tien segmenten, die je kunt aansturen om bijvoorbeeld de processorbelasting of cpu-temperatuur aan te duiden:
Ik heb zes van deze printplaatjes op een breadboard geprikt en elk printplaatje is met vier jumperwires met zijn Raspberry Pi verbonden. Ik heb dan een Python-programma geschreven om de leds aan te sturen op basis van de processorbelasting: rpi-mini-battery-display.
Het resultaat
Als je dit alles dan in elkaar steekt, ziet dat er als volgt uit:
Ik koos voor de horizontale plaatsing omdat die het minste problemen met de te korte kabels oplevert, en het zorgt ook voor een gelijkmatige warmteafvoer. Je ziet op de achtergrond wel nog het laadstation in de lucht 'zweven' door de te korte voedingskabels...
Voor PCM beschreef ik uitgebreid hoe je zelf zo'n cluster maakt. Het artikel gaat alleen in op de hardwarekant, maar daar komt al heel wat bij kijken. Meer tips en gedetailleerdere instructies vind je in het artikel.
Al met al ben ik hier tevreden mee. Ik probeer nu sneller nieuwe zaken op mijn Raspberry Pi's uit omdat ik er geen werkloze Raspberry Pi's meer voor uit een doos hoef te halen of een vrij stopcontact moet zoeken. En mijn bureau ziet er heel wat netter uit!