Odroid H3 als NAS-systeem inrichten: dit heb je nodig & zo werkt het

Noud van Kruysbergen
0

Inhoudsopgave

    De Odroid H3 is uitermate geschikt voor de rol van NAS en thuisserver dankzij zijn twee SATA-aansluitingen, twee snelle ethernetpoorten, een zuinige Intel-processor en een functionele behuizing. Wij demonstreren dit door de NAS-Linux-distributie OpenMediaVault 6 in te richten. Openmediavault 6.

    Odroid H3 als NAS-systeem inrichten & zo doe je het

    De veelzijdige Odroid H3 als NAS en thuisserver

    Bij onze Odroid H3 review viel op dat het platform door zijn SATA-poorten, 2,5Gbit-ethernet en een zuinige x86-cpu potentie heeft als NAS en thuisserver. We hebben de Odroid voorzien van twee 3,5-inch NAS-schijven met ieder 4 TB aan opslagruimte, een 240 GB NVMe-ssd en twee 4GB SO-DIMM’s. Op de website van de fabrikant staat een lijst met compatibele modules.

    De Odroid H3 kan 64GB RAM aan. Daarmee is hij ook in staat meerdere flinke virtuele machines te draaien. Voor een netwerkopslag is twee GB RAM al genoeg. Bij het kopen van een Odroid H3, die op het moment circa 190 euro kost, moet je beslist SATA-voedingskabels mee bestellen, want de aansluiting aan de Odroid-kant gebeurt via een speciale 4pins stekker. Als je twee 3,5-inch schijven wilt gebruiken, raadt de fabrikant een voeding van 130W (19V/7A) aan met een DC-stekker (5,5 × 2,1 mm). De door ons gebruikte voeding draaide stabiel, maar de stekker paste niet goed.

    De pin in de aansluiting op de Odroid heeft een ongebruikelijke doorsnede van 2,1 mm, maar onze voeding was voor 2,5 mm bedoeld. De originele voeding was op het moment van schrijven niet leverbaar.

     

    Odroid H3 als NAS onderdelen

    De behuizing van de fabrikant met de fantasieloze naam Type 1 bestaat uit insteekbare platen van PCB-materiaal en is goed voor een NAS met twee 3,5-inch schijven. De Odroid past niet in een mini-ITX- of ATX-behuizing.

    De oplossing van de fabrikant is sober, maar wel functioneel, zit goed in elkaar en is met minder dan 40 euro redelijk qua prijs. Een via PWM gestuurde ventilator, die de harde schijven en het cpu-koellichaam koelt, wordt meegeleverd. De behuizing heeft meerdere openingen en het zoemen van de harde schijven is hoorbaar, maar met 0,5 sone idle is de Odroid-zelfbouw-NAS ongeveer zo luid als een x86-NAS van andere fabrikanten.

    Een videohandleiding van de fabrikant die je door de lastige montage leidt, vind je hieronder:

    Alle overige onderdelen die wij hebben gebruikt, kun je hieronder in de tabel terugvinden:

    ComponentenProductPrijs
    SingleboardcomputerHardkernel Odroid H3€ 200
    BehuizingHardkernel Odroid H3 case Type 1€ 30
    AdapterHardkernel Odroid H3 adapter, 19 V / 7A, 5,5 × 2,1 mm DC-stekker€ 40
    RAM2 × Samsung SO-DIMM, 4 GB DDR-3200, CL22-22-22 (M471A5244CB0-CWE)€ 30
    NVMe-ssdWestern Digital WD Green SN350 NVMe-ssd, 240 GB (WDS240G2G0C)€ 23
    Harde schijven2 × Seagate IronWolf NAS-hdd, 4 TB (ST4000VN008)€ 170

    Installatie van OpenMediaVault

    Wat de software betreft, viel de keuze op het makkelijke Linux-NAS OpenMediaVault 6 (OMV6), dat je grotendeels via een webinterface configureert. OMV6 is gebaseerd op Debian 11 en levert naar wens een Linux-kernel met veel backports.

    De functieomvang is met plug-ins (extensies) flink uit te breiden en hoeft zich niet te schamen ten opzichte van kant-en-klare NAS-oplossingen. De bediening en het bij elkaar zoeken van de plug-ins is deels echter omslachtig. OMV richt zich op particulieren en kleinere teams.

    Als je groter wilt, moet je eens naar TrueNAS Scale kijken, dat helemaal op het ZFS-bestandssysteem is ingesteld, en daarvoor genoeg RAM inplannen. Virtualisatie speelt bij OpenMediaVault geen rol, daarvoor is Proxmox een betere keus.

    Installatie van het besturingssysteem en configuratie

    Voor het installeren van een besturingssysteem is het beter om eerst het BIOS van de Odroid H3 up-to-date te brengen. Volg daarvoor de handleiding van de fabrikant die je hier kunt terugvinden. Op ons testapparaat meldde de Linux-kernel met oudere versies van de firmware meermalen per seconde PCIe-bus-fouten. Met het UEFI-BIOS versie 1.11 waren ze verdwenen. Download eerst de installatie-image van OMV6 (zie deze link) en zet het op een usb-stick met minstens 4 GB opslagruimte, bijvoorbeeld met Balena Etcher. Dat werkt onder Windows, Linux en macOS. Koppel de Odroid behalve aan een monitor en een toetsenbord ook aan het netwerk.

    Tijdens het installeren kiest OpenMediaVault standaard de eerste netwerkinterface met een verbinding en haalt via DHCP een ip-adres op. Geef daarna een hostname op, bijvoorbeeld omv-odroid-h3 en een domeinnaam. Het voorstel local kun je overnemen. Daarna moet je een veilig rootwachtwoord aanmaken. Selecteer dan bij de partitioneringswizard de NVMe-ssd waarop OMV geïnstalleerd moet worden. Die wordt normaal als /dev/nvme0n1 aangeduid. Bij de laatste stap kies je de Debian-archiefspiegelserver die het dichtst bij je locatie zit. Verwijder, wanneer dat gevraagd wordt, de usb-stick en start de Odroid opnieuw op.

    Na het opstarten laat OpenMediaVault het ontvangen ip-adres zien en vraagt je om de webinterface met een browser op te roepen, die je ook onder omv-odroid-h3.local kunt bereiken. De standaard geconfigureerde username is admin, het wachtwoord is openmediavault. Je kunt de Odroid-NAS het beste een vast ip-adres geven op je router, zodat alle stappen in deze handleiding goed gaan.

    Configuratie van de netwerkshare en bestandssysteem

    Tot aan de eerste netwerkshare zijn er nog wat ingrepen nodig. Na de eerste keer inloggen vul je het dashboard met widgets, bijvoorbeeld voor de cpu-belasting, de netwerkinterfaces enzovoort. Denk eraan dat widgets die informatie over de harde schijven weergeven, die uit de stand-bymodus halen – maar daarover later meer.

    Via het tandwieltje rechtsboven in de webinterface verander je het wachtwoord. Daar kun je ook de taal veranderen en leer je meteen een eigenaardigheid van OMV kennen. Iedere wijziging heeft namelijk een dubbele bevestiging nodig: eerst in het betreffende menu, en daarna moet je Openmediavault instrueren die in de configuratie te schrijven. Aan configuratiebestanden zoals /etc/fstab of /etc/samba/smb.conf moet je niet komen, want OMV overschrijft alle wijzigingen.

    Update het systeem door in de zijbalk onder System op de optie Update Management te klikken, daarna op de knop Updates en beschikbare pakketten te installeren.

    Om ervoor te zorgen dat je Odroid-NAS het uitvallen van een schijf zonder dataverlies overleeft, moet je beide harde schijven in een RAID (Redundant Array of Independent Disks) combineren. Bij de webinterface van OMV kun je verschillende RAID-levels configureren, maar bij twee harde schijven in de behuizing Type 1 is alleen RAID 1 (mirror) zinvol. De schijvencombinatie kun je vervolgens als een enkele schijf gebruiken. Bij twee 4TB-schijven hou je dan in totaal 4TB over in plaats van 8TB, omdat de gegevens tegelijk naar beide schijven worden – dus gespiegeld worden. OMV gebruikt daarvoor de Linux-RAID-driver MD en de tool mdadm, om het array te maken en in orde te houden. Maak de schijven gereed voor de RAID door voor beide in het menu ‘Storage / Disks’ een Wipe uit te voeren die alle gegevens verwijdert. Maak dan in het menu RAID Management een RAID 1 (Mirror) aan. OMV synchroniseert daarop de gegevens in het array (resync). Dat heeft bij ons met twee 4TB-schijven ongeveer zes uur geduurd. Voordat je er een bestandssysteem opzet, moet je nog bepalen of je de gemeenschappelijke virtuele schijf (md0) wilt versleutelen. Dat beschermt je gegevens als je Odroid-NAS gestolen wordt, maar kan in het dagelijks gebruik irritant zijn omdat je de schijf na iedere herstart van de NAS moet ontgrendelen voordat je bestanden in de gedeelde mappen kunt schrijven. Als je daar toch voor kiest, gaat dat het makkelijkst met de plug-in luksencryption, die je via de plug-inverzameling omv-extras kunt krijgen. De ontwikkelaars stellen daarvoor een installatiescript beschikbaar, dat je via de url in het onderstaande commando kunt inspecteren voordat je het uitvoert.

    wget -O – https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

    Installeer vervolgens de plug-in luksencryption in het menu Plugins. Kies in het menu Encryption md0 als device en geef een naam op en een veilig wachtwoord. Als alternatief voor de versleutelde RAID kun je gevoelige gegevens ook op een versleutelde externe harde schijf zetten of bestanden niet op de NAS, maar aan de clientzijde versleutelen, bijvoorbeeld met BorgBackup. Na het inrichten van de RAID moet je een bestandssysteem op md0 in het menu File Systems opzetten. We raden het beproefde Ext4 aan. Wanneer je het array versleuteld hebt, moet je het eerst ontgrendelen. De webinterface biedt ook Btrfs als bestandssysteem aan, dat zijn voordelen zoals bitrotdetectie en -correctie echter niet zonder meer kan gebruiken omdat OMV de geavanceerde functies van Btrfs niet ondersteunt. Ervaren gebruikers kunnen via de commandline toch een volwaardige Btrfs-RAID 1 inrichten. Nadat je het bestandssysteem hebt aangemaakt, koppel je het nog in hetzelfde menu aan. Het wordt daarna bij iedere herstart van de Odroid-NAS automatisch gemount.

    Configuratie van de netwerkshare en toegangsrechten

    Voordat je zelf en andere gebruikers bestanden op de NAS kunt zetten, heb je een gedeelde map (shared folder) nodig. Selecteer in het gelijknamige menu het bestandssysteem als opslaglocatie. Onder het punt Permissions bepaal je dat de map ook door andere gebruikers behalve root beschreven kan worden. Stel daarvoor ‘read/write’ in voor iedereen behalve voor Others.

    Dan ontbreekt nog een netwerkshare, die je in het menu Services aanmaakt. Met een SMB/CIFS-share kunnen WindowsLinux en macOS goed uit de voeten. Kies voor een testrun bij het punt Public gerust voor ‘Guests allowed’ en zet een vinkje bij ‘Inherit ACLs’, zodat iedereen in het lokale netwerk lees- en schrijfrechten krijgt. Activeer daarna de SMB/CIFS-service in het menu SMB/CIFS onder Settings met een vinkje voor Enabled bovenaan. Na de testrun moet je toegang alleen toestaan voor geregistreerde gebruikers, die je eerder met de webinterface van OMV hebt aangemaakt.

    Dan hebben andere apparaten in het lokale netwerk toegang tot de SMB-share en kun je bestanden naar de NAS schrijven. Bij een test met onze c’t-NAS-Bench in een 2,5Gbit-netwerk en een versleutelde Ext4-RAID 1 konden we bestanden met een grootte van 400 MB met 232 MB/s lezen en met 195 MB/s schrijven. Als test hebben we ook de out-of-tree kernelmodule r8125 voor de Realtek RTL8125B-netwerkchip uitgeprobeerd. Hardkernel schrijft daar in de wiki van Odroid H3 over dat het een hogere transferrate haalt dan de reguliere kernelmodule (r8169). Daarmee konden we grote bestanden inderdaad iets sneller lezen (256 MB/s). Omdat de schrijfsnelheid echter afzakte naar een trage 50 MB/s, is dat het installeren de moeite niet waard.

    Energieverbruik en energiebeheer

    Wat energieverbruik betreft valt de Odroid-NAS ongeveer in dezelfde categorie als een x86-NAS van QNAP. Idle met twee 4TB-schijven van Seagate verbruikte onze Odroid 19 watt. Dat komt overeen met 64 euro verbruikskosten per jaar – uitgaande van 40 cent per kWh. Schijven die niets te doen hebben kun je na een bepaalde tijd op stand-by zetten. Daarmee vermindert het verbruik tot 10,5 watt en wordt de NAS met minder dan 0,1 sone fluisterstil. De spin-down kun je in het menu ‘Storage / Disks’ instellen. Omdat de harde schijf bij iedere keer opspinnen een klein beetje verslijt, moet de wachttijd tot stand-by minimaal een half uur zijn − een of twee uur is ook prima, dan gaan de schijven tenminste ‘s nachts in ieder geval op de slaapstand. Maar als je serverdiensten opzet die vaak data van de RAID lezen, kun je daar beter vanaf zien.

    Daarnaast kun je de NAS op stand-by zetten wanneer je hem niet nodig hebt. In het submenu Scheduled Tasks van de energieinstellingen kun je vastleggen wanneer het apparaat op stand-by moet gaan. Met de plug-in autoshutdown stel je daarentegen de voorwaarden in waaraan voldaan moet zijn om de NAS in de slaapstand te zetten. Bijvoorbeeld wanneer het je workstation niet meer kan bereiken. De wekker stel je in met de plug-in wakealarm of je haalt de Odroid-NAS via Wake-on-LAN weer uit stand-by. Daarvoor sta je Wake-on-LAN toe bij de BIOS-instellingen en activeer je de functie bij de webinterface van OMV onder Network in het menu Interfaces.

    Docker en toepassingen

    Net als op de NAS-systemen van Synology en aanverwanten opent Docker de deur naar vele toepassingen en serverdiensten. In het menu omv-extras installeer je Docker en – als je wilt – ook de grafische containermanager Portainer, die je na het installeren in de browser via poort 9000 kunt bereiken. Pas op: tijdens onze tests heeft een Docker-update de container vernield omdat Docker in de nieuwe versie (docker-ce 5:23.0.0-1debian.11bullseye) de kernelmodule van AppArmor ontdekt en op het systeem de bijbehorende userspace-componenten verwacht, die OMV echter niet heeft. Voer als workaround de volgende commando’s uit:

    mkdir -p /etc/default/grub.d
    echo ‘GRUB_CMDLINE_LINUX_DEFAULT=”$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0″‘ | tee /etc/default/grub.d/apparmor.cfg
    update-grub
    reboot

    Een inleiding in Docker en Portainer gaat buiten het kader van dit artikel, maar voor het eerste begin hebben we Docker Compose-templates voor de adblocker Pihole en de mediaserver Jellyfin gemaakt. Die laatste kan na enkele handgrepen ook de geïntegreerde graphics-unit van de cpu gebruiken voor transcoderen. Met behulp van de Jellyfin-apps voor Android, iOS en smart-tv’s is er dan niets meer dat een filmavond in de weg staat. Beide templates staan in een GitHub-repository die je hier kunt vinden.

    Daarnaast zijn er lijsten met installatietemplates van populaire apps om zelf te hosten vanuit de community. Om die communitytemplates te integreren, voeg je de volgende url toe aan de Portainer-instellingen onder App Templates:

    https://raw.githubusercontent.com/linuxserver/docker-templates/master/README.md

    Dan vind je de templates van bijvoorbeeld Nextcloud, het headless cms Ghost of de domotica Home Assistant in Portainer onder App Templates > Community Templates. Ook een zelf te hosten clouddrive of een Bitwarden-omgeving voor het opslaan van wachtwoorden kun je met een template zo op de Odroid-NAS zetten.

    Conclusie

    De Odroid H3, met zijn SATA-poorten, 2,5Gbit-ethernet en zuinige x86-cpu, heeft zich bewezen als een veelbelovend platform voor een NAS en thuisserver. Met behulp van de juiste configuratie en software kan deze kleine hobbycomputer de concurrentie aangaan met gevestigde merken van kant-en-klare NAS-producten.

    Het installeren en configureren van de Odroid H3 als NAS is relatief eenvoudig, vooral met behulp van het Linux-NAS Openmediavault 6 (OMV6). Deze gebruiksvriendelijke software biedt een scala aan functies en plug-ins, waardoor het niet onderdoet voor commerciële NAS-oplossingen. Het opzetten van een RAID 1-configuratie met twee harde schijven is mogelijk, evenals het instellen van netwerkshares via SMB/CIFS voor eenvoudige bestandstoegang vanaf verschillende apparaten.

    Het energieverbruik van de Odroid-NAS is vergelijkbaar met dat van andere x86-NAS-systemen, en met het juiste energiebeheer kunnen de kosten en het geluidsniveau worden verlaagd. Daarnaast biedt de ondersteuning voor Docker en de grafische containermanager Portainer de mogelijkheid om extra toepassingen en serverdiensten te installeren, waardoor de functionaliteit van de NAS verder kan worden uitgebreid.

    Hoewel de Odroid H3 enige technische kennis vereist en niet dezelfde gebruiksvriendelijkheid biedt als commerciële NAS-systemen, biedt het een betaalbaar en flexibel alternatief voor diegenen die graag willen experimenteren met een zelfgebouwde NAS. Met de juiste configuratie en software kan de Odroid H3 voldoen aan de behoeften van particulieren en kleinere teams die op zoek zijn naar een veelzijdige netwerkopslag- en serveroplossing.

    Deel dit artikel

    Noud van Kruysbergen
    Noud van KruysbergenNoud heeft de 'American Dream' doorlopen van jongste bediende tot hoofdredacteur van c't, waar hij zo veel mogelijk de diepgang, betrouwbaarheid en diversiteit wil bewaken.

    Lees ook

    Smartphone levensduur verlengen: deze tips en tricks helpen je!

    Hoe zorg je ervoor dat je telefoon langer meegaat? In dit artikel geven we je tips om de levensduur van je smartphone te verlengen en hem dus langer t...

    Zo installeer je NextCloud op een Raspberry Pi met NextCloudPi

    De voordelen van de cloud zonder je data weg te geven: NextcloudPi voor de Raspberry Pi maakt het mogelijk. Zo installeer je het.

    0 Praat mee
    avatar
      Abonneer  
    Laat het mij weten wanneer er