BBG Zuinige Server Maart 2014

Door mux op zaterdag 01 maart 2014 20:41 - Reacties (29)
Categorie: Best Buy Guides (BBGs), Views: 5.343

Het is tijd voor een nieuwe zuinige server-BBG en dit keer gaan we het anders doen. Geen gegok meer. Geen 'ongeveer'-verbruik. Ik ga je exact, tot op de tiende Watt, vertellen wat je nieuwe systeem gaat verbruiken. Ik heb namelijk met dank aan medetweakers xmen, cj1, sphere en Dadona een hele stapel moederborden getest met een prototype-versie van MADPSU. Naar aanleiding daarvan schrijf ik mijn conclusies.

Allereerst: deze BBG gaat over zuinige (thuis)servers. Zuinigheid is bij servers zo belangrijk omdat ze doorgaans 24/7 aanstaan. Zelfs servers die niet persé de hele tijd aan hoeven te staan - tegenvoorbeelden zijn bijvoorbeeld servers die ook routerwerk doen - staan vaak nog steeds 6-12 uur per dag aan en dat betekent dat het verbruik van de computer door de jaren heen een flink deel van de TCO (Total Cost of Ownership) wordt. En daar hebben we het tweede buzzword van deze BBG: we kijken niet alleen naar het verbruik van de geteste systemen, maar ook naar de TCO. En dat leidt tot interessante conclusies.

Wat voor thuisserver?


In deze BBG richt ik mij op thuisservers, dat wil zeggen kleine (fysiek en qua features) servers die voornamelijk als NAS, router, LAMP- of mediaserver worden gebruikt en die het doorgaans niet zo druk hebben. Dat laatste bestaat nogal eens onduidelijkheid over: wat is 'niet zo druk'?

Niet zo druk betekent dat je server het grootste deel van de tijd idle draait, in zijn laagste energietoestand. Hij is dan wel aan en bereikbaar, maar heeft weinig tot niets te doen. Zelfs een zeer heftig gebruikte server doet dat. Bijvoorbeeld: mijn thuisserver is zo goed als mijn enige data-opslag in mijn huis. Alles wat ik heb staat erop, zodat ik geen harde schijven in andere computers hoef te stoppen en zodat alles centraal staat zodat het gemakkelijk te backuppen is. Gezien ik voornamelijk vanuit huis werk stream ik de hele dag, samen met mijn vriendin, muziek en documenten vanaf mijn server. Crashplan, mijn backup-voorziening, draait ook continu backups van mij en iemand anders en ik heb een aantal services erop draaien die o.a. webcams en netwerkapparatuur in de gaten houdt. De server heeft altijd wel iets te doen, maar toch staat hij maar 0,6% van de tijd in C0 te draaien - dat wil zeggen dat de processor actief is. De rest van de tijd slaapt de processor.

Zelfs als je van plan bent om je server als mediaserver te gebruiken die regelmatig (HD) videostreams moet transcoden, dan zorgt dat alsnog maar voor een fractie van de tijd dat je systeem echt bezig is. Je moet wel heel erg veel films op een dag kijken (en meerdere tegelijk) om een systeem echt meer dan 50% belast te maken. En naarmate computers sneller worden is dit steeds meer de werkelijkheid. Er zijn weinig systemen meer die niet het grootste deel van de tijd idle lopen. Het is dus een redelijke aanname om daar vanuit te gaan.

... dat wil zeggen, als je systeem de belasting daadwerkelijk aankan. Ik heb in deze BBG ook een paar moederborden gekeken met geïntegreerde processoren, namelijk de AMD C60, Celeron 847 en Intel Atom D2550. Dit zijn borden die véél langzamer zijn en een hoop instructies missen om bijvoorbeeld transcoding en parren te versnellen. Deze systemen zijn prima geschikt als router, LAMP-server of NAS, maar gaan tekort schieten als mediaserver of andere zwaardere thuisservertaken. Denk daarom goed na over het doel van je server. Kies allereerst op basis van minimale benodigde features en daarna pas op TCO en verbruik.

Geteste moederborden


Ik heb een hele stapel moederborden kunnen testen en in de keuze heb ik (en in grote mate de mensen die ze mij in bruikleen hebben gegeven) breed geschoten. Van alles zit er wel iets tussen. Niet alle moederborden sluiten even goed aan bij de BBG, maar dit is ook de eerste keer dat ik een 'massatest' heb gedaan en ik wilde eerlijk gezegd wel eens wat dingen met elkaar vergelijken die ik anders werkelijk nooit onder ogen krijg.

Hoe dan ook, de geteste Haswell-borden:
NaamForm factorPrijs
ASRock Z87E-ITX WiFiMini-ITX¤122
MSI H81IMini-ITX¤65
Asus H81TThin mini-ITX¤68
ASRock B85M-ITXMini-ITX¤67
ASRock H81M-ITXMini-ITX¤56
Gigabyte GA-H81NMini-ITX¤70
ASRock H87M Pro4Micro-ATX¤66
ASRock B85M Pro4Micro-ATX¤57
ASRock H81M-DGSMicro-ATX¤39


Deze moederborden zijn zoals gezegd van alles wat. Allereerst hebben we er natuurlijk een hoop H81 en B85 chipsets in zitten; de low-end van Intel. Ook zit er een Z87-bord in om eens te kijken of veel features betekent dat een moederbord ook veel moet verbruiken. De ASUS H81T is het enige thin mini-ITX bord, wat vooral interessant is omdat je er geen picoPSU of ATX-voeding voor nodig hebt en dus zowel in verbruik als aanschafkosten kunt winnen. En er zijn een aantal micro-ATX borden die één van de donateurs getest wilde hebben en die interessant zijn voor mensen die bijvoorbeeld meer schijven willen aansluiten of al een grotere behuizing hebben liggen.

Al deze moederborden worden getest met:
  • Intel Celeron G1820, intel's goedkoopste Haswell-processor die toch heel capabel is
  • 4GB DDR3 @ 1.5V
  • Crucial M4 256GB mSATA, waar nodig op een SATA->mSATA adapter
Ook zijn er een aantal moederborden met geïntegreerde processor, namelijk:
NaamProcessorForm factorPrijs
ASRock E35LM1AMD Zacate E-240Mini-ITX¤54
Asus C8HM70-ICeleron 847Mini-ITX¤61
ASRock AD2550R/U3S3Atom D2550Mini-ITX¤132


Dit is respectievelijk het goedkoopste moederbord+processor die je kunt vinden, de goedkoopste MoDT (mobile on desktop, met de mobiele Celeron 847-processor) oplossing en de goedkoopste Intel dual-NIC oplossing.

Alleen het verbruik van het moederbord, processor, SSD en geheugen is opgenomen in de statistieken. Het eventuele meerverbruik van de mSATA->SATA-adapter is niet meegerekend.

In de TCO-berekeningen neem ik mee:
  • Moederbord
  • Processor
  • Verbruikskosten bij 23,2ct/kWh en 24/7 idle gedurende 3 jaar

Testmethode


Voor het meten van het verbruik gebruik ik een nog steeds in ontwikkeling zijnd prototype MADPSU. Ja, dit project leeft nog steeds en ja, het is al een hele tijd geleden dat er updates over zijn geweest. Ik ben al een tijdje bezig met het opzetten van een nieuw bedrijf samen met 3 andere mensen om MADPSU en andere zuinigheidstechnieken op de markt te kunnen brengen en achter de schermen gebeurt er een hoop om dit werkelijkheid te maken. Ik kan er echter nog steeds niet al te veel concreets over vertellen totdat er contracten getekend zijn.

Hoe dan ook is MADPSU een meetplatform aan het worden waarbij ik met ongeveer 1kHz bandbreedte en binnen enkele tientallen mW absolute afwijking het verbruik van elke willekeurige computer kan meten en analyseren. Voor de 2 mensen die mijn blogs lezen en toevallig ook op de Hogeschool van Amsterdam zitten: dit bordje wordt momenteel gebruikt door eerstejaarsstudenten van Technische Informatica voor een project waar ik bij betrokken ben. De meetresultaten die ik hieruit haal zien er ongeveer zo uit:

http://tweakers.net/ext/f/XJyRtGmFFLgpuqaqpltw66cV/full.png

