Artikel top billede

(Foto: Computerworld)

Guide: Byg din egen NAS

Byg din egen NAS-boks med ting, du har liggende, og med magien fra open source.

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Tidsforbrug: 2 timer

Sværhedsgrad: medium

Ideen

Man kan sagtens finde færdiglavede NAS-enheder, men de er ofte underdimensionerede, dyre eller skuffende på andre områder. Mange af dem kører på en form for Linux (som regel på ret ydmyg ARM-hardware), og det er ret ligetil at lave en Linux-boks og fylde den op med så mange harddiske, som pladsen tillader.

Du har måske tilstrækkeligt med dele liggende til at opfylde de fleste behov (det havde vi). Du skal ikke have noget specielt på hardwarefronten (4 GB ram og en cpu fra forrige årti rækker fint), men flere store harddiske vil hjælpe. Mange NAS-enheder på forbrugerniveau er fikse og små, og takket være deres lave strømforbrug kræver de ikke støjende køling. Derfor besluttede vi os for at prøve noget lignende.

Hvis tanken om at bruge Linux giver dig nervøse trækninger, kan du tage det roligt – vi skal bruge den fantastiske OpenMediaVault, der (hvis alt går som planlagt) betyder, at du ikke behøver komme i nærheden af en kommandolinje, og det kan styres fra et venligt webinterface. Filsystemer fra næste generation RAID og LVM kræver ikke dunkle trylleformularer (eller ofre) ved terminalen. Og det bedste af det hele er, at man kan skræddersy og udvide OpenMediaVault, så meget man vil. Læs alt om OpenMediaVault på www.openmediavault.org.

Plex-extension’en (der kan fås via OMV-Extras.org-arkivet) er særlig fremragende, og den kan forvandle din NAS til en fuldt fungerende DAAP-medieserver. Bortset fra det kan OMV køre Docker-images, således at man kan hoste enhver populær Linux- applikation, uanset om det er Nextcloud, Mastodon, BitTorrent eller andet. OMV bygger også på Debian Linux, og du kan derfor stort set gøre med det, hvad du vil.

Genbrug er godt

Fractal Design var så elskværdig at sende os Node 304-kabinettet til dette projekt. Det er måske nok en aldrende model, men vi blev charmeret af dets meget beskedne størrelse. Det er forbavsende svært at finde et ITX-kabinet, der har plads til masser af harddiske. Node 304 har plads til seks 3,5”-drev, men det er ikke større end to skoæsker og kan derfor nemt gemmes under trappen.

Det er lidt tricky at arbejde med, hvis man har en stor køler, men det har en fremragende luftstrøm med to ventilatorer fortil og en stor ventilator bagtil. Det er altid fristende at satse på billige komponenter eller endda brugte sager – og det har vi gjort med brugen af et MSI-88X AC-bundkort og en Athlon A10-7800K-APU, cirka årgang 2014.

Integreret grafik er helt oplagt her, fordi denne enhed formentlig skal køre uden skærm det meste af sin levetid. Vi brugte tre 1 TB Hitachi-drev og et ekstra 240 GB ssd til OMV. Det er afgjort overkill, fordi den indledende installation kun fylder omkring en halv gigabyte, men vi kan bruge den ekstra plads til noget senere.

