Mijn draagbare 5-inch Server rack
Deze website wordt gehost door een Raspberry Pi 4 in mijn 5-inch mini server rack. Af en toe neem ik dat ding mee op reis naar de een of andere demonstratie. Daarom kan het gebeuren dat deze website tijdelijk even niet beschikbaar is. Ik probeer de down tijd zo veel mogelijk te beperken.
Op zaterdag 21 November is er een groot open source event in de LocHal bibliotheek in Tilburg. Ik zal daar ook zijn, tezamen met mijn 5inch mini rack. Je kunt bij mij terecht met vragen over open source in het algemeen, huis automatisering, netwerk technieken om je huis automatisering veilig te kunnen bedienen, programmeren in diverse programmeertalen, docker containers, virtuele machines en nog veel meer.
Introductie
Ik geef toe, dit mini server rack is niet mijn eigen idee. Zoals tegenwoordig gebruikelijk is komt de inspiratie van het internet. 10-incnch server racks zijn zeer in trek, vooral nu we die zelf kunnen 3D printen. Michael Klements heeft zijn 10-inch Labrax server rack naar 50% terug geschaald en zodoende is een 5-inch rack ontstaan.
Toen ik dat ding zag was ik meteen verliefd. Ik bleef maar nadenken over wat ik er allemaal mee zou gaan doen en hoe ik het zelf zou bouwen. En dan is het hek van de dam. Dan MOET ik gewoon zo'n ding gaan bouwen. Eerder krijg ik het idee nooit meer uit mijn hoofd.
Mijn eigen inbreng
Na een grondige bestudering van Michael zijn 5-inch rack heb ik besloten om een paar dingen anders te doen.
Zo heb ik de rack elementen vereenvoudigd. Origineel zitten er op een 1U paneel aan beide kanten 3 schroefgaten boven elkaar. Bij ½U wordt dat wel heel erg krap. Daarom heb ik besloten dat twee gaten per kant meer dan voldoende zijn. Dit geeft ook een veel rustiger beeld.
Ook de hoogte van een ½U paneel heb ik naar boven afgerond op 25 mm. Dat geeft me net iets meer hoogte voor de componenten die er in moeten, terwijl de verhouding niet zichtbaar wordt verstoord.
Ik heb ook de bodem en de top verschillend gemaakt. Hierdoor ontstaat er meer ruimte in de bodem, die plaats biedt aan de voeding. Nu kan het hele rack met één simpele USB-C voeding met PD gevoed worden. Zo nodig kan het rack ook gevoed worden door een Power bank met PD, of een laptop voeding.
Verder heb ik mijn rack wat dieper gemaakt. Het origineel was maar net diep genoeg om er een Raspberry Pi in te steken. Mijn rack geeft wat meer ruimte om een ventilator in de achterwand in te kunnen bouwen. Dat vind ik mooier dan wanneer de ventilator op de buitenkant gemonteerd moet worden.
Maar waarom eigenlijk?
Persoonlijk heb ik niet heel veel aan zo'n rackje. Een van mijn hoofd machines, waar ik Proxmox op draai, is een oude, afgedankte 19-inch server. En mijn tweede Proxmox machine is een afgekeurde laptop. Beide gaan dus niet in een 10 inch rack passen.
Maar een drietal Raspberry Pi's passen er prima in.
En aangezien ik graag andere mensen enthousiast maak over self hosting en huis automatisering, leek het me wel een heel mooi stukje demonstratie materiaal.
Door zijn geringe afmetingen is dit rackje heel gemakkelijk mee te nemen op de fiets.
En het is een fantastisch leuke manier geweest om mijn 3D tekenkunde mee te verrijken.
Netwerk
Omdat het apparaat "portable" moet zijn, moet het heel flexibel aan te sluiten zijn op het internet.
Thuis kan ik het gewoon met een ethernet kabel aan het internet hangen.
Onderweg moet het verbinding kunnen maken via Wifi van de ruimte waar de demonstratie gegeven wordt.
Mocht dat er niet zijn, dan zou ik ook gebruik kunnen maken van de dataverbinding van mijn telefoon.
Normaal gesproken is het niets bijzonders om zo'n eenvoudige pagina als deze te serveren.
Maar wanneer je er wat verder over na gaat denken is er toch heel wat netwerkmagie voor nodig om dat voor elkaar te krijgen.
Dit server rack kan op vele verschillende manieren met het internet verbonden worden.
En bij de meeste van die manieren ben ik niet de beheerder van het netwerk.
Het is daarom meestal niet mogelijk om poorten open te zetten.
En een statisch publiek IP adres is al helemaal niet te verwezenlijken.
Dankzij moderne hulpmiddelen als Tailscale en Cloudflare is het tegenwoordig kinderlijk eenvoudig om je diensten beschikbaar te maken, ongeacht waar de server of de client zich bevinden op het inernet. Tailscale blinkt uit in het beschikbaar maken van je privé diensten, waar niemand anders bij kan dan jij alleen. En Cloudflare is handig om je diensten voor iedereen open te stellen.
De onderdelen
Het rack geeft ruimte aan 5 apparaten van ½U hoogte.
Indien nodig kan het rack ook in hoogte aangepast worden om er meer of minder apparaten in te kunnen bouwen.
Maar dat heeft wel negatieve invloed de visuele verhoudingen, vind ik.
Mocht je zelf zo'n rack willen nabouwen, met minder apparaten erin, dan raad ik aan om de lege plaatsen te voorzien van blinde panelen, voor de visuele uitstraling.
Slot 1: De Router
De bovenste plaats wordt ingenomen door een router. Als router gebruik ik een uitgeklede GL-Inet AR300M travel router. Die dingen maken gebruik van OpenWRT, waar GL-Inet een eigen grafische schil om heeft gebouwd.
Zo'n travel router heeft meerdere opties om je netwerk met het internet te verbinden.
- WAN via Wifi. Dit is, voor mij, de meest gebruikte manier. Je kunt de router met elk willekeurig Wifi netwerk verbinden. En die verbinding verzorgt dan je internet. Je bent dan wel afhankelijk van de firewall instellingen van je host netwerk. Maar dat is te omzeilen door gebruik te maken van een VPN.
- WAN via Ethernet. Je kunt de router ook aansluiten op een bestaand Ethernet netwerk. Dit zal waarschijnlijk sneller zijn. Maar verwacht nog steeds geen wonderen van dit kleine ding.
- WAN via USB. Dat kan via een 4G of 5G USB dongle, of een telefoon die je op USB tethering hebt staan. Dit is leuk, maar voor het zelfde geld kun je je telefoon ook als Wifi hotspot gebruiken.
De Wifi van dit routertje is beperkt tot 2.4GHz netwerken. Het zal dus nooit een snelheidsmonster zijn. Maar dat is ook niet het doel van mijn rackje.
Er zijn meerdere redenen waarom ik voor deze router gekozen heb.
De belangrijkste reden is dat ik het ding al in bezit had.
De tweede reden is dat het ding lekker klein is.
Er is namelijk niet heel veel ruimte in het rack.
En wat ook niet onbelangrijk is is dat de antennes extern zijn, waardoor het mogelijk wordt om grotere antennes aan te kunnen sluiten, waardoor de beschikbaarheid van Wifi een stuk verbeterd kan worden.
Mijn routertje is, denk ik, al meer dan 10 jaar oud.
En het leuke is dat het ding, op het moment van dit schrijven, nog steeds te koop is voor ongeveer €40.
De netwerk switch
Het tweede slot is voor een 5 poort netwerk switch. Meer gaat er echt niet in passen. Helaas had ik geen 5 poort switch liggen. Dus bestel ik er maar een. Het is de TP-Link SG105E geworden. De E versie was nog geen hele Euro duurder dan de normale versie. Het verschil is dat de E versie een managed switch is. Je zou dus VLANs kunnen gaan gebruiken. Niet echt nodig voor mijn mini rack, maar ik was in een gulle bui en heb toch maar voor de duurdere variant gekozen.
De belangrijkste reden waarom het deze switch geworden is heeft te maken met de voeding. Deze switch loopt namelijk op 5V. Dat maakt het voeden van het ding een stuk gemakkelijker, want alles loopt nu op 5V.
Een 5 poort switch is meer dan voldoende voor deze opstelling. Ik heb een uplink poort nodig, die van de router afkomt. En drie poorten zijn nodig voor de drie computers in het rack. Dat laat nog een poort over om bijvoorbeeld mijn laptop op aan te kunnen sluiten.
De computers
De andere slots zijn voor Raspberry Pi's (wat een rare meervoudsvorm is dat in het Nederlands). Ik heb nog wel ergens 3 Raspberry Pi 3B+ modellen liggen. Een ga ik gebruiken om een demo versie van Home Assistant op te installeren. Ik ben nieuw met Home Assistant, dus daar valt voor mij nog veel te leren. Zo heeft het mini rack dan toch nog iets of wat practisch nut.
De tweede Pi ga ik gebruiken voor verschillende demonstratie toepassingen die ik via Docker ga uitrollen. Deze webpagina is een van die toepassingen die door mijn 5-inch mini rack gehost wordt.
Het laatste slot wordt ook een Raspberry Pi, die ik als test machine ga gebruiken. Gewoon voor van alles en nog wat. Het systeem mag kapot, er staat niets belangrijks op en ik kan het zo opnieuw installeren vanaf een backup van de maagdelijke immage van de SD card.
Dat was het plan in ieder geval.
Ik hield ondertussen Marktplaats in de gaten voor een betaalbare Raspberry Pi 4 met tenminste 2GB geheugen.
Daar draait Home Assistant en Docker net iets soepeler op.
En gelukkig kwam ik een koopje tegen waar meerdere 2GB Pi 4's aanboden werden voor €30 per stuk.
Een mooie prijs.
Er zijn mensen die denken dat ze een Raspberry Pi 3 nog voor die prijs kunnen verkopen, terwijl je voor dat geld een gloednieuwe hebt.
Dus nu draaien Home Assistant en mijn Docker machine elk op hun eigen Raspberry Pi 4 met 2GB RAM.
Natuurlijk kunnen ze niet op tegen een mini PC.
Maar het past in ieder geval allemaal netjes in mijn 5-inch server rack.
Prestaties
Alles bij elkaar wordt dit dus geen echt snelheidsmonster. Dat was ook niet mijn bedoeling. Het doel is een lief klein rackje te maken, wat ik gemakkelijk mee kan nemen tijdens demonstraties over huis automatisering en self hosting. En dat ik het ding zelf ook nog nuttig in kan zetten is mooi meegenomen.
De voeding
En dan de voeding.
Voor de eerste setup gebruikte ik nog 4 losse 5V voedingen.
Dat was een beetje ongemakkelijk en de bedrading wordt al snel een puinhoop.
Mijn eerste gedachte was om een oude laptop voeding te nemen.
Die zijn meestal 19V en kunnen meestal 3A of meer leveren.
Die spanning kan ik dan met 4 DC-DC regelaars naar 5.1V terugbrengen.
Maar toen werd ik op het idee gebracht om een telefoonlader met USB-C Power Delivery te gebruiken.
Die zijn veel compacter, hebben een goed gedefinieerde stekker en kosten tegenwoordig geen drol meer.
En als bonus kan ik het rack ook voor korte tijd voeden met een USB-C power bank, indien nodig.
De spanning voor de ventilator heb ik instelbaar gemaakt, zodat ik het geluid kan beperken wanneer het niet al te warm is.
De drie schakelaars rechts onder maken het mogelijk om de drie computers individueel uit te schakelen.
Het 3D geprinte frame om de schakelaars voorkomt dat de schakelaars per ongeluk uitgeschakeld worden wanneer er iets op de schakelaars valt.
Het eindresultaat
Nu heb ik dus een heel mooi, lief, klein server rackje wat ik zo mee kan nemen voor demonstraties.
Vandaar dat het wel eens voor kan komen dat deze web pagina even uit de lucht is wanneer ik met het ding onderweg ben.
Maar zodra ik op de plaats van bestemming ben is een beetje stroom en een Wifi verbinding alles wat ik nodig heb om weer online te komen.
Totdat ik weer op huis aanga natuurlijk.
Maar eenmaal thuis aangekomen gaat hij meteen weer aan, dat beloof ik.
Het rek is nu klaar. Nu moet ik alleen nog wat tijd vrij maken om een uitgebreide beschrijving te maken over dit project. Deze zal dan op mijn Nederlandstalige en Engelstalige websites vershijnen. Dat zijn respectivelijk https://oeioei.nl en https://sbprojects.net .