Ik meet niet alleen het DC (achter de voeding) verbruik van een computer, ik kan ook zoals in het plaatje te zien is vrij goed zien wat de computer daadwerkelijk aan het 'doen' is. In het plaatje hierboven zie je bijvoorbeeld Ubuntu op een ASRock B75 Pro3-m. De gele lijn is het verbruik van de CPU en het is duidelijk dat deze helemaal niet rustig is. Hij is duidelijk met van alles bezig, maar het scherm staat uit en de computer is zo idle als maar kan. Hier is dus duidelijk iets mis. Wat bleek? Ik ben een Linux-noob en er schijnt een bug in de USB-drivers van de meeste laatste Debian-versies te zitten die ervoor zorgt dat aangesloten USB-apparaten, ook als ze in selective suspend zitten, ontzettend veel interrupts veroorzaken. Ontkoppel het USB-toetsenbord en de muis en voilà:

http://tweakers.net/ext/f/ot5UWq2RsYQ4lwxgzO6y0vK7/full.png

Dit is de kracht van een soort 'oscilloscoop'-beeld van verbruik, in plaats van een getalletje op een vermogensmeter in het stopcontact. Ik kan in het signaal goed ventilatoren, harde schijven, interrupts van een USB-muis en state-transitions van de CPU bekijken. Daardoor kan ik met meer zekerheid zeggen wat er aan de hand is als het verbruik fluctueert of hoger is dan normaal. Een gewone vermogensmeter middelt dit allemaal uit over een halve of hele seconde, MADPSU niet.

Meetresultaten


Genoeg gekletst, we willen resultaten. Dit is het verbruik van alle bordjes onder Windows 8.1:

DC power consumption comparison

Groen is het verbruik met scherm uit, fan uit en geen USB-dingen ingeplugd. Helemaal kaal enkel het verbruik van moederbord, processor en geheugen. Hier zien we één van de redenen dat er zoveel ASRock-moederborden in de test zijn vergeleken met andere merken: ik heb de afgelopen anderhalf jaar een hoop MSI, Asus, Gigabyte en ASRock-moederborden gezien en consistent is ASRock de beste performer. Waar MSI het meestal nog won van ASRock in de Sandy Bridge- en Ivy Bridge-generatie moederborden is ASRock nu echt de beste. Consistent. Nooit eerder kon ik zo gemakkelijk een blanket statement maken: koop ASRock. Een andere reden waarom ASRock populair is, is de prijs van de moederborden. Ze zijn meestal goedkoper dan de concurrentie voor dezelfde features en hebben een brede selectie die goed verkrijgbaar is in de low-endmarkt.

De gele balk is het verbruik van de moederborden met scherm aan, fan ingeplugd en USB toetsenbord+muis aangesloten. Dit is een belangrijke test, want het is een sanity check of je alles wel goed hebt geïnstalleerd. Als je een computer bouwt en géén verschil in verbruik ziet als je het scherm uit laat gaan heb je waarschijnlijk niet de juiste grafische drivers geïnstalleerd. Als je wél verschil ziet als je USB-apparaten in- of uitplugt heb je waarschijnlijk de chipset- of INF-driver niet (correct) geïnstalleerd.

De rode balk is het verbruik onder vollast. Hier is te zien dat de mini-ITX moederborden minder stroomfasen hebben en daardoor onder belasting zuiniger zijn dan de micro-ATX moederborden. De Asus- en Gigabyte-moederborden blinken zoals altijd weer eens uit in hun brakheid, met zeer inefficiënte conversie en een algemeen onnodig hoog verbruik. Zonde, want qua features en ook in de goede afwerking van de moederborden zijn het duidelijk de meerderen van MSI en ASRock. De moederborden met geïntegreerde processor laten allemaal zien dat het hele zuinige processoren op hele onzuinige moederborden zijn. Het piekverbruik is laag. Opvallend is dat veruit de meest krachtige processor hier - de Celeron 847 - consistent het laagste verbruik neerzet.

De drie vreemde eenden in de bijt hier zijn de ASUS H81T, ASRock E35LM1 en ASRock AD2550R. De H81T was een hele lange tijd mijn favoriete moederbord om redenen waar ik verderop op in ga. Echter, wat ik ook probeerde, ik bleef een ongewoon hoog verbruik houden in idle met het scherm aan. Ook andere versies van het BIOS haalden niets uit. Het lijkt erop dat de CPU niet in package C3 gaat (een sleep-state waarbij niet alleen de cores maar ook alle elektronica eromheen in slaapstand gaat) met het scherm aan, maar wel probleemloos in package C6 met het scherm uit. Dit is zeer waarschijnlijk een BIOS-probleem, of misschien een probleem met één van de ondersteuningschips op het moederbord die een ACPI C-state blokkeert.

De E35LM1 en AD2550R laten zien dat ouderwetse chipsets geen diepere sleep-states ondersteunen, waardoor er nauwelijks stroom kan worden bespaard met het scherm uit. Sterker nog, zelfs het idle-verbruik ligt - ondanks het hele lage TDP van de processoren - veel hoger dan de veel krachtigere Haswell-systemen. Dit is erg jammer, want het zijn qua features en prijsstelling interessante moederborden.

TCO


We zijn geïnteresseerd in een laag verbruik omdat het ons op de lange duur minder kost. Nouja, ik ben persoonlijk al erg geïnteresseerd in laag verbruik op zich, maar het doel van deze BBG is het kiezen van de goedkoopste oplossing. Daarom heb ik de energiegebruikskosten en de aanschafprijs van equivalente systemen samengevat in dit staafdiagram:

TCO comparison

Dit laat een hele andere volgorde zien dan het verbruik. De lichtgroene balk is de TCO met een PicoPSU, donkergroen is als je een ATX-voeding gebruikt. Dit is berekend over een levensduur van 3 jaar waarin de computer continu idle draait. Ik heb overal mee rekening gehouden: ik heb bij de moederborden zonder CPU de prijs van een Intel Celeron G1820 opgeteld en het prijsverschil tussen een PicoPSU+adapter en een goedkope en redelijke kwaliteit ATX-voeding (be quiet! pure power L7 300W) meegenomen. Vandaar dat de ASUS H81T ook geen donkergroen deel van het diagram heeft: daar kun je geen ATX-voeding op aansluiten.

Er missen ook een hoop dingen in de TCO, omdat die in principe gelijk zijn voor alle computers: opslag, geheugen, behuizing en eventuele andere accessoires.

Dus, wat is de analyse? Allereerst: een lage aanschafprijs is zéér gunstig voor een hoge plek in deze rangschikking. De E35LM1 is een moederbord van nauwelijks 45 euro inclusief CPU, terwijl de goedkoopste Haswell-combinatie 73 euro is en dat prijsverschil haal je er maar moeilijk uit. Alleen de ASRock H81M-ITX en ASUS H81T zijn goedkoper in gebruik dan dat bord. Maar... die geven dan ook echt extreem veel meer prestaties en features voor je geld. Om die reden kan ik de E35LM1 alleen aanraden voor systemen die maar zelden aanstaan en waar het verbruik niet uitmaakt. Anders zou ik absoluut voor de ASUS C8HM70-I of een ander Celeron 847-moederbord kiezen - die geeft aanzienlijk meer features en processorpower voor ruwweg dezelfde TCO.

Ook zie je rode lijntjes om twee moederborden staan. De ASRock H81M-ITX en B85M-ITX gebruiken allebei een Qualcomm Atheros AR8171 netwerkchip. Dit is een onder Windows prima werkende, maar onder Linux en BSD extreem slecht ondersteunde gigabit netwerkchip. Als je ook maar denkt over het draaien van Linux of virtualisatie op je server moet je deze moederborden vermijden.

Het BBG-systeem


Dus, wat is het beste moederbord op basis van TCO? Tja, dat moet dan wel de ASUS H81T zijn. Het hoge DC-verbruik wordt ruimschoots goed gemaakt door de zeer efficiënte adapter die je hierbij kunt gebruiken. Het moederbord heeft hardware die goed ondersteund wordt onder Windows, Linux en FreeBSD (bijv. ZFSGuru). Daarnaast is er geen PicoPSU of gigantische ATX-voeding nodig en kan het geheel in een goedkope en superkleine kast worden gestopt - je raadt het al - mijn favoriete Mini-Box M350. Ook de aanschaf is gunstig; waar vroeger thin mini ITX aanzienlijk duurder was dan een equivalent non-thin bordje is de H81T één van de goedkoopste Haswell-moederborden op de markt. De oude formule van voorgaande BBGs werkt nog steeds: koppel een M350 aan een thin ITX moederbord met de goedkoopste Core-processor en je hebt een winnaar in handen.

