Hvordan

På denne måten gjør du Ubuntu-serveren din til en fleksibel NAS

Hvis du vil ha en fleksibel nas, er du nesten forpliktet til å bruke et Linux-basert operativsystem. Ubuntu Server er ideell som en Linux-server for å dele filer. Videre kan du enkelt kjøre alle slags ekstra tjenester med Docker. Ansible NAS gjør både fildeling og kjøring av tilleggstjenester på Ubuntu Server ekstra enkelt, inkludert et nettbasert dashbord. I denne artikkelen kommer vi i gang.

Ansible NAS vokste ut av David Stephens frustrasjon med FreeNAS, som ofte ikke klarte å oppgradere ham. Og det er akkurat derfor jeg også oppdaget Ansible NAS selv: FreeNAS er et flott operativsystem med åpen kildekode for å kjøre en nas hjemme, men etter den femtende gangen måtte jeg koble et tastatur og skjerm til NAS-en min til at jeg var lei av å løse en problematisk oppgradering.

Jeg lette etter et alternativ og fant Ansible NAS (som jeg syntes så interessant ut), installerte Ubuntu Server først og deretter Ansible NAS. Siden da har jeg vært veldig fornøyd. I mellomtiden kjører jeg enda flere tjenester på den enn jeg noen gang har gjort på FreeNAS.

01 Velge maskinvare

Først og fremst må du tenke på maskinvaren du vil kjøre Ansible NAS på. I prinsippet vil enhver Intel-kompatibel 64-biters prosessor som kjører Ubuntu Server være tilstrekkelig. Mengden internminne og lagringskapasiteten avhenger åpenbart av hva du vil gjøre med det og hvor mange filer du har. Prosessoren er spesielt viktig hvis du planlegger å kjøre mange ekstra tjenester på NAS-en din. De fleste mennesker trenger virkelig ikke en superrask maskin for NAS-en. Selv har jeg brukt den kompakte Dell PowerEdge T110 II tårnserveren med FreeNAS i årevis, og med Ubuntu Server går den like greit. David Stephens tester Ansible NAS på en HP Proliant Microserver N54L.

Ansible NAS antar at du bruker ZFS-filsystemet til datadiskene dine, noe som er veldig pålitelig. Det er ikke nødvendigvis nødvendig, men i mitt tilfelle var datadiskene mine allerede ZFS-aktiverte fordi FreeNAS også bruker det filsystemet. Jeg kunne derfor enkelt importere dem til Ubuntu Server. Hvis du jobber med ZFS, anbefales minst 8 GB ram, selv om det også kan gjøres med mindre.

For en NAS anbefales det absolutt å innføre litt redundans for ekstra sikkerhet i tilfelle disksvikt. Den enkleste måten er å sette opp to datadisker i en speilkonfigurasjon (aka raid 1): to disker av samme størrelse som kopierer hverandre. Dette er enkelt å lage med ZFS. Det er best å installere selve operativsystemet på en separat mindre disk.

02 Installere Ubuntu Server

Ansible NAS er ikke et nas-operativsystem som FreeNAS, men det skal heller sees på som en nas-konfigurasjon av en Ubuntu-server. Så du må installere Ubuntu Server først. Ansible NAS støtter den nåværende LTS-versjonen, Ubuntu 18.04 LTS. Last ned bildet fra Ubuntus nettsted og plate det til en USB-pinne eller DVD-RW. Se også artikkelen om Ubuntu-skrivebordsversjonen på side ## for mer informasjon.

Installasjonen ligner på Ubuntu Desktop, men uten et grafisk grensesnitt: i stedet vises trinnene i påfølgende tekstvinduer. Velg tastaturoppsett, og velg deretter Installer Ubuntu. Etter det blir en nettverkstilkobling vanligvis satt opp automatisk hvis du bruker dhcp i nettverket. I neste trinn velger du lagring. Å velge Bruk en hel disk og velg disken du vil installere Ubuntu på. Bekreft den foreslåtte partisjoneringen (som standard bruker Ubuntu filsystemet ext4, som er greit for oppstartsdisken) med Ferdig og bekreft igjen med Kontinuerlige. Etter det blir den valgte disken slettet og installasjonen vil begynne.