Til installationen af OMV brugte vi det platformsuafhængige Etcher (https://etcher.io) til at skrive ISO’er på et USB-drev. Man kan downloade dette ISO fra OMV’s website. Vi fik OMV til at arrangere vores drev som et raid 5-array med en samlet kapacitet på 2 TB og med evnen til at genopbygge sig selv, hvis et af drevene svigter. Hvad angår strømforsyning, faldt valget på en Be Quiet! Pure Power 11, der kan levere en helt unødvendig kapacitet på 650 W. Det skyldes igen, at vi brugte det, der var for hånden, og det kan du også.

1 Fint, lille kabinet

Kabinettet Fractal Design Node 304 er lille, men ideelt udformet. Det kræver lidt fingerfærdighed her og der, men hvis du ikke bruger en afsindig høj køler som vi, er der faktisk masser af plads at arbejde med.

Først skal man fjerne fingerskruerne og forsigtigt trække kabinettets dæksel tilbage, før man løfter det over kabinettet og lægger det et sikkert sted. Dernæst fjerner man de hvide harddiskskuffer, der hver er sikret med to fingerskruer og en almindelig opadvendt skrue. Før du fortsætter, skal du se, hvordan SATA-, ventilator- og ATX-stikkene sidder på bundkortet og tænke over, hvordan du bedst fører kablerne.

Hvis du vil bruge alle tre drevskuffer, skal du tænke dig godt om, fordi det er svært at se for sig, hvor lidt plads der er tilovers, når de er sat på plads. Fjern 149 mm-ventilatoren fra kabinettets bagside – ellers bliver det temmelig besværligt at få bundkortet ind.

2 Køling for alle pengene

Vi valgte at montere cpu’en og køleren, før vi satte bundkortet i kabinettet. Det er som regel den bedste rækkefølge, fordi det kan være akavet at komme til kølerskruerne udefra. Desværre har kombinationen af en stor køler og et lille kabinet gjort livet ret bøvlet på længere sigt.

Node 304 kan rumme kølere på op til 16,5 cm i højden, og vores Hyper 212 er omkring 16 cm. Man er nødt til at fjerne ventilatoren fra køleren før installationen, så den ikke forhindrer adgangen til monteringsskruerne. Afhængig af valget af cpu kan en lang skruetrækker være praktisk, fordi monteringsskruerne kan ende ret tæt på kølerens (heldigvis rillede) hjørner.

Montering i den gamle FM2+-sokkel krævede navnlig lidt mere styrke, end vi brød os om, men det er formentlig nemmere på nyere cpu-sokler. Monter ventilatoren igen, og glem ikke at forbinde den til bundkortet.

3 En lind strøm

Atter engang skulle tingene ske i den rette rækkefølge, men det gjorde livet lidt klaustrofobisk for os i det næste trin. Anbring psu’en, og skru den sikkert på plads. Psu’ens strømstik er udvidet til bagsiden af kabinettet med et godt udformet, retvinklet kabel, der kan løbe ved siden af bundkortet. Hvis din psu’s stik er tæt på kanten, kan det knibe med at få det til at passe.

Lad dig ikke friste til at løse problemet ved at montere psu’en på hovedet – den resulterende opdrift af varm luft i kabinettet (der faktisk fører direkte til harddiskene) vil sandsynligvis forstyrre luftstrømmen. Stikket kan tåle at blive forsigtigt mingeleret, og det kan være en god ide at tilslutte det, før man monterer psu’en. Fjern den centrale bjælke, der indtil for nylig holdt drevbakkerne på plads. Anbring de fire afstandsskruer i hjørnerne, så de er klar til at understøtte vores diminutive bundkort.

4 Hukommelse og bundkort

hukommelse er den komponent, der er nemmest at smadre, og derfor skal du aflade den statiske elektricitet, du har akkumuleret, ved at jorde dig selv på et vandrør (eller brug en antistatisk strop, der er forbundet med kabinettet). Indsæt ram’en, og sørg for, at den er placeret korrekt. Hvis dit bundkort har en højttaler, tilslutter du den nu – dens bip kan være nyttige, hvis noget går galt.

Anbring bagpladen over bundkortstikkene, og gelejd bundkortet på plads. Hvis dine SATA-stik bliver svære at nå, efter at bundkortet er monteret, bør du forbinde disse kabler først. Sørg for, at bagpladen er monteret rigtigt, og skru bundkortet på plads. Hvis du har en modulær psu, tilslutter du de kabler, du har brug for, eller dropper dem, du ikke skal bruge. Du får pladsproblemer, hvis du prøver at montere et langt grafikkort og en modulær psu.

5 Mange ventilatorer

først skal du føre ATX-strømkablet omhyggeligt langs køleren og forbinde det med bundkortet. Det ser ud til, at der er en alternativ rute oven på psu’en (under de forreste ventilatorer) men vores kabel var lige lidt for tykt og gav ikke plads til drevene over det. Monter kabinetstikkene (det kan være svært), og tilslut cpu-ventilatoren, hvis du ikke allerede har gjort det.

Monter igen kabinetventilatoren på 140 mm, idet du sikrer, at orienteringen er korrekt, således at den trækker varm luft fra kabinettets bageste del. De to ventilatorer fortil skal sluttes til to af trepin-stikkene bagtil, og det hele skal sluttes til psu’en via Molex-stikket (firepin) bagest. Der er en tretrinskontakt på kabinettet, som styrer ventilator-hastigheder og afbalancerer temperatur og støj. Sørg for, at kablerne ikke forhindrer ventilatorerne i at dreje; du kan om nødvendigt sikre dem med de medfølgende miniature-kabelbånd.

6 Ind med harddiskene

hver bakke kan rumme to drev (2,5” eller 3,5”). Vi brugte kun to af de tre bakker (til vores tre harddiske og et ssd), og det fungerede udmærket, fordi det giver noget ekstra plads til kabelføring. Den plads skal man også bruge, hvis man monterer et langt grafikkort. Det kræver lidt fingersnilde at montere endnu et 3,5”-drev i hver bakke, men så snart man har fået en skrue ind (brug dem med store hoveder til 3,5”-drevene) er det enkelt nok.

Pas blot på ikke at banke drevene ind i hinanden under installationen. Når bakkerne er spændt fast, sætter du låget tilbage på kabinettet, tilslutter en skærm, krydser fingre og tænder for din fine NAS-boks. Hvis den virker, prøver du at overtale den til at boote OpenMediaVault fra et USB-drev. Nu bør dit NAS vise sin ip-adresse, når det er bootet, og på dette trin kan du nu logge ind fra din browser.

 

1) Hyper 212 er en af de bedste billige kølere, der findes, og vi kunne lide, at den lige akkurat passede ind i vores kabinet. Da der kun er tale om en NAS, stilles der ikke store krav til cpu’en, og det burde derfor ikke generere megen varme. Vi så aldrig temperaturer over 50 grader, og den temperatur blev opnået under streaming af højopløselige film med Plex-pluginet.