#ProductPrijsSubtotaal
1Intel Celeron G1820 Boxed¤ 30,44¤ 30,44
1Asus H81T¤ 67,51¤ 67,51
1Toshiba MQ01ABB, 2TB¤ 119,78¤ 119,78
1Mini-box M350¤ 43,50¤ 43,50
1Seasonic 90W adapter¤ 36,24¤ 36,24
1Crucial Ballistix Sport BLS8G3N169ES4CEU¤ 63,80¤ 63,80
1Crucial mSata M500 120GB¤ 61,50¤ 61,50
Totaal¤ 422,77


Zoals altijd ook nog een klein begeleidend schrijven bij de componentkeuze:
  • De harde schijf is momenteel de interessantste 2TB 2,5"-schijf in productie, met een verbruik van slechts 0,7W idle en 0,18W in spindown, doch met prima prestaties voor een harde schijf en een hoop opslag in een klein doosje is dit ideaal voor een compacte en zuinige server die meer opslag nodig heeft dan op de SSD past. Indien 1TB genoeg is voldoet zo goed als alles tegenwoordig, maar is de Hitachi Travelstar 1TB een goedkope keuze.
  • De behuizing is dezelfde die ik al jaren aanraad, het is namelijk simpelweg de kleinste en goedkoopste behuizing voor een mini-ITX systeem die je kunt vinden. Indien je één van de micro-ATX-moederborden wilt gebruiken zonder (veel) harde schijven zou ik simpelweg de goedkoopste kast zoeken, maar als er meerdere harde schijven in moeten zou ik zeker voor de Fractal Design Define Mini gaan.
  • Het geheugen is het goedkoopste 8GB SODIMM in de pricewatch die compatible is met dit moederbord.
  • De SSD is momenteel de grootste no-brainer in de wereld. Beter, sneller dan de concurrentie en nog goedkoper ook. Ongelooflijk.

Epiloog: Verbruik onder Linux, FreeBSD en andere overpeinzingen


Toen ik begon met het vragen om moederborden die ik kon testen voor deze BBG vroeg ik ook welke tests mensen verder graag willen zien. Veelgevraagd is het verbruik onder andere besturingssystemen. Eén van de redenen dat deze BBG iets vertraagd is is de hoofdpijn die mij dat heeft opgeleverd.

Windows heeft eigenlijk al sinds Windows Vista een hele goede out-of-the-box-experience wat betreft verbruik. Driversupport is goed en bovendien worden de juiste drivers bijna altijd automatisch ingeladen zonder enige tussenkomst van de gebruiker. Zelfs de INF, Intel ME, RST en IGP-drivers worden tegenwoordig helemaal automatisch geïnstalleerd en die zijn cruciaal voor een laag verbruik. Het maken van een zuinige computer is een peulenschilletje onder Windows. Installeer Windows, sluit de computer aan op het internet en wacht een uurtje. Klaar.

Linux is... anders. Er zijn vooral de laatste tijd een hoop tumultueuze driver- en kernel-issues geweest die verbruik flink beïnvloeden. De zaken waar ik tegenaan ben gelopen:
  • Onder Kernel 3.11 wordt niet standaard de intel_pstate scaling governor ingeladen, maar de ouderwetse acpi_cpufreq. Deze zorgt ervoor dat de CPU bijna niet in slaapstand kan blijven voor meer dan een paar ms. Oplossing: update naar Kernel 3.12 of hoger of - indien jouw distributie met intel_pstate is gecompileerd - gebruik de kernel boot option 'intel_pstate=enable'
  • Sommige kernels worden gecompileerd met de verkeerde idle time governor (idle=poll in plaats van idle=mwait)
  • Er zit in zo goed als alle versies een probleem in de USB-drivers die zorgt voor een overdaad aan interrupts en navenant ontzettend hoog verbruik
  • Het is soms erg onduidelijk hoe je zaken moet oplossen. Er zijn minstens 4 verschillende programma's in debian-tools en common-tools die cpufreq kunnen aanpassen, allemaal op een iets andere manier.
  • Verschillende gebundelde programma's, zowel in het door mij geteste Ubuntu 13.10 als in andere distributies, hebben gedocumenteerde bugs die 50 of 100% cpu-gebruik veroorzaken. Bijvoorbeeld dbus. Enige oplossing daarvoor is een reboot of een update naar een git-versie die je vanaf source moet compilen (bijv. dbus 1.6.18-git).
Ik heb alleen nog maar met bovenstaande problemen te maken gehad, andere mensen hebben zelfs na dagenlang klooien nog steeds een hoog verbruik. Met andere woorden: out of the box is in ieder geval Ubuntu 13.10 niet aan te raden. Wees bereid om veel te googlen en door te blijven gaan met tunen totdat alle problemen opgelost zijn. Uiteraard is dit een non-issue voor doorgewinterde Linux-users, ondanks dat ik er lang mee bezig ben geweest heb ik niet veel meer gedaan dan een hoop apt-get installs en één kernel-upgrade.

Onder BSD heb ik vergelijkbare problemen gehad. Stock draait ZFSGuru - wat ik getest heb - meestal met vrijwel hetzelfde verbruik als Ubuntu 13.10 met Kernel 3.12, maar af en toe krijg ik een ongewoon hoog verbruik na een reboot, wat niet weggaat tot ik weer reboot. Gezien ik nog veel minder ervaring met FreeBSD heb dan met Linux. Met het oog op de releasedatum van deze BBG heb ik dit maar opgegeven.

Cijfers Ubuntu en systeem vorige BBG


Om het bovenstaande in perspectief te zetten heb ik van tweaker Sphere een systeem gekregen waarin een ASRock B75 Pro3-M en Celeron G1620 zit - het '>2TB' BBG-systeem van inmiddels een jaar geleden. Hiervan heb ik ook het verbruik gemeten met dezelfde meetopstelling en -omstandigheden en dit was het resultaat:

http://tweakers.net/ext/f/oPJya80RE9DiWRfpvds7P87t/full.png

Dit Ivy Bridge-systeem pretendeerde nooit het zuinigste systeem te zijn en het verbruikt dan ook meer dan alle moederborden in deze BBG. Ook in zijn eigen generatie was het niet het allerzuinigste, maar het kon destijds zeker meekomen. Nu is dat niet meer het geval; er zit echt een gat van meer dan 5W (een factor 2!) tussen de beste Ivy Bridge- en Haswell-systemen, tenminste als je ze helemaal uitkleedt tot CPU, moederbord en geheugen.

Ook is het interessant om te kijken hoe zuinig Linux, in dit geval Ubuntu 13.10, nou is vergeleken met Windows 8.1. Dan kom je uit op ongeveer dit:

Windows vs Ubuntu

Not bad. Let wel - dit is na dagenlang gekloot met Ubuntu om alle power-regressies te fiksen die erin geslopen waren, terwijl de Windows 8.1-cijfers out of the box zijn. En nog steeds kun je zien dat op het Haswell-systeem de USB-driver flinke roet in het eten gooit. Zonder USB ingeplugd werkt alles prima, met USB-apparaten - zelfs al is het maar een toetsenbord of muis - valt het systeem van zijn stokje van de interrupts. Alsnog, als je bereid bent om een paar dagen te investeren in je nieuwe build is Ubuntu op de kop af net zo zuinig als Windows en helemaal geen slecht alternatief. Het is mijlen beter dan 5 jaar of zelfs 2 jaar geleden.

Dankwoord en oproep

Tot zover deze BBG. Nogmaals mijn grote dank aan cj1, xmen, sphere en Dadona voor het ter beschikking stellen van zoveel moederborden voor deze test en BBG!