Skriv deretter inn litt informasjon, for eksempel navnet på serveren, brukernavnet og passordet ditt. Deretter må du vente til installasjonen er fullført. Siden Ubuntu Server bare installerer programvare som er nyttig for servere, er den raskere enn Ubuntu Desktop. Fjern deretter installasjonsmediet og velg Starte på nytt nå. Start deretter nas på nytt og kjør Ubuntu Server. Se under "Tilgang til Ubuntu-serveren din" hvordan du logger på.

Få tilgang til Ubuntu-serveren din

Ubuntu Server har ikke et grafisk grensesnitt, så du må skrive inn alle slags kommandoer. Du kan gjøre dette via tastaturet og skjermen du koblet til under installasjonen, men det kan også gjøres uten det, nemlig via ssh (sikker skall) fra en annen datamaskin i nettverket. Hvis du kjører en Windows-versjon før april 2018, må du installere PuTTY-programmet. Hvis du har en nyere versjon av Windows 10, kan du bruke den innebygde ssh-klienten. Gå først til Innstillinger / Apper / Valgfrie deler og klikk deretter Legg til et element. Velge OpenSSH-klient og start datamaskinen på nytt. Etter det kan du logge på Ubuntu-serveren din i Windows Command Prompt med kommandoen ssh brukernavn @ server. Bekreft med ja at du stoler på fingeravtrykket og skriver inn passordet ditt. Linux og macOS har allerede en ssh-klient installert som standard, slik at du kan komme i gang med en gang.

03 Klargjøre dataplater

I denne mesterklassen antar vi at du bruker ZFS for datadiskene dine. Installer nødvendige verktøy med:

sudo apt installere zfsutils

Deretter ønsker vi å lage et ZFS-filsystem på to stasjoner i en speilkonfigurasjon. Bruk først kommandoen lsblk for å sjekke hvilke stasjoner Ubuntu vet. Sannsynligvis er navnet ditt oppstartsdisk sda og dine to andre stasjoner sdb og sdc. Opprett nå en ny partisjonstabell på de to sistnevnte:

sudo skiltes / dev / sdb

(skilt) mklabel gpt

(skilt) sluttet

sudo skiltes / dev / sdc

(skilt) mklabel gpt

(skilt) sluttet

Se nå ID-ene til de to datadiskene dine:

ls -l / dev / disk / by-id /

Tross alt er ikke navnene garantert å være de samme; ID-ene gjør det. En ID ser ut som ata-SAMSUNG_HD204UI_S2H7J9JB712549. Etter det trenger du fortsatt å vite sektorstørrelsen på harddiskene dine. For moderne harddisker er det 4 kilobyte, men noen lyver og viser 512 byte når du spør, fordi Windows XP har problemer med 4 kilobyte.

04 Opprett ZFS-basseng

Med all denne informasjonen kan vi nå lage et "basseng" på de to diskene:

sudo zpool create -o ashift = 12 tank speil ata-SAMSUNG_HD204UI_S2H7J9JB712549 ata-SAMSUNG_HD204UI_S2H7J9JB712552

Teksten ashift = 12 peker på sektorstørrelsen på 4 kilobyte (2 ^ 12); tank er navnet på bassenget. Det er tradisjon å velge navn på tegn fra filmen The Matrix, for eksempel tank, dozer eller aske, men du kan også bare kalle dem datoer. Bare ikke gjør det for lenge for å holde det praktisk når du skriver.

Deretter viser du med zpool-listen alle bassengene dine, med zpool-status statusen til alle bassengene dine og med zfs viser alle ZFS-filsystemene dine. Som standard oppretter zpool create et filsystem med samme navn som bassenget og monterer det under rotpartisjonen. Ditt basseng som heter tank er derfor montert nedenfor /tank.

Det er vanlig å opprette flere ZFS-filsystemer under bassenget, fordi du kan angi per filsystem om du vil bruke komprimering, om filer er kjørbare og så videre. Ta en titt på ZFS-konfigurasjonstipsene på Ansible NAS-nettstedet.

05 Installere Ansible NAS

Nå som det grunnleggende er klart, kan vi installere Ansible NAS. Først må vi aktivere et annet lager med kommandoen:

sudo add-apt-repository universet

Deretter installerer vi Ansible:

sudo apt installere ansible

