Een server bouwen met vrijheid op een beperkt budget
2021-01-11
Zoals ik in mijn vorige blogpost onder de aandacht heb gebracht, draait alles voor Jiyu Software op volledig vrije software. In deze blogpost wil ik graag het verhaal vertellen van de bouw van de computer die dit allemaal mogelijk maakt.
Een moederbord kiezen
Door niet-vrije BIOS-software zijn de keuzes in moederborden die kunnen draaien zonder propriëtaire software momenteel zeer beperkt. Alle chipsets die na 2012 door AMD zijn gemaakt en alle chipsets die na 2008 door Intel zijn gemaakt, zijn bijvoorbeeld al uitgesloten.
De beste manier om een volledig vrij moederbord te krijgen is momenteel om de x86-architectuur volledig te vermijden en een IBM POWER9 moederbord met OpenPower te gebruiken, zoals het Talos II Mainboard. Hoewel ik dit absoluut een goed idee vind, is een Talos II-bord momenteel pas vanaf $1500 verkrijgbaar zonder overige componenten. Ik zou zeker overwegen om in de toekomst een van deze moederborden te kopen op het moment dat ik deze investering kan veroorloven. Dus ik ging weer op zoek naar een x86-moederbord dat ik kon gebruiken.
Intel heeft een paar moederborden beschikbaar die een 755 socket gebruiken (Intel Core 2 Duo), wat erg lijkt op mijn Thinkpad X200. Hoewel deze moederborden nog steeds prima zouden zijn voor gemiddeld desktopgebruik, zullen twee cores het niet gaan redden voor de dingen die mijn server moet gaan doen.
Uiteindelijk ben ik daarom bij AMD uitgekomen. Alle vrije softwarecompatibele moederborden met AMD chipsets zijn bedoeld voor workstations en servers. In dit geval ben ik server aan bouwen dus dat is precies wat ik nodig heb.
Omdat ik niet te diep wil in gaan op het uitleggen van de verschillen tussen de beschikbare AMD-moederborden, heb ik uiteindelijk gekozen voor het ASUS KCMA-D8 moederbord. Dit moederbord gebruikt de C32 CPU-socket. Het heeft een dualsocket-ontwerp, waardoor je 2 CPU’s kunt gebruikt. Een dubbele CPU is een goede manier om te compenseren voor de verouderde architectuur. Dit bord past ook in een standaard ATX case. Op het moment van schrijven kun je dit moederbord krijgen voor ongeveer € 350, een stuk goedkoper dan de nieuwere Talos II.
De onderdelen verkrijgen
Het verkrijgen van de onderdelen voor de build was niet de makkelijkste taak in de wereld. De meeste onderdelen die ik nodig had om deze computer te laten werken, worden niet meer geproduceerd en zijn niet gemakkelijk te vinden.
Het moederbord
Het verkrijgen van het moederbord van eenvoudig dankzij Vikings. Ik heb voor het eerst over dit bedrijf gehoord op FOSDEM in 2018. Dit in Duitsland gevestigde bedrijf verkoopt gereviseerde vrije software-compatibele hardware en runt ook vrije software-hostingoplossingen. Ze verkopen het ASUS KCMA-D8 moederbord met vrije boot-software vooraf geïnstalleerd en ze zijn RYF-gecertificeerd.
Hun hardware wordt geleverd met een garantie van 2 jaar en hun support helpt je graag met het bouwen van je computer. Als je je eigen vrije software computer wilt hebben zonder zelf alle obscure componenten op te zoeken raad ik aan om een prebuilt computer van ze te kopen. D8 prebuilt computer.
De CPU’s
Zoals de meeste onderdelen in deze lijst zijn de C32-socket CPU’s die dit moederbord nodig heeft al lang niet meer in productie. Ik had met geluk een eBay verkoper uit de Verenigde Staten gevonden die een hele stapel gebruikte Opteron 4248 CPU’s verkocht voor slechts $25 per stuk. Ik kocht er 2 van om de twee CPU-slots op het moederbord te vullen en hoopte dat ze werkten.
Met 8 cores en threads, een baseclock van 3 GHz en een boostclock van 3.7 GHz is dit een behoorlijke high-end optie in de tijd dat deze CPU’s werden geproduceerd. Vooral als je er 2 hebt, kunnen ze gemakkelijk mee draaien met de gemiddelde desktopcomputer die tegenwoordig wordt geproduceerd.
Het enige echte nadeel van deze CPU is dat hij de AMD Bulldozer-architectuur gebruikt, die bekend staat om zijn vrij hoge thermic design power (TDP) in vergelijking met nieuwere CPU’s. Maar persoonlijk denk ik een iets hoger stroomverbruik een kleine prijs is om te betalen voor vrijheid.
De zoektocht naar koelers
De moeilijkste onderdelen om te vinden voor deze computer waren de CPU-koelers. Het is niet verassend dat er tegenwoordig niet veel koelers meer beschikbaar zijn voor C32-sockets. Op sites als eBay en AliExpress vind je koperen blokken die op deze werken op deze socket en die prima ergens in een rack in een datacenter kunnen staan. Maar deze computer staat in mijn woonkamer, dus ik heb iets stillers nodig. Misschien ook vooral om esthetische redenen, niets schreeuwt visueel “kracht” als een dualsocket-moederbord met twee gigantische koelers er op.
Het blijkt dat Noctua vroeger koelers maakte voor C32 sockets, een 120mm en 90mm versie. Ik vond snel een Nederlandse winkel die nog 2 van de 120mm versies op voorraad had en bestelde ze gelijk. Bij aankomst kwam ik erachter dat ze me maar één koeler hadden gestuurd. Het geld voor de tweede koeler hadden ze terug over gemaakt omdat er een voorraadfout op hun website stond.
Nu had ik maar een enkele Noctua koeler voor mijn dualsocket-systeem en het zou niet gemakkelijk zijn om een tweede te vinden. Ik heb gezocht naar deze koeler op bijna elke Europese computerwinkel. Tijdens mijn zoektocht heb ik geleerd om “niet op voorraad” en “niet meer leverbaar” te zeggen in ongeveer 15 verschillende talen.
Uiteindelijk vond ik een 90mm Noctua-koeler in de refurbished sectie op Coolmod.com, een Spaanse hardwareleverancier. Er was echter één probleem, Coolmod verstuurd geen pakketten buiten Spanje en Portugal. Ik schreef me in voor een Spaanse postdoorstuurservice en ongeveer een maand later heb ik mijn koeler in Nederland ontvangen.
Nu had ik twee Noctua-koelers voor mijn server, een 120mm en een 90m model. Helaas geen gelijk paar, maar hiermee zou het wel moeten werken.
De voeding
De voeding is het enige kant-en-klare onderdeel dat ik heb gebruikt tijdens het bouwen van deze computer. Voedingen zijn in de afgelopen tijd niet echt veranderd en worden meestal nog steeds geleverd met dezelfde connectoren als 10 jaar geleden. Ik heb uiteindelijk een Corsair RM550x gekocht omdat deze een 80plus Gold-classificatie heeft. Een hoog energierendement is belangrijk voor een computer die dag en nacht aan staat.
Het RAM-geheugen
Het ASUS KCMA-D8 moederbord heeft 8 slots voor DDR3-geheugen. Het mooie aan dit moederbord is dat het ook Error-correcting code (ECC) geheugen ondersteunt. ECC-geheugen kan detecteren en corrigeren wanneer datacorruptie optreedt. Dit is een functie die je normaal gesproken niet zult vinden op de gemiddelde desktopcomputer, omdat deze alleen echt nodig is in kritieke systemen.
Momenteel heb ik 16 GB niet-ECC DDR3-geheugen geïnstalleerd dat ik nog had liggen. Als ik ooit denk dat 16 GB RAM niet langer voldoende is, zal ik upgraden naar RAM-sticks die ECC ondersteunen.
De computer bouwen
Een computer bouwen met voornamelijk tweedehands onderdelen is altijd erg spannend. Je weet nooit zeker of alles gaat werken als je een computer bouwt met onderdelen die de vorige eigenaren waarschijnlijk als e-waste beschouwen.
Het eerste dat me opviel tijdens het bouwen van deze computer, is dat dit moederbord behoorlijk kieskeurig is als het op RAM-sticks aankomt. Ik heb een grote stapel willekeurige DDR3 RAM-sticks, maar de meeste wilt dit moederbord niks van hebben. Uiteindelijk heb ik toch een combinatie van sticks gevonden waarmee de computer wilde opstarten. Hieronder zie je de computer die voor het eerst opstart vanaf een Parabola LiveUSB.
Om te contrelen of beide CPU’s van eBay werkte heb ik het nproc
commando uitgevoerd.
En het detecteerd alle 16 fysieke cores!
Volgens Vikings kan dit moederbord behoorlijk heet worden op de southbridge. Ze stellen daarom voor om een kleine ventilator op het koelblok van de southbridge te installeren.
Eerst was ik een beetje in de war omdat er geen plek lijkt te zijn om een ventilator op het koelblok te installeren. Ik heb Vikings gemaild over hoe ik dit moet doen en ik kreeg het volgende antwoord:
With the zip ties that have been included in the shipment :) Perhaps not very sophisticated but does its job.
- Thomas, Vikings GmbH
Dus dat is wat ik deed, en inderdaad, het doet zijn werk.
Nu hoef ik alleen nog de server in een case te plaatsen en mijn 4 harde schijven aan te sluiten. Ik zal deze in een RAID 10-configuratie gebruiken. In de toekomst wil ik misschien SSD’s aan de server toevoegen.
En daar staat hij dan, mijn ultieme vrijheidsmachine, volledig in elkaar gezet.