Ik ben ook op zoek naar winkels die bereid zijn om af en toe moederborden aan mij ter beschikking te stellen voor BBGs. Net als met deze BBG gaat het dan om een stuk of 10 moederborden die ik gedurende een paar weken leen en weer in verkoopbare staat retourneer. Werk je bij een webshop of ken je een ingang ergens waar ik terecht zou kunnen? Schroom niet om contact met me op te nemen. Voor het management dat geïnteresseerd is in het publiek dat bereikt kan worden met dit soort sponsoring: mijn BBG-blogs zijn ongeveer even goed gelezen als hardwarereviews op Tweakers.net en Hardware.info (tussen de 7.500 en 20.000 views per blogpost).

Iteadstudio's flex PCB quality

Door mux op vrijdag 17 januari 2014 21:43 - Reacties (5)
Categorie: -, Views: 2.723

This is part two of a - probably - longer running series on PCB quality in the 'hobby' space. I say hobby space mainly because of prices, not necessarily quality. If you haven't done so already, I highly recommend reading my previous blog post about seeedstudio's 4 layer PCB quality for some background on the subject.

Overview of the PCB



For my work work I needed a flexible PCB that could fit inside more or less arbitrary electronics to function as a sensor. I didn't have any control over its position or shape, so the PCB had to be as flexible as possible to accomodate any usage scenario. Flexible PCBs (also called Flat Flex PCBs) of course immediately sprang to mind, but until very recently this technology was incredibly expensive - last time I ordered one from Cyner the invoice was well above 2000 euros for a small prototype. For some time however, Iteadstudio.com offered an up to 100x100mm flexible PCB manufacturing. That's past tense, because it seems right now that I'm writing this blog, they are discontinuing the service. However, after informing about this service, I heard from the PCB service behind Itead studio that they will be re-launching the product after the spring festival. The service is back, you can find it here. Prices are pretty great; $65 for 5x5cm up to $80 for 10x10cm.

Anyway, here's a rundown of my board

Board materialMylar 0.15mm
18µm copper thickness
Surface finishENIG (Electroless Nickel Immersion Gold) ~2µm
Board size34x50mm
Solder mask colorYellow
Amount ordered/received in good order10/10
Price$75 + $33 shipping (DHL)
Total time20 days


My flex PCB straight from iteadstudio

I have to say - this is an absolutely stunning PCB technology. The boards are incredibly thin. The substrate is actually a bit thinner than 150µm and very transparent. But not just the looks are good, the design rules are incredible. With 2/2 mil copper width/spacing (yes, you read that right) and lasercut vias, you can use this technology not just for flexible stuff, but also to break out extremely dense BGA packages for just $6.50 per PCB. And because almost everything in the process is lasercut, alignment and tolerances are absolutely stellar. Have a look at this:

Iteadstudio flex PCB alignment

This is almost a microscopic view of the PCB, looking at an 1812 Kelvin sense resistor footprint with a via to the other side. That has to be the roundest via you have ever seen. It's not a large via by any stretch of the imagination: it has a 10 mil hole, but the very thin plating and lack of fill makes it seem very wide. Anyway, also visible on the photo is the exceptional solder mask and especially board outline alignment. That there is copper within 5 mils (0.127mm) of the board edge. Nobody on conventional 0.6mm+ thickness FR-4 will allow this because of machining tolerances, but here you can.

Anyway, it's not all glorious. This is great technology to be able to use at a low price, but for FPC quality, it is not quite the best. The gold plating is even thinner than on their 2/4-layer service, and the plating is incomplete with rough edges at places where copper dives underneath the solder mask. Another small heckle I have is the horrendous silk screen:

Iteadstudio flex PCB silkscreen (1)
Iteadstudio flex PCB silkscreen (2)

That is some crusty silk screen, and this is especially bad on a flexible PCB. On one side lines are missing or very thin, on the other the lines are too thick and there are some extra blobs (e.g. the blob on the side of the '0' in 'rev0'). Alignment is not very good - look at how far that silkscreen has shifted inside the SOT-23 footprint. Also, the resolution is pitiful.

It seems to me that they use the same screen printer here as they do for other technologies, but the problem with that is: on flex PCBs, you want to use smaller components. Whereas 0402 is the smallest you can do with 6/6 design rules on their standard process, on here you would definitely want to go 0201 or 01005 with 0.4mm pitch QFNs and BGAs, and it is absolutely impossible to make part outlines on the silkscreen with this coarse of a screen printer. And another important problem with the silkscreen is its sheer thickness: it seems to be almost thicker than the copper and soldermask! I hope this service will switch to either a much finer mesh screen printer or even better photographic silkscreening in the future, which yields results like this (from Eurocircuits):

Eurocircuits silkscreen quality

Isn't that much better? Even though it's slightly overfilled, those (equally thick) lines have much better definition than Iteadstudio's service. By the way, that 1.6mm PCB now looks enormous, doesn't it?

However, even though it should have been obvious already, the most important feature of flexible PCBs is their... well, flexibility. I was worried they would mess this up or refuse to produce my design, but they did it and it worked briliantly. I am of course referring to the strip of very thin board in between the business end of my board and the connector side. Here is the board with components installed, and the bendy bit functional:

Iteadstudio flex PCB in action

Those are actually 2 mil wide traces, 6 in total (3 on top, 3 on the bottom), on a strip of mylar base material that is just 1.5mm wide. And they produced it without a problem! Unfortunately I could not get a lens close enough to the traces to show you how extremely clean the edges of those traces were, but I am actually confident that I could draw 1 mil traces and they would be able to produce it. Marvellous.

Oh, and also...



Een wonder!

They put the code in the little box I made for the code! They listened to me! Iteadstudio, just for this you can expect a lot more orders from me in the near future. And Seeedstudio, shame! Itead can do it, why don't you!

Conclusion



This has been part two of this series that shows the quality of cheap chinese PCB services, and I have to say I have been looking forward to this. Five years ago I was etching my own PCBs with toner transfer and horrible methods like that, and now for less than the cost of one hour's pay I can order 2/2 mil flex PCBs from China.

The quality is great for the price, but if anything I'd like the plating quality to be a bit better, the silkscreen definitely needs some more work and ideally - but this is honestly just a consequence of being pampered with other services - I'd like the turnaround to be a bit quicker. We've had 1-week turnaround for everything from 0.6 to 3.2mm PCBs for a couple years now with DHL shipping, so I'd like for FPCs to eventually get there too.

I hope this blog will help my fellow electronic design engineers and for now, happy designing!

Seeedstudio 4-layer PCB quality

Door mux op vrijdag 03 januari 2014 20:11 - Reacties (6)
Categorie: -, Views: 3.275

Today I'd like to delve a bit into PCB quality, features, delivery and pricing of the most well-known PCB prototyping services around today. I have been using quite a large selection of PCB manufacturers for over 100 PCB designs (and revisions) since 2007. However, this was mostly 2-layer design - to keep costs down. Recently I have been tasked with the design of quite a few unusual designs on 4-layer and flexible PCBs, so this seemed like a good time to evaluate PCB and stencil quality from the arguably best value sources on the internet. This is part one, where I go a bit into the history of PCB fabs and show you how well Seeedstudio.com faired with my 4-layer order.

Note: this blog post is aimed at PCB designers, it may contain some jargon and references that you wouldn't get if you don't at least occarionally design circuit boards.

The democratization of PCB prototyping


First off, a little bit of PCB design history for the people that are relatively new to the scene. In the olden days, PCB design was a cost and labor intensive process. There were very few properly free design tools around, and believe it or not, until the early 2000s there was a lot of custom and proprietary file formats for PCB designs. Also, you as a PCB designer had to account for all kinds of things that were really none of your business - you had to make sure copper density was fairly equal over the area of your board, you had to specifically draw panels, routing or v-grooves according to the manufacturers specifications (even if they purported to be compatible with Euro card standards or other standard registrations) and you usually had to pay a pretty penny extra for nonstandard solder mask colors, double sided silkscreen, having SMT pads, number of vias, etc. And maybe the most important difference with now: it was hella expensive to get anything made. You could not prototype under a couple hundred dollars - setup fees were astronomical.

This is very different nowadays. The Gerber RS-274X file format has been standardized and is actually also interpreted equally between manufacturers, design rules have tightened up considerably (everybody supports 6/6mil design rules, SMT, high density vias, various pcb thicknesses, etc.). You don't need any human interaction and your board just gets made exactly the way you want it. And you can get all of this for $10 per 10 boards, a dollar per board!

Old tech is still around

