Efficiënt en kostenbesparend: zo bouw je je eigen energiezuinige server
Nieuwere generaties processors zijn sneller en zuiniger dan hun voorgangers. Je kunt er een eenvoudige pc mee bouwen, maar ook een prima thuisserver. Het verbruik ligt gemiddeld rond 10 watt, met wat optimalisaties is dat zelfs nog verder naar beneden te brengen. In deze basiscursus geven we tips voor het samenstellen van je server én voor het terugbrengen van het verbruik. Dat kan zelfs zonder de server uit de meterkast te halen.
Na het lezen van dit artikel weet je hoe je zelf een server kunt bouwen en hoe je het energieverbruik daarvan zo laag mogelijk houdt. Dat laatste doe je door:
- Het BIOS te optimaliseren
- De processor te ontlasten
- Het besturingssysteem te optimaliseren
- De slaapstand in te stellen
Lees ook: Grip op je energieverbruik: houd bij wat al jouw apparaten verbruiken
Er zijn tegenwoordig heel veel mini-pc’s te koop met extra zuinige processors van recente generaties als Jasper Lake en Alder Lake. Deze zijn in de regel krachtig genoeg voor een eenvoudige pc met Windows. Maar ze zijn ook heel interessant als thuisserver. Het verbruik in rust van deze systemen ligt veelal rond 10 watt of minder.
Met wat optimalisaties kun je vaak tot een nóg lager verbruik komen. Daar geven we in dit artikel tips voor. We richten ons vooral op servers met x86-processor van Intel of AMD met verwisselbaar geheugen. Voor opslag hebben de meeste systemen één of twee SATA-poorten of een NVME-aansluiting.
Afhankelijk van je doel kan een op de zuinige ARM-architectuur gebaseerde Raspberry Pi ook een goede optie zijn. Al zijn de verschillen niet heel groot meer. De Pi 4 verbruikt in rust ongeveer 2,7 watt, maar in de praktijk is 3,8 watt realistischer. Vol belast verbruikt deze Pi ongeveer 6,4 watt. De Pi 5 is wat krachtiger en efficiënter. Maar met een zuinige Intel-processor kun je deze waarden zeker benaderen. En je hebt ook nog extra kracht achter de hand voor de momenten dat je dat nodig hebt.
Wat kost een server Een server staat normaliter 24 uur per dag aan. Dat zijn 8736 uren per jaar. Je kunt tegenwoordig makkelijk een server bouwen die in rust maar 10 watt of minder verbruikt. Dit resulteert in een energieverbruik van 87 kWh per jaar. Bij een stroomprijs van € 0,40 per kWh is dat ongeveer 35 euro.
Met optimalisaties zou je dat verbruik zelfs kunnen halveren. Gebruik je oudere hardware, dan ziet het plaatje er heel anders uit. Een verbruik van 100 watt is geen uitzondering. Dat kost je ruim 350 euro op jaarbasis. Een zuiniger systeem heb je dan heel snel terugverdiend!
©Kasidis Arunruangsirilert
1 Zuinige mini-pc’s
Een mini-pc is vaak een goede en zuinige optie voor een server. De NUC (vroeger van Intel, nu van ASUS) is een bekend voorbeeld, maar er zijn ook steeds meer varianten van andere fabrikanten. Ze gebruiken een zuinige processorvariant die je ook vaak in laptops ziet. In de regel is bij gebruik als server vooral het rustverbruik (ook wel idle-verbruik genoemd) van belang, niet de pieken die je af en toe ziet. Een goede indicatie is een lage TDP (Thermal Design Power) voor de processor. Bij de Intel N100 is dat bijvoorbeeld 6 watt en voor de N5105 ligt dat op 10 watt.
Er zijn veel goedkope en zuinige mini-pc’s met deze processors. Je hoeft er alleen nog één of twee geheugenbankjes en een ssd voor opslag aan toe te voegen. Merk op dat je vaak meer geheugen kunt gebruiken dan Intel aangeeft. In de Odroid H3 met de N5105-processor kan bijvoorbeeld tot 64 GB, terwijl Intel 16 GB als maximum noemt.
Nog een voordeel van de lage TDP is dat er weinig eisen aan de koeling worden gesteld. De meeste mini-pc’s hebben alleen hun metalen behuizing als koeling of een eigen passief koellichaam en zijn dus volledig stil. Ga je ze wat zwaarder belasten, dan kun je daar altijd nog een externe ventilator bovenop zetten.
2 Barebone
Wil je een zuinige compacte server, maar wel zelf de processor kiezen? Een systeem als de ASRock DeskMini 310 voor de achtste en negende generatie Intel-processors of de DeskMini H470 voor de tiende en elfde generatie kan een aantrekkelijke optie zijn. Deze systemen staan bekend als zuinig, terwijl ze ook extra desktopkracht bieden op momenten dat dit gewenst is. Bij zowel de H310 als de H470 kun je het rustverbruik onder de 10 watt krijgen en met optimalisaties valt nog ongeveer veertig procent te winnen. Al hangt het ook van de werklast en gekozen componenten af.
3 Zelfbouw
Bij zelfbouw moet je uiteraard goed op het stroomverbruik van alle individuele onderdelen letten. In moederborden zie je veel verschillen. Een klein systeem is vaak zuiniger. Probeer gamemoederborden in ieder geval te vermijden.
Bij het kiezen van een processor wordt vaak schromelijk overschat hoeveel verwerkingskracht nodig is. Twijfel je tussen Intel en AMD? Doorgaans ligt het rustverbruik bij Intel-processors lager. Processors van AMD zijn daarentegen wel vaak efficiënter als er veel werk verzet wordt. Het lagere rustverbruik zal meestal doorslaggevend zijn bij de keuze van een server. Geef je een server veel te doen, dan kan AMD weer interessant worden.
Wat opslag betreft is een NVME-ssd vaak het zuinigst. Als je niet veel opslag nodig hebt, probeer dan 3,5inch-schijven te vermijden. Zo’n harde schijf kan zomaar 8 watt aan je verbruik toevoegen. Ook snellere multigigabit-netwerkpoorten kun je vaak beter vermijden als het systeem zeer zuinig moet zijn.
Let ook op de keuze van de voeding en kies een efficiënt exemplaar. Bouw je een kleine server, dan is een PicoPSU om die reden aantrekkelijk. Heb je een mini-pc gekocht? Dan kun je eventueel overwegen de stroomadapter te vervangen door een efficiënter model.
©Ruslan Ropat
Pas op bij tweedehands servers Op de tweedehandsmarkt vind je veel oudere servers. Die zijn weliswaar krachtig en flexibel uit te breiden, maar ze maken ook een hoop herrie én verbruiken vaak veel stroom. De meerprijs van een duurdere maar zuinigere server heb je dan snel terugverdient, terwijl de prestaties soms nauwelijks lager zijn.
Door verbeterde productieprocessen zijn nieuwere processores veel efficiënter. Een niet al te oude tweedehands thinclient kan wel een goede optie zijn. Je vindt ze ook wel onder de naam SFF (Small Form Factor). Bij de aanschaf van tweedehands apparatuur is het raadzaam vooraf te onderzoeken wat je kunt verwachten qua prestaties en verbruik. Voor de prestaties geeft PassMark een aardige indicatie. Voor verbruikscijfers kun je zoeken naar ervaringen van gebruikers.
4 Optimalisaties
Er zijn vaak wat aanpassingen nodig aan de BIOS-instellingen om een server zuiniger in te stellen. De standaardinstellingen zijn vaak geoptimaliseerd voor prestaties, niet voor een lager stroomverbruik. Daar geven we in paragraaf 9 tips voor.
We zien de laatste jaren een groot aanbod van mini-pc’s uit China. Merk op dat zulke systemen door een mager BIOS niet altijd goed zijn te optimaliseren. Een systeem van Topton met N5105-processor met de software Proxmox VE en pfSense erop verbruikt 13 watt en dat blijkt maar lastig omlaag te brengen. Al hebben de vier 2,5Gbit/s-netwerkpoorten en het gebruik als router ook invloed op het verbruik. Een Odroid H3 met diezelfde processor is ook soms wat nukkig, maar wel zuiniger en beter te optimaliseren. Het is in ieder geval raadzaam om bij aanschaf ook op de mogelijkheden van het BIOS te letten.
5 Processor ontlasten
Sommige taken vragen extra veel van de processor. Soms kun je die op een of andere manier temmen. Het transcoderen van video kun je bijvoorbeeld vrijwel volledig vermijden door een goede mediaspeler bij de pc te gebruiken, zoals een Nvidia Shield. Wil je het toch door de server laten doen? Dat hoeft niet altijd softwarematig (en daarmee via de processor). Plex en Jellyfin kunnen prima de geïntegreerde gpu van de processor benutten voor hardwarematig transcoderen. Die geïntegreerde gpu (igpu) is in de laatste generaties processors behoorlijk krachtig en de meeste kunnen met recente formaten als HEVC/H.265 goed overweg.
Lees ook: Stappenplan: zelf een mediaserver maken op je pc of NAS met Jellyfin
Er zijn ook andere manieren om de processorbelasting te beperken, waar je qua verbruik zeker mee kunt winnen. Een goed voorbeeld is de geavanceerde videobewakingssoftware Frigate. Een tpu zoals de Google Coral is voor het rekenwerk enorm veel efficiënter dan de processor. De Google Coral gebruikt ongeveer 1 tot 2 watt. Laat je de processor het werk doen, dan is ongeveer 10 watt extra nodig. Dit hebben we gemeten met de al heel zuinige Intel Celeron N5105-processor in ons testsysteem. Op jaarbasis bespaar je dan ongeveer 30 euro. De tpu biedt natuurlijk meer voordelen, in het bijzonder een veel snellere detectie van personen of dieren.
6 Verbruik handmatig meten
Bij het optimaliseren van de instellingen is het natuurlijk noodzakelijk dat je weet wat het systeem verbruikt en wat je wint met de aanpassingen. Daarom raden we een goede verbruiksmeter aan die de RMS-waarde van de stroom meet (een true-RMS-meter). Een voordelige optie is de Brennenstuhl PM 231 E. Op het kleine en wat lastig af te lezen display zie je het verbruik in watt. Ook kun je het totale energieverbruik en de energiekosten over langere periode bijhouden. Drie batterijen zorgen voor gegevensopslag bij stroomuitval.
7 Meten op afstand
In plaats van een handmatige meter die je ter plaatse voor de voeding van de server zet, kun je ook een meetstekker gebruiken. Bij dit artikel hebben we een exemplaar van HomeWizard voor wifi gebruikt, de Energy Socket. Het voordeel van deze optie is dat je het verbruik op afstand kunt monitoren via de app van de fabrikant.
Bovendien kun je Home Assistant gebruiken, waardoor je het verbruik in je energiedashboard op kunt nemen. Zo’n meetstekker is trouwens ook handig om een harde reset te geven, voor als de server is vastgelopen. Stel je server dan wel zo in, dat deze na een stroomonderbreking weer aangaat.
De meetstekker van HomeWizard zou individueel zijn geijkt voor heel precieze metingen, al hebben we dit niet gecontroleerd. Let er op dat zulke meters een klein eigen verbruik hebben. Bij de Energy Socket is dat overigens minder dan 1 watt.
8 Beheer op afstand
Diverse duurdere servers beschikken over een mogelijkheid om muis, monitor en toetsenbord op afstand over te nemen, via het netwerk. Dit maakt het beheer van een server veel eenvoudiger, al vraagt deze functie wel wat extra stroom.
Op eenvoudige en zuinige systeempjes ontbreekt zoiets uiteraard. Je kunt het wel eenvoudig toevoegen met PiKVM, een voordelige zelfbouwoplossing rondom de Raspberry Pi. Deze vangt het beeld van de server op via de HDMI-uitgang, en zorgt voor de emulatie van muis en toetsenbord. Op een andere pc kun je via een browser inloggen, het beeld van de server bekijken en deze bedienen met muis en toetsenbord. Hierdoor kun je ook prima de BIOS-instellingen aanpassen of een besturingssysteem installeren.
Heb je PiKVM na gebruik niet meer nodig? Verwijder de kabels naar de server. Het scheelt vaak iets in het verbruik als er geen monitor aan de server hangt. Je leest meer over PiKVM in het artikel Zo beheer je een pc op afstand met KVM.
PiKVM voor beheer op afstand Het aansluiten van de PiKVM is relatief eenvoudig en kan op verschillende manieren. Het meest gangbaar is het gebruik van een usb-c-splitter naar usb-a-male en usb-a-female. Deze sluit je op de usb-c-poort van de Raspberry Pi 4 aan. Op de usb-a-male van deze splitter sluit je dan een voeding voor de Pi aan. De usb-a-female van de splitter sluit je aan op een pc en dient voor de emulatie van muis en toetsenbord. Gebruik voor deze verbinding een stekker van usb-a-male naar usb-a-male. Zet hier een PortaPow-usb-stroomblokkering tussen. Die geeft alleen data door naar de pc en niet de 5 volt. Het leveren van stroom richting de pc kan namelijk voor ongewenste effecten zorgen!
Sluit daarnaast een HDMI-videograbber voor usb aan op de zwarte usb-poort die het dichtst tegen de print aanzit. Die wordt door PiKVM benut voor het afvangen van het beeld van de server. De HDMI-poort op de videograbber verbind je uiteraard met de HDMI-uitgang van de server.
9 BIOS-instellingen
Wil je het stroomverbruik van je server optimaliseren, dan zijn zowel de instellingen van het BIOS als het besturingssysteem van belang. Voordat je aan de slag gaat, is het raadzaam het BIOS bij te werken: nieuwe versies lossen soms problemen met bijvoorbeeld energiebeheer op.
Verder is het een beetje maatwerk. Elk systeem is anders. Wel is de processor verantwoordelijk voor een groot deel van het energieverbruik. De grootste winst boek je door het aanzetten van C-states. Deze C-states zijn een soort spaarstand voor de processor. Bij de DeskMini H470 kun je het verbruik daarmee ongeveer veertig procent terugbrengen. Je kunt hiervoor in het BIOS alleen C3 tot en met C10 en de Package C-state-support op Enabled in plaats van op Auto zetten.
Een andere besparende optie is ASPM (Active-State Power Management). Bij de Odroid H3 pas je deze optie aan via Chipset / PCH-IO Configuration. Ga dan naar PCI Express Configuration en kies voor PCIe 1, 2 en 5 bij ASPM de optie Auto.
10 Besturingssysteem
In het besturingssysteem zijn vaak ook wat optimalisaties mogelijk. Zo is Powertop een handig programma om details over het energieverbruik van je computer te zien. Je krijgt suggesties voor het besparen van energie. Je installeert het onder Ubuntu of Debian met het commando:
apt install powertop
Vervolgens kun je de tool starten met de opdracht:
powertop
Statistieken zijn verdeeld over zes schermen, waar je met Tab en Shift+Tab doorheen bladert. Onder Overview zie je welke processen en componenten de meeste stroom verbruiken en de processor het vaakst ‘wakker’ maken. Deze processen voorkomen vaak dat dat de zuinigere C-states worden benut.
Onder Tunables zie je met welke instellingen je nog kunt besparen. Je kun dit automatisch vanaf de opdrachtregel regelen met de opdracht:
powertop --auto-tune
Dit moet je wel na elke herstart opnieuw doen. Houd het ook af en toe in de gaten, want een update van de kernel kan zomaar, door veranderde drivers, effect hebben op het verbruik en nieuwe maatregelen nodig maken.
11 Slaapstand monitor
In Debian kun je een instelling gebruiken om de monitor in de slaapstand te zetten en de igpu in lagere verbruiksstand. Bewerk daarvoor GRUB met deze opdracht:
nano /etc/default/grub
Zorg dat onderstaande regel als volgt in de configuratie staat (of pas deze aan):
GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=15"
Bewaar het bestand met Ctrl+O en verlaat de editor met Ctrl+X. Voer de veranderingen dan door met de opdracht update-grub en herstart het systeem.