2) Be Quiet! laver dejlige psu’er, men 650 W er langt mere, end vi har brug for. 400 W ville formentlig have været nok. Ventilatoren sidder lovlig tæt på bunden, og tæppebelagte gulve er derfor ikke noget for denne maskine.

3) Det er lidt riskabelt at bruge gamle drev som dette, og forbrugerdrev er i almindelighed ikke beregnet til seriøst datalager. Vi ville blot have drevene ud af vores hovedmaskine, og vi ville nok have overlevet, hvis dataene på dem gik tabt. OMV kan overvåge SMART-oplysninger, som kan advare brugeren om forestående drevnedbrud.

De sidste overvejelser

Det har været sjovt. Bortset lige fra selve byggeriet... Før du giver dig i kast med sådan et projekt, bør du overveje dette: Har du virkelig brug for så lille et kabinet? Livet bliver meget lettere, hvis man har albuerum. Den sidste del af byggeriet var afgjort rodet, men hvis bundkort og psu var blevet arrangeret anderledes, ville det måske i mindre grad have lignet en plastikjungle.

Ventilatorerne i Node 304 er ikke jordens mest stille skabninger, men når der er skruet ned for dem, var støjen til at holde ud, og temperaturerne uden belastning holdt sig et godt stykke under 40 grader. I øvrigt: Hvis OMV ved den første boot fortæller dig, at det ikke kan se netværket (og du ved, at netværkskablet er tilsluttet), er det muligt, at DHCP-forhandlingerne har taget lidt for længe.

Man kan logge ind lokalt med brugernavnet “admin” og kodeordet “openmediavault” efterfulgt af “ip a” (alting uden anførselstegn) for at se den korrekte ip. Herfra kan du gøre alt, hvad du vil, ved at besøge den ip-adresse i en browser og bruge det elegante web-interface. Som i alle sager, der vedrører Linux, er det en god ide at læse den relevante dokumentation, men man bør begynde med “Storage > Disks” for at rydde drevene (det er især vigtigt, hvis de tidligere har været del af et raid-array) og derefter oprette sit raid-array.

Man har nogle valgmuligheder, når det drejer sig om filsystem – vi valgte traditionel Ext4, men på et større array kan Btrfs være en bedre ide. Hvis sandheden skal frem, ville vi helst vente på OMV 5.0, fordi det får langt bedre support til filsystemets talrige ekstrafunktioner (navnlig dets indbyggede raid-pulje og de magiske selvhelbredende egenskaber).

Det var en skam, at vi ikke kunne arrangere kabinettet med seks drev. Men det er muligt at køre styresystemet fra et USB-drev, og således kunne vi have haft et array med fire drev (raid 6 eller 10) og med to “hotte” ekstradrev. Det blev ikke til noget på grund af bundkortets beskedne udvalg på kun fire SATA-porte.

Raid 5 er formentlig fin til vores formål, men på større (eller ældre) drev ville den skånselsløse læsning, som en ombygning (hvis arrayet svigter) nødvendiggør, sandsynligvis dræbe både et andet drev og vores redundans. Og dermed alle data. Åh, ja – raid er ikke backup, og man skal derfor huske backup af alle ens dyrebare filer.

Der var kun ganske lidt plads bag harddiskene, og med et fuldt kabinet ville der formentlig have været problemer med luftstrømmen. En moderne cpu og en mindre køler (for eksempel en Ryzen 2200G med standard-køling) ville have passet bedre. Det havde også været sjovt at bruge de eksperimentale SnapRAID- og MergerFS-plugins. Men når det kom til stykket, var vi imponerede over OMV og fornøjede med at gøre nytte af gammel hardware.