Well, you can get all this goodness at places like Iteadstudio, Seeedstudio, Elecrow and TinySine. Most other manufacturers that offer some kind of prototyping service have some catching up to do. I live in the Netherlands, and around here there are a couple of big name PCB manufacturers: Cyner, Ramaer, Vermeulen printservice, van Zon and Eurocircuits. Most of these are really traditional PCB manufacturers and don't offer any kind of prototyping - apart from for instance a sponsorship deal that Cyner had with a student project I participated in. Two exceptions to this rule - Vermeulen and Eurocircuits - do offer prototyping and... still have ancient design rules and methods.

For instance, Eurocircuits charges extra for SMT, double sided silkscreen and has comparatively poor design rules for their prototyping services. Also, they manage to have equal or sometimes even longer shipping times than PCBs I order from China, partly because their QA and finishing services are not in the same place as the PCB manufacturing plant. Like many more old-fashioned companies they also have the dreaded proprietary panelization/registration formats (called eC-registration in their lingo) which attempt to lock you in to one manufacturer for batch work. Lastly, they are still one of those manufacturers that have a ton of bugs importing Gerber files. All this for significantly higher prices than Chinese manufacturers.

Of course, until recently this was kind of a moot point because these more traditional fabs had two big advantages: the ability to make PCBs using the most advanced technology, and the integration of tools to help medium to large companies let their employees directly order PCBs on company budget, and under direct (digital) supervision of their bosses. This was a big time and money saver as you did not need to route this kind of stuff through a purchasing department.

Times are changing, though. Whereas the 'cheap Chinese' manufacturing used to just have 1.6mm green, small PCB facilities, they quickly grew to now encompass basically all technologies you frequently need. 4-layer, all colors, all PCB thicknesses (down to 0.2mm, up to 3.2mm), even flexible and RF substrates. And it seems like 6-layer PCBs are just around the corner, making it possible to do extremely dense BGA breakouts. And the quality has since far outgrown hobby levels. 6/6mil is now standard, going down to 2/2mil design rules with laser cut vias (!!) on flex PCB. There is very little reason anymore not to order from China, so: everybody does. They even offer fairly competent PCB assembly and small to medium run PCB fabbing services - with lightning quick turnaround (15 days + shipping).

And account control as well as budget control is also improving by leaps and bounds. The Chinese services still require pre-payment, but other than that the ordering process is completely automated and supervisable. Contrary to my experiences with European services, I have never needed to fix any mistake that was not mine or a crappy gerber importer error. In general, I have saved tremendous amounts of time talking on the phone or e-mailing back and forth with PCB fabs because the Chinese manufacturers offer such a good hands-off experience. Of course, this would be a horrible thing if they would often make mistakes, but they don't. They just make everything the way I designed it.

Seeedstudio 4-layer quality


So let's go to the actual topic at hand, let's look at some PCBs. The internet is full of 2-layer PCB examples from Iteadstudio and Seeedstudio and apart from coarse silk screen it is usually pretty decent if you respect their 6/6 mil rules. However, I recently had the need to route PCI-X and PCI express riser boards for my work and those are a total pain, if possible at all, to do on 2 layers. So for the first time in 2 years I started a 4-layer design and ordered it at Seeedstudio. Here's the result:

PCI-X riser board (4-layer, Seeedstudio)

So a full run-down of the specifics:

Board materialFR-4 1.55mm
35µm outer layer copper thickness
18µm inner layer copper thickness
Surface finishENIG (Electroless Nickel Immersion Gold) ~2µm
Board size150x25.4mm
Solder mask colorRed
Amount ordered/received in good order5/5
Price$105.90 + $29.24 shipping (DHL)
Total time11 days


That may seem like a steep price, but if I were to order the same board with a longer (!) lead time from Eurocircuits, it would cost me ¤1064, or about $1450 - mainly because I was ordering over the end-year holidays.

Alright, first off there seems to be some confusion on the site over the copper thickness and I highly suspect this just to be some kind of translation error. They say that the inner copper is 18µm and outer is 35µm thickness, but the design rules are the inverse of what you'd expect: 8/8 mil for inner layers, 6/6 for outer. Thicker copper usually means looser design rules. Also, it's very unusual to have the thick copper on the outside, as the inner copper layers are meant for ground and power plane routing as well as heatsinking, favouring thicker copper. Also, the 4-layer process is being done on a card edge compatible process (see later why I think this is the case), which always has 18µm outer layers to accomodate easy insertion into card edge connectors. But enough talk about crazy Chinese people jumbling their specifications, let's look at the actual PCB. First off: did they get the build-up right?

Seeedstudio 4-layer build-up

Yep, spot-on. As is usual with multilayer boards, I dedicated a small area on an unused side of the board to numbers placed on consecutive copper layers with the solder mask removed. The reason you can see the '1' and '2' so clearly, but not the '3' and '4' (squint a little and they should be apparent) is that the first two layers are only separated by a very thin sheet of prepreg material, but layers 2 and 3 are separated by the bulk of the FR-4 material. FR-4 has glass fiber reinforcement in it, and that stuff disperses the light all over the place, making it hard to look through. If you intend on making a multilayer board, especially more than 4 layers: always put these marks on the edge of the board. As you can see here, I'm actually lighting this slightly from the side, because you can't see anything but the '1' and '2' if you illuminate the numbers from behind.

Alright, next up: layer alignment.

Seeedstudio 4-layer alignment

Let me first point out the little breakout tab that hasn't been properly finished on this board. It sticks out only about 0.2mm, so it's alright and this was the worst board (other boards also had a little bit of breakout tab left, but even less than this). Anyway, as far as the photographic layers (copper, solder mask, plating and drilling): they are absolutely perfect. Those traces you can see are 6 mil, so the misalignment between solder mask and copper is definitely less than 2 mil. Other boards were just as good, with the worst-case misalignment still not visible to the naked eye.

Silkscreen, unfortunately, is lacking even on this premium service. I know from past experience that you really have to specify 0.15mm minimum silkscreen line width to get readable text on the 2-layer designs. However, I would have hoped for better quality silkscreen on their 4-layer service. It is also, especially considering this process has significantly better quality than the 2-layer stuff, quite far out of alignment, up to about what seems like 12 or 15 mil. The misalignment is only in one direction. However, they still printed the little lines (more like dots now) between the pads for those 0402 resistors, which is alright. Because I've specified via tenting in my gerbers they also printed silkscreen on top of tented vias, which is a first for me. Other services usually cut out vias from being silkscreen-printable. Speaking of via tenting...

Seeed 4-layer tenting example

As an aside, look at that great routing alignment on the left of the leftmost finger pad. They definitely routed these boards in-panel and not separately. Very happy about this, because PCI and PCI express need a decent slot/outline alignment to the fingers.

Anyway, they have also done an excellent job tenting these 12 mil via holes. Not a single one has collapsed on the entire board, counting more than 200 vias. And yes, they also do via in pad very well. Very impressed. Because these are the absolute smallest holes they will do, and they are already a bit dimpled, I do not expect them to be able to tent larger (20+ mil) via holes. I know from the 2-layer board service that such large holes will not properly get tented, so if you want to have tented vias (e.g. for heatsinking a big QFN): use the smallest supported hole size. Talking about holes (I am great at segoues):

Seeed 4-layer hole photograph

Those are some very sexy holes. Also note the little oopsie on the silkscreen on that middle hole: it almost seems like they first did the silkscreen, and did plating afterwards. Anyway, the plating is very good, the hole finish is alright (a bit of drilling and layer connection roughness is visible, but nothing too bad). The plating really juts out on these holes, it seems like they did properly thick plating and not that sub-micron stuff on very cheap Chinese electronics. This photograph is also a nice example of the excellent solder mask and hole alignment.

But when I got these boards back I noticed a very pleasant surprise. Look at this:

Seeedstudio 4-layer chamfer

That is a board edge chamfer on the fingers. Okay, you say, what's so special about this? Well, I didn't tell them to do this. I assumed that their manufacturing plant would be a bit too bare-bones to do chamfering. But they recognized this as a card edge connector (probably because I plastered 'PCI-X' all over it) and did the chamfer for me. Very nice, and thoroughly appreciated.

