NAS-apparaten met Docker
x86-netwerkopslag met Docker-optie
Docker is populair. En terecht. Met dit 'lego voor servers'-systeem kun je een service even uitproberen en als hij bevalt, laat je hem gewoon draaien. Wij hebben vijf NAS-systemen met Docker nader bekeken.
NAS-systemen (Network Attached Storage) zijn al jarenlang populair als centraal netwerkopslagsysteem voor werkgroepen, woongemeenschappen of gezinnen. Door de jaren heen is er steeds meer functionaliteit bijgekomen: thuisgebruikers waarderen de mogelijkheid om een mediaserver te draaien en hun films en muziek vanaf de centrale opslag op te roepen, terwijl bedrijven pakketten voor CRM (Customer Relationship Management) of ERP (Enterprise Resource Planning) kunnen toepassen.
Het knelpunt bij alle uitbreidingen is dat je afhankelijk bent van de software van de NAS-fabrikant, niet alleen wat het aanbod betreft, maar ook het voortdurende onderhoud met updates. De grote spelers hebben een groot aanbod, maar je komt altijd weer pakketten tegen die na een eerste versie nooit meer zijn bijgewerkt.
Docker is een ander verhaal. Het aanbod van uitbreidingen (container images) komt van één producent af, waar de NASfabrikanten verder niets mee te maken hebben. Uiteraard raken talloze Docker images ook verouderd, maar het grote voordeel hier is dat er één grote community achter zit, in plaats van allerlei kleine groepjes enthousiastelingen. Daardoor wordt Docker steeds interessanter, met name als je een NAS niet alleen voor gegevensopslag wilt gebruiken, maar ook als kleine server.
Wij hebben vier NAS-systemen getest die allemaal ongeveer evenveel kosten. De apparaten hebben een x86-processor, ze bieden ruimte aan twee harde schijven en er is al een Docker-implementatie voor beschikbaar (Asustor, QNAP, Synology) of ze beschikken over een andere virtualisatiemethode (KVM/Qemu bij Thecus). Als buitenbeentje hebben we ook nog de
TerraMaster F2-220 meegenomen, die ongeveer 100 euro goedkoper is. Met extra hardware en het besturingssysteem Openmediavault 4 is die ook als NAS en microserver te gebruiken [1,2]. OMV4 biedt meer opties en uitbreidingsfuncties – zoals Docker – dan de fabrikant van huis uit aanbiedt.
We hebben de apparaten voorzien van twee Seagate IronWolf 4 TB-schijven in RAID 1. We zijn afgestapt van onze eerdere testopstelling met twee 3 TB-schijven, omdat de grotere variant momenteel de optimale prijs per gigabyte heeft. Daardoor zijn de resultaten van deze test wat de gegevensoverdracht, geluidsproductie en stroomverbruik betreft niet vergelijkbaar met de resultaten uit eerdere tests.
NAS-prestaties meten
We hebben de NAS-prestaties getest met onze c't-NAS-bench, die via de link onderaan dit artikel beschikbaar is. Iedereen mag de benchmark gebruiken om eigen metingen uit te voeren, mits bij eventuele publicaties de betreffende link vermeld wordt.
De c't-NAS-bench kopieert op basis van interne functies van Windows diverse bestanden van verschillende grootte heen en weer tussen een RAM-disk en de testNAS. De benchmark houdt hierbij rekening met vertragingen in het besturingssysteem en meet dus de overdrachtssnelheid zoals deze in de dagelijkse praktijk zal zijn. Als je geen rekening zou houden met deze lag, zouden de resulterende waarden veel te optimistisch uitpakken.
De apparaten kunnen kleine bestanden (1000 × 256 kB) tijdens het schrijven in hun geheugen bufferen. De doorvoer is dan meestal beduidend hoger dan bij het lezen, wanneer de gegevens met veel tijdrovende bewegingen van de kop verzameld moeten worden. Dit effect wordt al bij iets grotere bestanden (100 × 2 MB, bijvoorbeeld mp3'tjes) beduidend minder. De doorvoersnelheid doet er nog een schepje bovenop wanneer de NASapparaten grote bestanden (10 × 400 MB, images of back-ups) moeten verwerken en hun gigabit ethernet verbinding bijna maximaal belasten.
De NAS-apparaten die bij het schrijven en lezen van grote bestanden meer dan 100 MB/s haalden, kregen 'Goed' als beoordeling bij de doorvoer. Indien er waarden onder 50 MB/s waren geweest (wat in deze test niet het geval was) dan was het oordeel 'Slecht' geweest.
We hebben dezelfde criteria gebruikt bij het benaderen van versleutelde mappen of volumes. Alle apparaten ondersteunen versleuteling die je kunt toepassen om je gegevens te beveiligen voor het geval dat een schijf, of zelfs de hele NAS, zou worden gestolen.
Als je een NAS ergens veilig opgeborgen kunt plaatsen, dan is versleuteling niet nodig. Dit kan met name voordelig zijn bij de NAS-processors zonder AES-NI (TS-251+, F2-220), die merkbaar aan performance inboeten bij het verwerken van versleutelde gegevens. Handig zijn ook afsluitbare bays of een aansluiting volgens de Kensington Lock-standaard, features die we alleen bij de Thecus aantroffen.
Features
De bekende fabrikanten QNAP en Synology hebben hele ecosystemen van apps en tools voor de besturingssystemen van hun NAS gecreëerd, die zaken zoals back-up/synchronisatie, remote access en clouddiensten voor hun rekening nemen. Als je je NAS zonder de omweg via Docker als universele server wilt gebruiken, dan kun je het beste deze mogelijkheden van verschillende modellen online vergelijken. Het was onmogelijk om alle beschikbare functies in de tabel te noemen. Om dat te doen, hadden we een extra uitklapbare pagina in het blad moeten plakken.
Voor de harddisklades van Synology en Thecus hoef je niets te schroeven. Met twee hendels aan de zijkanten zet je de harde schijven vast via palletjes die bij het aandrukken in de schroefgaten van de schijven vallen.
Alle testapparaten ondersteunen schijven met de actuele maximale capaciteit van 12 TB. We hebben dit getest met de Seagate IronWolf ST12000VN007. Dit is niet altijd vanzelfsprekend: een oudere NAS kan weigeren met zulke grote opslagcapaciteiten te werken. Het is wel mogelijk dat de fabrikant een nieuwe firmwareversie beschikbaar stelt die de nieuwere schijven wel ondersteunt.
Docker details
De integratie van Docker is het beste gelukt bij QNAP en Synology. Beide apparaten beheer je volledig via de browser. Er zijn uiteraard beperkingen: sommige services werken niet helemaal zoals je het van 'echte' Docker-hosts gewend bent. Het lukte ons bijvoorbeeld niet om bij de TS251+ en de DS218+ snel even een Watchdog-container op te zetten die bewaakt of andere containers up-to-date zijn en ze zo nodig bijwerkt. Je moet wel enige vasthoudendheid en plezier in het experimenteren hebben om dergelijke dingen voor elkaar te krijgen.
De andere componenten van onze testinstallatie (MySQL/MariaDB en Nextcloud 13) werkten daarentegen zonder problemen. We moesten wel een beetje uitpluizen wat de beste manier was om ze aan elkaar te koppelen.
Iets wat je misschien snel over het hoofd ziet, is dat als er Docker services actief zijn deze kunnen verhinderen dat de schijven in de NAS in stand-by gaan. Nog erger is het, wanneer ze meerdere keren per uur in stand-by gaan en gelijk weer gewekt worden. Dat verkort de levensduur van schijven meer dan wanneer ze continu actief zijn. Indien je merkt dat dit gebeurt nadat Docker is geïnstalleerd, dan kun je proberen de idle time-out van de schijven te verlengen of hem helemaal uitschakelen.
Native Linux
Op alle geteste NAS-apparaten draait een enigszins actuele, uitgeklede Linux-kernel. Over het algemeen kun je geen pakketten na-installeren of systeeminstellingen langdurig wijzigen. Als je op zoek bent naar dergelijke flexibiliteit, dan kun je
zelf Linux installeren op de apparaten van Asustor, QNAP en Thecus. Na het aansluiten van een monitor, muis en een toetsenbord werken de apparaten min of meer als een gewone pc of microserver. Wij hebben Xubuntu 17.10 vanaf een usb-stick direct op de NAS-schijven geïnstalleerd en dat ging bij alle apparaten vlekkeloos.
Als je de apparaten inschakelt, kom je met Esc of Delete in een bootmenu terecht. Bij de Asustor krijg je een keuzemenu te zien. Daarin selecteer je het SCU-pictogram om in het BIOS terecht te komen. Bij QNAP en Thecus kom je daar direct in terecht. In het menu van de Asustor kun je de optie selecteren om de NAS vanaf een externe usbopslag te booten. Voor de QNAP en Thecus moet je de bootvolgorde aanpassen zodat de NAS van het gewenste medium opstart.
De installatie van Xubuntu toverde de NAS-apparaten om tot volwaardige microservers. Nadat de installatie voltooid is, ga je nogmaals het BIOS in, om te zorgen dat het apparaat bij de volgende start vanaf het juiste medium boot.
In de test hebben we ons tot de essentiële stappen beperkt, om te zorgen dat we het apparaat via het LAN konden benaderen. Je zult her en der zeker nog wat moeten verkennen om bijvoorbeeld de ventilatorinstellingen en de instellingen van de statuslampjes te optimaliseren. Het is overigens wel mogelijk dat de garantie vervalt omdat je de apparaten anders gebruikt dan de fabrikant bedoeld heeft.
Conclusie
Je wilt met Docker aan de slag, maar dat moet wel een beetje makkelijk gaan? Dan is de NAS van QNAP of die van Synology wellicht iets voor jou. De processor in de TS251+ loopt weliswaar een generatie achter ten opzichte van de DS218+, maar biedt wel het voordeel van een monitorpoort, die de Synology dan weer niet heeft. Met die poort kunnen hardcore knutselaars een Linux-versie naar keuze installeren en daarmee de NAS tot een volwaardige microserver ombouwen.
Bij de Thecus N2810PRO is een nieuw OS momenteel de enige optie om de NAS geschikt te maken voor Docker. Dit geldt ook voor de TerraMaster F2-220, die we hier weliswaar hebben meegenomen, maar die eigenlijk niet voldoet aan de vereisten van de test. Bij de Asustor was de implementatie van Docker op moment van schrijven nog niet ver genoeg uitgerijpt. Hierdoor is de AS6102T in dit opzicht alleen interessant voor gebruikers die bijzonder handig met de commandline overweg kunnen. (ddu)