Ansible er automatiseringsprogramvare som lar deg automatisk konfigurere Linux-systemene dine. Ansible NAS er egentlig bare en forhåndsdefinert konfigurasjon for Ansible (en "playbook") for å gjøre Ubuntu-serveren din til en NAS. Så å installere Ansible NAS går ut på å bare laste ned den konfigurasjonen fra GitHub:

git clone //github.com/davestephens/ansible-nas.git

Deretter går du til katalogen som inneholder Ansible NAS:

cd ansible-nas

06 Konfigurere Ansible NAS

Ansible NAS leveres med en standardkonfigurasjon group_vars / all.yml.dist. Kopier den først, slik at du kan justere din egen konfigurasjon:

cp group_vars / all.yml.dist group_vars / all.yml

Åpne nå den siste filen med redaktøren nano:

nano group_vars / all.yml

Den komplette konfigurasjonen av Ansible NAS gjøres i denne ene filen. Regler som med # er kommentarlinjer. De er over hele filen for forklaring. For eksempel kan du aktivere hvilken som helst definert tjeneste av falsk til ekte å endre.

Men først sender du inn Generell angi noen viktige ting som vertsnavnet til Ubuntu-serveren din, tidssonen din og brukernavnet du vil kjøre Ansible NAS under. Angi også banen Docker lagrer containerdataene under.

under Samba angi fildelingskonfigurasjonen. Her angir du banen der alle filene du vil dele, skal plasseres. Under det definerer Ansible-NAS alle slags undermapper for nedlastinger, filmer, serier, torrenter, musikk, podcaster og så videre. For hver av disse aksjene kan du stille inn om de er offentlig tilgjengelige og lignende.

Lagre endringene dine med Ctrl + O og lukk deretter nano med Ctrl + X.

07 Bruk konfigurasjon

Kopier deretter en fil til:

cp inventar. distribusjon

Og fjern hasjen for den andre linjen der, slik at den ser slik ut:

localhost ansible_connection = lokal

Lagre filen og installer deretter noen avhengigheter:

ansible-galaxy installere -r krav.yml

Til slutt, bruk Ansible NAS-konfigurasjonen med:

ansible-playbook -i inventar nas.yml -b -K

Oppgrader Ansible NAS

Ansible NAS vedlikeholdes aktivt og nye tjenester legges til hele tiden. Siden Ansible NAS ikke er et program, men en samling av konfigurasjonsfiler, er oppgraderingen imidlertid noe atypisk. For å gjøre dette går du inn i Ansible NAS-katalogen og henter deretter de siste endringene fra GitHub med git pull-kommandoen. Deretter sender du alle nye konfigurasjonsseksjoner i filen group_vars / all.yml.dist å kopiere til din egen versjon group_vars / all.yml. En praktisk måte å se disse endringene på er å se i utgangen av git pull etter en linje som 84e0c96..7860ab5 master -> opprinnelse / master. Kjør deretter følgende kommando for å vise forskjellene:

git diff 84e0c96: group_vars / all.yml.dist 7860ab5: group_vars / all.yml.dist

I grønt ser du de nye linjene, i røde slettede linjer. Implementer deretter disse endringene group_vars / all.yml. Bruk deretter konfigurasjonen på nytt med:

ansible-playbook -i inventar nas.yml -b -K

08 Dashboard for alle tjenestene dine

Fra nå av vil du dele de angitte mappene i nettverket ditt. I Windows kan du enkelt få tilgang til den i Windows Utforsker. Men hva mer kan du gjøre med Ansible NAS? Det første du bør gjøre er å legge til alle ekstra tjenester du har satt opp i Ansible NAS-konfigurasjonsfilen til Heimdall-dashbordet.

Heimdalls konsept kan høres litt enkelt og ubrukelig ut: det er en enkel webserver med en webside du kan legge til ikoner for webapplikasjoner. Ikke mer. Men hvis du, som i tilfelle Ansible NAS, installerer alle slags tjenester, hver med sitt eget webgrensesnitt, mister du raskt oversikten hvis du ikke har ett sted å nå dem alle fra. Heimdall utmerker seg i dette, som kjører på port 10080 av din nas som standard.

09 Legge til skift på dashbordet