So, the boards are perfect and I am totally happy? No, there is one little niggle with these services that I have tried to resolve with this batch of boards and failed. These board fabs tend to put all kinds of manufacturing codes on the board, usually in places where you don't want it. It mostly doesn't matter, but I intend to order things like front panel PCBs and other boards with aesthetic purposes in the future and I really don't want them to ruin it with their scribblings. So I put this on the board and specifically instructed them to put any markings in that area:

Seeedstudio 4-layer mfg code box

As you can see from the emptiness of this box, they didn't put it here. Instead, they put it all the way on the edge on the other side of the PCB:

Seeed studio: where they actually put the code

Apparently, I could have known this. On the forums people say that seeedstudio always puts these codes on the rear side (bottom copper) layer, and iteadstudio puts them on the top layer. I and *many* people with me would very much like the option to say where they should put it! This is one of those instances where it would have been nice to be able to call someone at the manufacturing plant.

Conclusion


Seeedstudio.com has fared very well today, delivering excellent quality at not the lowest of prices, but still a very acceptable price (and certainly much less than it would cost locally). The ordering process and delivery are so good that I didn't even mention them, that's how good they are. The PCB itself was pretty much perfect except for them messing up the manufacturing code, a little bit of breakout tab not being finished properly and not-great silkscreen quality.

Something I have been using a lot and found very useful is this little renaming script. If you want to order from seeedstudio.com and are using FreePCB or another EDA program with compatible gerber file names, you can use this DOS batch script to rename and zip (using 7-zip) your files in accordance with their Fusion PCB service:


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
::-----CODE-----
::Eradicate rogue temporary files
if exist filelist.txt del filelist.txt -y
if exist seeed del seeed /q
dir /b >>filelist.txt
::Make target folder and get project name
if not exist seeed md seeed
for %%* in (..) do set pname=%%~n*
@echo %pname%

::rename all the files
copy board_outline.grb seeed\%pname%.GML
copy bottom_copper.grb seeed\%pname%.GBL
copy bottom_silk.grb seeed\%pname%.GBO
copy bottom_solder_mask.grb seeed\%pname%.GBS
copy drill_file.drl seeed\%pname%.TXT
copy top_copper.grb seeed\%pname%.GTL
copy top_silk.grb seeed\%pname%.GTO
copy top_solder_mask.grb seeed\%pname%.GTS
if exist inner_copper_1.grb copy inner_copper_1.grb seeed\%pname%.GL2
if exist inner_copper_2.grb copy inner_copper_2.grb seeed\%pname%.GL3

:: zip it
"%ProgramFiles%\7-zip\7z.exe" a -tzip seeed\%pname%.zip .\seeed\*

:: remove temporary file
del filelist.txt
::------CODE------


I hope this will help some people speed up their workflow and avoid filename and extension mistakes that happen so easily when manually copying and renaming files.

This has been part one of this small series. Next time we will be looking at Iteadstudio.com's flex PCB quality and smtstencil.co.uk's paste stencil service.

BBG Zuinige fileserver (Dec '13/Jan '14)

Door mux op zondag 29 december 2013 16:31 - Reacties (39)
Categorie: Best Buy Guides (BBGs), Views: 9.312

Het is weer hoog tijd voor een nieuwe BBG. De vorige BBG is inmiddels obsolete; zowel het Ivy Bridge-platform als enkele andere onderdelen in de vorige build zijn slecht verkrijgbaar of worden inmiddels in prijs/prestatie overschaduwd door moderne varianten.

Maar deze BBG is niet puur een refresh van de vorige. Dit keer richten we ons op een heuse fileserver: geen kleine NAS met 1 of 2TB opslag, maar groeipotentiaal tot tientallen terabytes. Want ondanks streaming diensten en betrouwbare, snelle internetverbindingen zijn er nog steeds een hoop mensen die veel plezier hebben aan hun 10TB+ rigs, getuige de vele topics hierover. En behalve het opslaan van software, films en muziek zijn er ook nog steeds een hoop mensen die hun foto/videografiewerk en andere grote hoeveelheden unieke data moeten opslaan. Zaken waarvoor zowel cloudstorage als kleine NAS-apparaten niet geschikt zijn.

Veel centrale storage en vooral veel harde schijven is een risico voor je data. Hoe meer harde schijven en daadwerkelijk daarop geschreven data je hebt, des te meer kans op foutjes tijdens het schrijven. En des te meer kans dat een schijf kapot gaat. Veel mensen roepen nu 'RAID!'... Nee, er zijn tegenwoordig betere methoden. In deze BBG richten we ons 7op ZFS als oplossing van een deel van deze problemen.

Waarom ZFS?

TL;DR:

Voordelen
  • Copy on write
  • Checksums
  • Kan omgaan met bit rot
  • verder alle voordelen van parity-achtige constructies in RAID
Nadelen
  • Draait niet onder Windows
  • Redelijk wat geheugen nodig, bij voorkeur ECC
ZFS is op dit moment het enige echt goed geschikte bestandssysteem voor grote data arrays. Waarom? Reden één: Copy on Write. Heel simpel gezegd schrijft ZFS eerst de nieuwe data op een leeg stuk van je harde schijven, en verzet daarna een pointer van de oude naar de nieuwe data. Dit zorgt er voor dat je schijven (mits er genoeg lege ruimte is) altijd op volle snelheid kunnen schrijven omdat ze lekker sequentieel kunnen schrijven. Ook is het veiliger voor je data, want je oude data word nooit zomaar overschreven. Mocht er dus halverwege iets fout gaan, heb je altijd de oude versie nog.

Tweede reden: Checksums. Zie dit als een ingebouwde hash-functionaliteit in het bestandssysteem zelf. ZFS houdt voor elk stukje data een checksum bij van 256 bytes (SHA256) waardoor het kan zien of er iets mis is met de data. Het leuke van ZFS is, dat dit continu gecontroleerd wordt. Bij iedere leesbewerking wordt geverifieerd of de data nog hetzelfde was als toen het voor het eerst geschreven werd. Zodra dit niet klopt zal ZFS alarm slaan, of als je genoeg redundantie hebt (Mirrors, RAIDZ1/2/3) de data repareren! Huh? Hoe kan dat dan? Nou heel simpel. ZFS leest de data van een schijf en ziet dat die data niet klopt. Mocht er nog een schijf zijn die de data ook bevat, en waarvan de checksum wel klopt, dan gaat ZFS de data kopieren van de goede versie, naar de kapotte versie op disk! Mooi toch!

Nog een belangrijke reden om ZFS te gebruiken: Bit rot. Wat is Bit rot? De naam zegt het al een beetje, bitjes die omvallen (omdat de magnetische domeinen op de harde schijven langzaam minder sterk worden). Is dit dan zo’n groot probleem? Ja, tegenwoordig wel. Harde schijven worden zo groot dat er een grote kans is dat in de levensduur van een schijf (terwijl hij in je bezit is) er zo’n bitje omvalt. Wat heeft ZFS hier mee te maken? Nou simpel, door het checksum mechanisme kan ZFS deze omgevallen bitjes zien! Waar normale bestandssystemen en RAID-engines de data gewoon corrupt aan je OS/Applicatie presenteren, gaat ZFS proberen de data te herstellen, of als dit niet kan, de file waar deze bitrot in zit verwijderen. Dit om te voorkomen dat de applicatie corrupte data aangeleverd krijgt.

Heeft ZFS dan ook nadelen? Ja, helaas wel. Voor velen is een van de grootste nadelen: Het draait niet onder Windows. De enige betrouwbare platforms waar het op kan draaien, zijn Solaris en BSD. Er is ook een Linux-installatie, en hoewel die al zeker goed op weg is, zeggen we toch in deze BBG: nog even niet. Het werkt wel, maar het is op het moment nog een proces voor gevorderden.

Een ander groot nadeel van ZFS is: Het kost veel geheugen. Waarom? ZFS werkt met een transactioneel systeem. Denk aan een database waar de verschillende veranderingen in een tabel in 1 transaction group geaggregreerd kunnen worden. ZFS doet iets soortgelijks met de IO richting je pool (reads en writes). Hierdoor heeft ZFS genoeg geheugen nodig om al deze wijzigingen in het geheugen op te slaan, te sorteren, en checksums over te berekenen, alvorens het naar disk geschreven word. Bovendien kan ZFS data van te voren al ophalen, omdat het denkt dat je deze data nodig hebt (prefetching), deze functie werkt pas als je meer dan 4GB geheugen hebt. ZFS komt voor kleine arrays eigenlijk pas tot zijn recht met 8GB geheugen, en voor echt grote arrays met grote data verbindingen (Fibre Channel, Infiniband, 10Gbit Ethernet, Port Trunks) heb je eigenlijk 16GB geheugen of meer nodig. Het moge duidelijk zijn dat ZFS dus heel zwaar leunt op het geheugen, en mede omdat er een hoop user data in staat is het aan te raden om dan ook ECC (error correcting) geheugen te gebruiken.

Waarom dan toch ZFS? Omdat er geen enkel ander bestandssysteem is, wat het niveau van volwassenheid heeft bereikt zoals ZFS dat heeft (ik kijk even met een scheef ook naar BTRFS en ReFS). Een derde belangrijke reden om voor ZFS te kiezen is dat de grootte van harde schijven tegenwoordig zo hard groeit, dat we steeds meer last krijgen van de slechte uBER specificaties van de schijven. Mocht je dit technische verhaal willen begrijpen, verwijzen we je graag door naar Het grote ZFS topic, daar staat het een en ander duidelijk uitgelegd.

Alleen ZFS is niet genoeg, je hebt nog steeds backups nodig

ZFS en als deel hiervan ECC beschermt je tegen incidentele schrijf/leesproblemen van je data, maar niet tegen blikseminslag of overstroming. Of user error. De enige bescherming daartegen is een backup, en wel ééntje die offsite (niet in hetzelfde huis, heel ergens anders) en onafhankelijk is. Hier hebben we wel een beetje een probleem, want 12TB data 'eventjes' backuppen naar een offsite locatie is niet bepaald makkelijk.

Allereerst is het nuttig om prioriteiten te stellen: welke data kan ik missen en welke is absoluut onvervangbaar? Stel dat je je storage alleen gebruikt voor gedownloade films en series, dan kan het best zijn dat je maar enkele honderden gigabytes aan belangrijke data overhoudt. Dat kan dan gemakkelijk naar bijvoorbeeld een cloud-backupdienst zoals Crashplan worden gegooid. Heb je meer data, dan kun je ditzelfde programma of bijvoorbeeld iets als BTSync gebruiken om een backup aan te leggen bij een vriend of familie. Zorg er ook voor dat je externe backups encrypt voordat je ze wegstuurt. Crashplan heeft ingebouwde mogelijkheden om dit te doen, voor BTSync raad ik (op aanraden van Dadona) Boxcryptor Classic aan. Overigens is Boxcryptor een onafhankelijk programma; je kunt het ook gebruiken om data voor Crashplan of elke andere cloud/backupdienst te versleutelen.

Hoe dan ook gaat een goede backupdienst je geld kosten; houd hier rekening mee bij de aanschaf van je fileserver. Het lijkt nu misschien een 'onnodige' uitgave die je liever in andere componenten of in je spaarrekening stopt, maar when the shit hits the fan wil je niet dat terabytes aan data vermijdbaar verloren gaan!

BBG Avoton-based fileserver


#ProductPrijsSubtotaal
1ASRock C2750D4I¤ 380,63¤ 380,63
6WD Green WD40EZRX, 4TB¤ 141,-¤ 846,-
1Fractal Design Define Mini¤ 74,90¤ 74,90
2Sharkoon SATA Kabel¤ 1,80¤ 3,60
1Silverstone SST-CP06 4x SATA¤ 8,17¤ 8,17
2Startech 3.5inch Hard Drive to 5.25inch Front Bay Bracket Adapter - zwart¤ 4,71¤ 9,42
1Kingston KVR1333D3E9SK2/16G¤ 152,50¤ 152,50
1Seasonic G-Serie 360Watt¤ 54,99¤ 54,99
1Crucial 2.5" M500 240GB¤ 113,49¤ 113,49
Bekijk collectie
Importeer producten
Totaal¤ 1.643,70


Dit systeem is het uitgangspunt van de BBG. Het hart van de machine is de ASRock C2750D4I. Dit is een moederbord met de nieuwste generatie Atom-octacore (8-core) voor servers. Het grootste verschil met andere Atom-bordjes, en de reden waarom je zoveel extra geld ervoor betaalt, is dat deze processor ECC geheugen ondersteunt. Ook heeft dit bordje twee Intel i210 gigabit ethernet-connecties en 12 (!!) SATA-poorten. Indien gewenst kun je het bordje dus ook gebruiken als router/gateway (je hebt dan nog wel een externe switch nodig om genoeg Ethernet-poorten te maken voor al je andere computers) en het aantal harde schijven kan tot in het absurde worden aangevuld.

Ondanks dat Atom de naam heeft niet al te snel te zijn hoef je je geen enkele zorgen te maken om de processorkracht van dit systeem. Er is more than enough to go around, zeker als je deze computer zoals samengesteld puur gebruikt als fileserver (zelfs inclusief de belasting van PAR-checks, SABnzbd, streaming torrents, non-realtime transcoding van video). Je kunt er ook probleemloos een router of lichte webserver naast virtualiseren als je wil. Misschien wil je in dat geval wel wat meer geheugen installeren. Wanneer je echt meerdere streams realtime wil transcoden of andere zeer zware taken wilt doen heb ik ook nog een Xeon E3-gebaseerd systeem verderop in de BBG.

Maar laten we eerst eens de keuze voor alle componenten van het Avoton-systeem kort beschrijven:
  • Geheugen: ik heb hier gekozen voor twee UDIMMs van 8GB. Het is sterk aan te raden om dit artikel te lezen als je wil weten wat het verschil is tussen UDIMMs, RDIMMs, etc. 16GB is meer dan genoeg voor een licht tot gemiddeld gebruikt ZFS-filesysteem met tot ca. 20TB aan bruikbare opslagruimte. Indien je nog een keer graag een hele sloot aan VMs erbij wilt draaien heb je de optie om het geheugen uit te breiden tot maar liefst 64GB (4x16GB) - hoewel 16GB UDIMMs nog erg duur zijn op het moment.
  • Moederbord: Avoton is Intel's nieuwste Atom-lijn voor servers, en de ASRock C2750D4I is momenteel het eerste echt interessante moederbord met deze generatie processoren dat ook echt beschikbaar is. Het is vergeleken met de concurrentie (bijv. Supermicro A1SAI-2750f) goedkoper, waarschijnlijk zuiniger en beter voor een storage-gefocused systeem. Een goed alternatief is de ASRock C2550D4I: deze heeft exact dezelfde feature, maar een 4-core ipv 8-core processor. Gezien processorprestaties niet belangrijk zijn in deze context is dit een makkelijke manier om ruim 100 euro te verdienen. De reden dat hij niet standaard in de BBG staat is de beperkte verkrijgbaarheid op het moment van schrijven. In de loop van januari komt hier verbetering in.
  • Harde schijven: Voor de basisconfiguratie raad ik 6x4TB harde schijven in RAID-Z2 aan voor een totaal van 16TB bruikbare opslag. 6 of 10 schijven in RAID-Z2 zijn een optimaal getal voor ZFS. De WD40EZRX hebben met hun 3.3W idle-verbruik veruit de hoogste hoeveelheid opslagruimte per Watt en zijn dus de meest optimale keuze. WD30EZRX is een goed alternatief als je iets minder opslagruimte nodig hebt. Heb je echt 'weinig' opslagruimte nodig maar wil je nog steeds profiteren van ZFS met ECC, dan kun je overwegen om 3x3TB schijven in RAID-Z1 te zetten voor effectief 6TB opslag.
  • Kast. Hier heb ik gekozen voor een kast waar ik zelf ervaring mee heb en welke voldoende ruimte heeft voor de genoemde configuratie. De Fractal Design Mini is naar mijn mening een iets betere kwaliteit kast dan de reeds zeer goed presterende Fractal Define R2 en R3-kasten welke ik eerder al eens heb aangeraden. Hoopjes luchtfilters, plaatsen voor (bijgeleverde stille) fans en geluidsdemping zodat je de server op iedere plek kunt neerzetten die je wil zonder overlast te veroorzaken. Wil je een kleinere kast? De Lian Li PC-Q25B is de kleinste fileserver-kast te zijn waar alles uit deze BBG in past, en ondanks dat er nog geen reviews over uit zijn op de betere review-sites (bijv. SPCR) lijkt het uit gebruikerservaringen hoe dan ook een prima kast. Het merk boezemt op dit punt ook vertrouwen in. Wil je meer harde schijven kwijt? Dan zal de Fractal Design Define R4, eventueel met een aantal 5,25" naar 3,5" brackets, de voordeligste keuze zijn.
  • SSD. Een no-brainer in mijn ogen is de Crucial M500. Deze schijf kun je zowel als boot-schijf als - indien je denkt dit nodig te hebben - ZIL gebruiken (meer info hierover in het meermalen gelinkte ZFS topic). De M500 heeft power-safe caps, wat betekent dat de SSD geen data verliest of corrumpeert in het geval van een onverwachte stroomuitval. En daarnaast staat de M500 bekend als een betrouwbare, goede kwaliteit schijf met voor zover bekend geen serieuze problemen. En het is ook nog één van de goedkoopste schijven! Wat wil je nog meer. De prestatie- en stroomverbruikwinst door een SSD te gebruiken i.p.v. een harde schijf is mijns inziens de licht hogere prijs waard.
  • Voeding. Een systeem met veel harde schijven kan helaas niet (betrouwbaar) aan een PicoPSU worden gehangen, hoewel ik het wel erg graag had gewild. Dan maar the next best thing: een inmiddels zeer vaak aangeraden, solide, betrouwbare en efficiënte voeding van Seasonic. Even leek het er in de afgelopen weken op dat de voeding slechter en misschien zelfs onverkrijgbaar werd, maar de leveringsproblemen lijken zichzelf opgelost te hebben. Dit is één van de redenen voor het vertraagd uitkomen van deze BBG geweest. Phew, alles is toch nog goed gekomen!
  • Overige onderdelen: zoals altijd heb ik even een fit-test gedaan met alle onderdelen en met alleen de bovenstaande componenten ben je er niet. Als je 6 of meer schijven in de Fractal Design Mini wil zetten, moet je twee HDDs in de 5,25" bays hangen. Daarvoor zijn brackets nodig, de exemplaren in dit lijstje zijn de goedkoopste. Ook heeft de voeding niet voldoende SATA power-aansluitingen, dus vandaar dat kabeltje. Bij het moederbord worden 6 SATA-kabels bijgeleverd, dus als je dan ook nog een 2,5" SATA SSD erbij wil stoppen heb je niet voldoende SATA-kabels. Vanzelfsprekend zul je er nog meer moeten bijkopen als je bijvoorbeeld 10 schijven wilt installeren.