Åpne dashbordet i nettleseren din og klikk på ikonet med de tre horisontale linjene nederst til høyre. klikk på Legge til og skriv deretter inn navn og url for tjenesten du vil legge til. Hvis tjenesten støttes av Heimdall, vises tjenestenavnet også under Søknadstype, hvor du også kan angi typen selv hvis du for eksempel foretrekker å kalle OPNsense-ruteren din "router" i dashbordet ditt. Du kan også angi et ikon eller en bakgrunnsfarge. Til slutt, sjekk eller øverst Festet er aktivert og klikk Lagre for å legge til tjenesten på dashbordet.

Gjør dette nå for alle Ansible NAS-tjenester, hvis portnumre finnes i Ansible NAS-dokumentasjonen. Du kan også legge til andre nettsteder, for eksempel webmailen din eller andre nettsteder du ofte bruker.

10 containere

Ansible NAS installerer alle tjenester (unntatt filbehandleren) i Docker-containere. En container er en slags virtuell maskin, men den bruker samme kjerne som det underliggende operativsystemet. Ved å isolere hver tjeneste i en separat container, garanterer du at de ikke kommer i veien for hverandre og fører til problemer med inkompatibilitet.

Du trenger ikke å bekymre deg for det for normal bruk, men hvis du vil utføre noen mer avanserte konfigurasjonsoppgaver eller til og med installere tilleggstjenester som Ansible NAS ikke støtter som standard, vil det være nyttig at du kan jobbe med Docker . Se ruten "Administrer containere med Portainer".

11 Installere tilleggstjenester

Ansible NAS inneholder flere tilleggstjenester du kan installere. For mange er det tilstrekkelig å arkivere group_vars / all.yml en variabel med navnet på tjenesten og deretter _aktivertekte for å aktivere tjenesten. Ytterligere konfigurasjonsalternativer som brukernavn, kataloger osv. For den spesifikke tjenesten finner du nederst i konfigurasjonsfilen. Sørg for å sjekke ut Ansible NAS online-dokumentasjon, da den inneholder noen ekstra forklaringer på noen av tjenestene.

Hver gang du redigerer konfigurasjonsfilen, må du bruke Ansible-konfigurasjonen:

ansible-playbook -i inventar nas.yml -b -K

Det vil installere den nødvendige Docker-beholderen og konfigurere konfigurasjonen.

12 Interessante tjenester i nærheten

Det ville gå for langt å gå inn på alle tjenestene til Ansible NAS, men vi nevner noen interessante tjenester. Vakttårnet er interessant fordi det laster ned den nyeste versjonen fra alle containerne dine hver dag og starter den på nytt med den nye versjonen når det er en oppdatering. Cloudflare Dynamic DNS Updater oppdaterer din dynamiske DNS på Cloudflare. Traefik kan tilby ekstern tilgang til alle tjenestene dine, inkludert et TLS-sertifikat for hver tjeneste gjennom Let’s Encrypt.

Du har også alle slags tjenester for å laste ned multimedia, for eksempel Transmission for BitTorrent og NZBGet for Usenet. Også en Time Machine-tjeneste for sikkerhetskopiering av Mac-ene, en DLNA-server, Plex Media Server og til og med Nextcloud for å dele filene dine med andre. Kort sagt, med Ansible NAS kan du gjøre mye mer av NAS-en din.

Administrere containere med Portainer

Et brukervennlig nettgrensesnitt for Docker er Portainer. Det er den eneste andre tjenesten som aktiverer Ansible NAS som standard, foruten Heimdall, nettopp fordi begge tjenestene er så praktiske. Du finner Portainer på port 9000. Logg deg på nettleseren din med brukernavnet du opprettet for Ubuntu-serveren og tilhørende passord. Klikk deretter på Beholdere for å se containerne dine. Du kan stoppe, starte på nytt, pause, slette hver container og så videre. Men vær forsiktig hvis du sletter en beholder: neste gang du bruker Ansible NAS-konfigurasjonen, blir beholderen gjenskapt hvis du ikke har deaktivert dem i filen group_vars / all.yml. Med et klikk på Legg til beholder Du kan også installere tilleggstjenester som Ansible NAS ikke tilbyr. For å gjøre dette, skriv inn på Bilde skriv inn navnet på et bilde som ligger på Docker Hub.

$config[zx-auto] not found$config[zx-overlay] not found