Dit systeem verbruikt zoals samengesteld ca. 40-45W idle onder FreeBSD. Je krijgt met dit systeem inclusief verzendkosten ca. 10GB/euro opslag en het verbruikt zo'n 2,6W/TB. Dit zijn nuttige getallen om te vergelijken met andere systemen.

Intel Xeon E3-based fileserver


#ProductPrijsSubtotaal
1Intel Xeon E3-1220 V3 Boxed¤ 177,49¤ 177,49
1Supermicro X10SLL-F¤ 158,41¤ 158,41
5WD Green WD40EZRX, 4TB¤ 141,-¤ 705,-
1Fractal Design Define Mini¤ 74,90¤ 74,90
2Sharkoon SATA Kabel¤ 1,80¤ 3,60
1Silverstone SST-CP06 4x SATA¤ 8,17¤ 8,17
2Startech 3.5inch Hard Drive to 5.25inch Front Bay Bracket Adapter - zwart¤ 4,71¤ 9,42
1Kingston KVR1333D3E9SK2/16G¤ 152,50¤ 152,50
1Seasonic G-Serie 360Watt¤ 54,99¤ 54,99
1Crucial 2.5" M500 240GB¤ 113,49¤ 113,49
Bekijk collectie
Importeer producten
Totaal¤ 1.598,97


Let op: De X10SLL+ -F is nauwelijks duurder en heeft twee identieke Intel i210 Ethernet-poorten ipv twee verschillende. Belangrijker nog; bij de +-versie zijn beide NICs ondersteund onder ESXi, terwijl de i217 op de non-+ versie niet ondersteund is. Helaas staat dit moederbord niet in de pricewatch dus kan ik hem niet in de RML-lijst zetten.

Dit systeem gebruikt geen 'langzame' atom-processor, maar een aanzienlijk snellere Intel Xeon E3-1220v3 Haswell-generatie quadcore. Als belangrijkste voordeel boven het bovenstaande systeem - naast betere prestaties voor bijvoorbeeld realtime 1080p video transcoden - is dat deze processor ook VT-d ondersteunt. Dit systeem is daardoor zeer geschikt om als VMware ESXi-bak te dienen waarin vele virtuele machines worden gedraaid. Ook kost het - als we er even vanuit gaan dat het moederbord in de Avoton-configuratie doorgaans wordt vervangen door de goedkopere C2550D4I - maar enkele tientjes meer dan het Avoton-systeem.

Waarom is dit dan niet het primaire BBG-systeem? Het verbruikt meer, en het is eigenlijk niet zo nuttig voor een fileserver. Doordat het ruim 10W meer verbruikt aan het stopcontact is het ook nog eens een paar tientjes per jaar duurder om te draaien. Eigenlijk is dit systeem alleen nuttig voor iemand die eigenlijk meer een virtualisatie/algemene server wil bouwen dan alleen een fileserver. Echter, vanwege de prijs/prestatieverhouding wilde ik jullie deze configuratie niet onthouden!

Een kleine maar nuttige upgrade voor wanneer je dit systeem regelmatig zwaar wil belasten is een betere processorkoeling. Hiervoor raad ik graag de Cooler Master Hyper TX3 Evo of Scythe Katana 4 aan. Hierbij is de laatste keuze de stilste, maar iets duurder dan de TX3. Voor licht processorgebruik is de stock koeler echter prima.

Let op: het was me in eerste instantie ook ontschoten, maar dit systeem heeft slechts 6 SATA-aansluitingen. Het is dus niet mogelijk om zonder vervanging van het moederbord (duur!) of het toevoegen van een (extreem onzuinige, afrader!) RAID-kaart een 6-10 disk systeem hiermee te bouwen.

Dit systeem verbruikt ongeveer 50-60W idle afhankelijk van je OS-distributie, misschien zelfs nog iets meer als je veel VMs erop draait. Hiermee kom je op wederom ca. 10GB/euro en ruwweg 3,5W/TB.

Besturingssysteem

Deze systemen zijn allebei uitgekozen op het draaien van het ZFS-bestandssysteem. Ondanks dat ZFS een bestandssysteem en geen besturingssysteem is, is het zeker voor de mensen die hier nog niet eerder mee hebben gewerkt aan te raden om een specifieke FreeBSD-distributie genaamd ZFSGuru te installeren. Lees meer over de installatie en configuratie hiervan in Het grote ZFS topic.

Deze BBG is mede tot stand gekomen door de uitgebreide hulp van Dadona, HyperBart en FireDrunk, bedankt!

3D printer livestream!

Door mux op zondag 28 juli 2013 10:00 - Reacties (13)
Categorie: -, Views: 4.062

Zoals jullie wellicht hebben gemerkt heb ik al in eeuwen niet geblogd - en excuses daarvoor. De aandacht voor Fluffy2 heeft ervoor gezorgd dat ik links en rechts allerlei werk en opdrachten kreeg aangeboden, waardoor ik geen tijd meer overhoud voor het bloggen. Om dit een beetje goed te maken plan ik de komende tijd af en toe te gaan livestreamen, om te beginnen vandaag, zondag 28 juli om 14:00. Op deze livestream zal ik mijn tweede 3d-printer, een RepRap Prusa i3, bouwen.

Deze livestream doe ik gedeeld tussen mijn bloglezers en de backers van mijn eerste Kickstarter-project. In de chatroom die bij deze livestream hoort zullen dus zowel Nederlands- als Engelssprekende mensen rondlopen.

Tijdens de livestream zal ik, voor zover ik daartoe in staat ben tijdens het bouwen, vragen beantwoorden en misschien nog wel her en der een verhaaltje vertellen. Tot over een paar uurtjes!

Livestream link: Justin.tv/muxlivestream


Edit 22:00: Livestream voorbij