In dieser Anleitung zeigen wir euch, wie ihr ein NAS auf Ubuntu Linux Server aufbaut. Dabei legen wir Wert auf ein schnelles, kleines System welches trotzdem alle wichtigen NAS-Funktionen mitbringt.
Bei uns gibt es bereits zahlreiche Anleitungen zur Realisierung eines NAS auf Linux Basis. Diese basieren aber zu einem großen Teil auf OpenMediaVault, einer Weboberfläche für Debian Linux (siehe Installation und Konfiguration von OpenMediaVault).
Die aktuellste Version von OpenMediaVault (3.x) basiert dabei auf Debian 8.6 und befindet sich seit Anfang 2016 in der Beta Phase. Viele Besucher fragen immer wieder nach einem Termin für die Final-Version von OpenMediaVault 3, da die aktuelle OpenMediaVault 2.x aktuelle Hardware nicht mehr einwandfrei unterstützt. Ein endgültiges Datum lässt sich aber auch nach einem Jahr Beta Phase nicht benennen.
Zusätzlich kommt als Problem hinzu, dass selbst das nicht mehr ganz aktuelle Debian 8.6 Grundsystem Probleme mit neuen Prozessoren hat, z.B. arbeitet Debian 8.6 nicht mit den neuen Intel Apollo Lake Systemen wie z.B. dem ASRock J4205-ITX zusammen. Das ist sehr schade, denn diese Systeme eigenen sich hervorragend für den Einsatz in einem NAS da sie eine deutliche Verbesserung in Leistung und Energieaufnahme verglichen mit dem Vorgänger auf Braswell Basis bieten.
Daher haben wir uns entschlossen eine Anleitung für ein NAS auf Ubuntu Linux Server 16.10 zu erstellen, denn dieses System beinhaltet einen sehr aktuellen Kernel (4.8) und unterstützt alle uns bekannten Systeme, einschließlich den neuen Intel Apollo Lake Prozessoren.
Als Weboberfläche verwenden wir Webmin. Webmin ist nicht auf NAS-Anwendungen spezialisiert, bietet aber alle Grundfunktionen (RAID, SMB-Freigaben, Benachrichtigungsfunktion bei Fehlern) die wir uns für ein NAS wünschen. Da es sich bei Ubuntu Linux Server um ein vollwertiges und mit Debian 8.6 vergleichbares Linux handelt, sind eigentlich alle OpenMediaVault Funktionen auch hier realisierbar, allerdings ist teilweise mehr Aufwand erforderlich um Module / Programme hinzuzufügen und zu konfigurieren.
Ubuntu Linux Server 16.10 kommt ohne Desktop-Oberfläche daher und wird komplett über die Kommandozeile bedient. Dadurch ist es sehr sparsam und schnell. Natürlich lässt sich sogar eine Desktopumgebung nachinstallieren, wir möchten aber zeigen, dass dies vielleicht gar nicht notwendig ist, denn durch die Webmin Oberfläche lässt sich das System zu einem großen Teil via Browser verwalten. Wir haben diese Anleitung sehr detailliert geschrieben und denken, dass diese auch für Linux-Einsteiger anwendbar sein sollte.
Downloads
Zuerst benötigen wir die neusten Versionen der hier vorgestellten Software, die für den privaten Nutzer kostenlos verfügbar ist. Neben dem Ubuntu Linux Server 16.10 Image und Webmin benötigen wir noch einen SSH-Client um Konsolenbefehle von einem anderen Computer an das NAS zu senden (so benötigen wir an dem NAS System später keinen eigenen Monitor), sowie den Win32DiskImager um das Image auf einen USB-Stick zu entpacken. Wer das Image lieber auf CD/DVD brennt, der benötigt den Win32DiskImager nicht.
- Ubuntu Server 16.10 64bit
- Webmin 1.820 für Ubuntu
- Bitvise SSH Client für Windows
- Win32DiskImager
Wer das Image auf einen USB-Stick kopieren möchte, der muss diesen zunächst im FAT32-Format formatieren. Sollte der Stick bereits von einer anderen Linux-Installation partitioniert worden sein, empfiehlt es sich den Stick komplett zu löschen. Dies funktioniert z.B. mit der Windows eigenen Software Diskpart (siehe Anleitung: USB-Stick bootfähig machen).
Anschließend den Win32DiskImager starten, die heruntergeladene Image-Datei von Ubuntu Server auswählen und auf den Write Button klicken. Danach kann man den Computer mit eingesteckten USB-Stick booten und die Installation von Linux startet.
Installation
Während der Erstinstallation bietet es sich an nur die Systemfestplatte anzuschließen, die Datenfestplatten für den RAID können wir dann später anschließen. Das erleichtert die Auswahl der richtigen Festplatte während der Installation, vor allem für Einsteiger.
In dieser Anleitung verwenden wir als Benutzernamen stefan und installieren das System auf die erste Festplatte /sda. Da wir die komplette erste Festplatte für das System benutzen wollen, bietet sich hier eine kleine SSD mit 32-128GB Kapazität an. Nach der Installation benötigt Ubuntu Linux Server ca. 1,5 GB Festplattenspeicher (plus Speicher für die Auslagerungspartition (Swap) des Arbeitsspeichers). Zusammen reichen, auch mit vielen installierten Programmen, 32GB Festplattenspeicher locker aus.
[ol“>[gallery_1″>
[gallery_2″>
Am Ende der Installation startet das System neu. Der USB-Stick mit dem Installationsimage kann nun entfernt werden. Die Konsole verlangt nun nach einem Benutzernamen und unserem Passwort. Wir wollen uns nun aber nicht am System selbst anmelden, sondern von einem anderen Computer via SSH.
Dazu installiert und startet ihr den Bitvise SSH Client und logt euch mit eurem Benutzernamen (bei mir stefan) ein, zusätzlich wird euer Passwort abgefragt. Den Verbindungsschlüssel akzeptiert und sichert ihr. Bitvise zeigt euch nach erfolgreichem Login zwei Fenster an: ein schwarzes Konsolenfenster für Kommandos und einen SFTP-Dateimanager.
Ihr startet eine Session immer mit Standard-Benutzerrechten. Um Administratorrechte (root Rechte) zu erlangen, muss entweder vor jedem Befehl der Zusatz sudo gesetzt werden oder ihr wechselt für die Dauer euer Session in die Administratorebene (sudo -s).
Kommandozeilenbefehle per SSH
Im Konsolenfenster gebt ihr folgende Befehle ein:
[code“>sudo -s[/code“> (um root-Rechte zu erlangen)[code“>apt-get update[/code“> (Aktualisierung der Paketlisten)
[code“>apt-get upgrade[/code“> (Aktualisierung aller Pakete) [code“>apt-get install samba-common samba[/code“> (Ermöglicht später die Freigabe von Daten auf dem NAS via dem SMB/CIFS Protokoll, z.B. für einen Windows, Linux oder Mac Computer oder einem Mediaplayer).
Wer einen kleinen Taskmanager mit einfacher Oberfläche installieren möchte, kann dies mit folgendem Befehl tun:
[code“>apt-get install htop[/code“>
Gestartet wird der Taskmanager dann einfach mit dem Befehl [code“>htop[/code“>. Beendet wird der Taskmanager mit F10.
Webmin
Ihr wechselt nun zum SFTP-Dateimanager Fenster. Die heruntergeladene Datei „webmin_1.820_all.deb“ per Bitvise SFTP in das home-Verzeichnis kopieren (Drag & Drop). Danach wechselt ihr wieder zum Konsolenfenster. Beim nachfolgendem Befehl müsst ihr das Verzeichnis (/home/stefan/) anpassen.
[code“>dpkg –install –force-depends /home/stefan/webmin_1.820_all.deb[/code“>Beim ersten Befehl wird eine Information ausgegeben, dass Abhängigkeiten installiert werden müssen. Dies tun wir mit dem folgenden Befehl:
[code“>apt-get install -f[/code“>E-Mail Benachrichtigungen konfigurieren
Damit uns das NAS bei einem Fehler per E-Mail informieren kann, muss zuerst ein Mail SMTP-Client installiert werden.
[code“>apt-get install msmtp msmtp-mta[/code“>Anschließend öffnen wir die Konfigurationsdatei:
[code“>nano /etc/msmtprc[/code“> [code“>account default
host smtp.meinedomain.de
port 25
from absendeadresse@meinedomain.de
auth login
user absendeadresse@meinedomain.de
password 12345z
syslog LOG_MAIL
[/code“>
Ihr müsst die Daten an euren Mailaccount anpassen. Googelt einfach nach msmtp zusammen mit dem Namen eures Mailproviders wenn ihr euch unsicher seid wie eure Daten lauten.
Strg+O um die Datei zu speichern, gefolgt von Strg+X um den Editor zu beenden. Ob der Mailversand funktioniert, lässt sich mit dem folgenden Befehl testen (ihr müsst hier eure E-Mail Adresse eingeben an die die Nachricht versendet werden soll):
[code“>echo „Das ist eine Testnachricht von meinem Linux Server“ | msmtp -d empfaenger@meinedomain.de[/code“>Damit ist die Ersteinrichtung im Konsolenfenster abgeschlossen und wir können nun zur Webmin Weboberfläche wechseln. Öffnet dazu einen aktuellen Browser und gebt als Adresse https://IP-oder-Hostname:10000 an. Die 10000 steht für den Port auf dem Webmin lauscht. Es erscheint ein Login-Fenster in dem ihr wieder euren Benutzernamen und euer Passwort eingebt.
RAID Konfiguration
Habt ihr bereits eure Datenfestplatten angeschlossen? Wenn ihr einen RAID erstellen möchtet, könnt ihr dies nun tun und den RAID erstellen (Hardware -> Linux RAID). Wartet dann ab bis der Sync abgeschlossen ist. Dies kann je nach Anzahl und Kapazität der Festplatten mehrere Stunden dauern.
Sobald der RAID erstellt wurde (Status: clean), auf den RAID-Eintrag klicken und ein Dateisystem (ext4) auf dem RAID erstellen. Anschließend den RAID in einen beliebigen Ordner (z.B. /raid) mounten. Unter „Filesystem status“ des RAID-Eintrages sollte nun Mounted on /raid stehen.
Anschließend sollte noch eine E-Mail Adresse im Feld Send notifications to gesetzt werden. Testen können wir den E-Mail Versand mit [code“>mdadm –monitor –scan –test -1[/code“> in der SSH-Kommandozeile.
[gallery_3″>In dieser Anleitung gehen wir davon aus, das wir einen RAID benutzen. Möchtet ihr lieber eine einzelne Festplatte für die Daten einbauen, könnt ihr dies natürlich auch tun, die folgenden Schritte sind identisch und müssen nur leicht angepasst werden.
Benutzer für den Zugriff auf das RAID erstellen
Unter System -> Users and Groups erstellen wir einen neuen Benutzer mit dem Namen Daten. Diesen Benutzer geben wir nun Zugriff auf den Mount /raid (Others -> File Manager), indem wir den Mount anhaken und oben rechts auf das Benutzerbild klicken (chown selected).
Samba(SMB)/CIFS Freigabe erstellen
Für die Freigabe müssen wir zunächst den Benutzer Daten für Samba verfügbar machen. Dazu benutzen wir die Convert Users Funktion unter Servers -> Samba Windows File Sharing. Hier wählen wir den Benutzer Daten aus und konvertieren diesen. Anschließend bearbeiten wir den Samba Benutzer Daten und setzen das gleiche Passwort welches wir auch für den Unix Benutzer „Daten“ gesetzt haben.
[gallery_4″>Anschließend setzen wir unter dem Punkt Networking noch die Sicherheit auf Share level. Nun sind wir bereit und können die eigentliche Freigabe erstellen. Dazu klicken wir Oben auf den Link Create new file share. In unserem Beispiel heißt die Freigabe RAID.
Für die neue Freigabe müssen wir jetzt noch die Sicherheit bearbeiten und neben Writeable yes unseren Benutzer Daten unter Valid Users eintragen.
[gallery_5″>Damit ist die Freigabe erstellt. Sicherheitshalber könnt ihr den Samba-Dienst noch einmal neustarten. Danach lässt sich die Freigabe auf anderen Clients nutzen.
Freigabe auf dem Client einbinden (Windows)
Am Beispiel eines Windows 7 Clients möchten wir kurz zeigen, wie ihr die eben erstellte Freigabe in euer System einbinden könnt.
[gallery_6″>
RAID vergrößern
Möchtet ihr später euren RAID-Verbund durch Festplatten mit größerer Kapazität vergrößern? Das funktioniert wie folgt:
[ol“>
RAID 5/6 um eine weitere Festplatte erweitern
Habt ihr euch für einen RAID 5 oder RAID 6 entschieden, könnt ihr jederzeit neue Festplatten zu dem Verbund hinzufügen um die Gesamtkapazität zu erhöhen:
[ol“>
Fazit
Eine manuelle Installation von einem Linux Server Betriebssystem ist gar nicht so schwer. Auch für Einsteiger wird sich schnell ein Erfolgserlebnis einstellen. Wir haben hier natürlich nur die Grundfunktionen eines NAS beschrieben, OpenMediaVault kann viel mehr. Aber gerade im Hinblick auf die lange Beta-Phase von OpenMediaVault 3 und die fehlende Unterstützung der neuen Apollo Lake Systeme ist Ubuntu Server 16.10 aktuell eine gute Alternative.
Webmin ist einfach zu bedienen und besitzt viele Module um z.B. später einen Webserver oder eine Datenbank zu konfigurieren. Als Alternative bietet sich auch Rockstor auf CentOS Basis an, welches sich immer mehr zu einer guten und stabilen Alternative bestehender Lösungen entwickelt (siehe Vorstellung Rockstor).
Vielen Dank, leider ein paar Tage zu spät gesehen. Hatte mich da selbst durchgekämpft. Konnte trotzdem noch ein paar tipps abgreifen 🙂
Hey, super. Das kommt mir gerade recht. Vor lauter Frust und Warten auf OMV 3.0 habe ich eh schon Ubuntu Server auf meinen HP ProLiant geschmissen. Weiter bin ich noch nicht. Aber nun kanns ja weitergehen. 🙂
Hallo, super Anleitung.
Für mich als absoluter Beginner nicht einfach aber gut.
Habe mir die Tage ein NAS mit dem ASRock J4205-ITX und zwei WD RED 2TB aufgebaut.
Die Wartezeit auf Openmediavault 3 überbrücke ich mit dem Ubuntu Server.
Nach zwei Tagen Konfiguration, Fehlersuche und erneuter Konfiguration lief alles Super.
Bei mir möchte der Server nach einem Neustart den Raidverbund md0 nicht mehr einbinden und startet in den emergency mode.
„timed out waiting for dev-md0.device“
Hat jemand das gleiche Problem?
Erst wenn folgende Zeile wieder in /etc/fstab auskommentiert wird, startet das System wieder. Nur eben ohne das Raid:
#/dev/md0 /daten ext4 user,exec 0 0
Hatte die Platten schon einmal in einen OMV System getestet und musste im Ubuntu Server das Raid erst neu aufbauen. War im Test NAS OMV = Raid1 Mirrow. Unter Ubuntu wurde es anders erkannt. Nach Löschen der Superblocks und auskommentieren der Zeile in /etc/fstab konnte das RAID neu angelegt und die Partition ext4 erzeugt werden.
Soweit ganz gut gelungen. Aber wenn es bei Debian nur am Kernel liegt, dann einfach jessie-backports in die sources.list aufnehmen und per „apt -t jessie-backports install linux-image-amd64“ den neuen Kernel installieren. Ist aktuel gerade 4.8. irgendwas….
MfG Danny
@Danny: Stimmt natürlich, das Problem ist aber, dass schon die Installation von Debian ca. 1 Stunde dauert.
Hallo!
Beim Versuch Eurer Anleitung zu folgen, bleibe ich bei dem Schritt, bei dem man sich in Webmin einloggen soll, hängen. Bis dorthin hat alles super geklappt. Webmin erkennt meinen Benutzernamen und Passwort einfach nicht an. Laut Anleitung und Recherche sollten das ganz normal die Benutzerdaten sein, mit denen man sich am System anmeldet und sudo macht.
Könnt ihr mir vielleicht weiterhelfen, bitte?
Nano
@Nano: Du musst hier den Benutzer auswählen den Du während der Linux Installation angelegt hast. Es handelt sich hier nicht um den root-Account.
@Stefan:
Hey, Danke für die rasche Antwort!
Bei der Installation habe ich einen Account mit einem Passwort angelegt. Mit dem versuche ich mich auch einzuloggen. Aber: Login failed. Please try again.
Gruß;
Nano
Bei der msmtprc config bin ich stecken geblieben. Gmx fordert tls. Wie bekomme ich das konfiguriert? Das googeln in diese Richtung fand ich jetzt die letzten Stunden sehr mühselig. Hatte einfach probiert ähnlich wie in https://azapps.de/blog/2012/08/07/msmtp/
defaults
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default
host imap.gmx.net
port 587
….
auth login
….
habe versuchshalber auch das Zertifikat von gmx heruntergeladen und nach /etc/ssl/certs kopiert und entsprechend in der msmtprc config darauf verwiesen. Anstatt tls_trust_file auch tls_cert_file probiert und komme irgendwie nicht weiter…
…
msmtp: kann keine Verbindung zu imap.gmx.net, Port 587 herstellen: Verbindungsaufbau abgelehnt
Hallo nochmal!
Mein letzter Kommentar wurde noch nicht freigegeben, aber ich wollte nur Bescheid sagen, dass ich es nun geschafft habe! Dank Euch 🙂
Mein Fallstrick war das apt-get install -f nach der Webmin-Installation. Was ich aber machen musste, war ein nachfolgendes Reboot. War das bei Euch auch so? Wenn ja, bitte in die Anleitung aufnehmen.
Was noch ein Stolperstein war, war das Partitionieren unter Webmin, wenn man keinen Raid, sondern nur eine normale Festplatte einhängt. Hier gibt es einen Bug (?) in Webmin. Das streift Eure Anleitung nur marginal, wäre aber vielleicht einen Nebensatz wert. Hier die Lösung in einem Artikel, der auch das Problem besser erklärt als ich es kann:
https://techjourney.net/unrecognised-disk-label-when-creating-partition/
GreeZ;
Nano
Hi Stefan,
zu erstmal super Anleitung. Aber ich habe ein kleines Problem und ich komm einfach nicht darauf woran es liegt. Ich habe deine Anleitung fast eins zu eins nachgebaut und ich sehe den Server auch im Netzwerk und anmelden klappt auch aber ich habe keine Schreibzugriff obwohl es laut den Einstellungen eigentlich funktionieren sollte.
Ich denke ich habe einen Fehler in dem Punkt „Benutzer für den Zugriff auf das RAID erstellen“ gemacht das war der einzige Punkt wo ich ein bisschen ins straucheln kam. 🙂
Wäre super wenn mir da jemand helfen könnte, bitte 😉
PowerPaulchen
Super Anleitung. Es wäre aus meiner Sicht ein perfekter Server, wenn du die Anleitung noch um einen Jdownloader2 headless und Plex-Server erweitern könntest.
LG
Raymond
@Nano: Danke für dein Feedback und den Link, werde mir das die Tage durchlesen.
@PowerPaulchen: Hast Du im Samba (siehe Anleitung) den Schreibzugriff aktiviert ?
@Markus:
probier es mal mit den folgenden Einstellungen:
[code]account default
tls on
tls_nocertcheck
host mail.gmx.com
port 587
protocol smtp
auth on
from deinemail@gmx.com
user deinemail@gmx.com
password DEINPW[/code]
Hallo Stefan,
wirklich gute Anleitung, wenn denn die Ubuntu 16.10 Server Installation mit dem ASRock J3455 ITX funktionieren würde.
Er bricht immer während der Installation ab [Log entfernt]
Hast du eine Idee was hier schief läuft?
Schöne Grüße
Detlev
@Gunduran: Hi, nutze gerne unser Forum aber ein Log in den Kommentaren ist nicht sinnvoll, da darunter die Übersicht extrem leidet. Danke.
Perfekte Hilfe bei der msmtprc configuration… Danke für Deine ausführliche Anleitung oben und Deine Hilfe in den Kommentaren…
account default
tls on
tls_nocertcheck
host mail.gmx.net
port 587
protocol smtp
auth on
from meinemail@gmx.de
user meinemail@gmx.de
password MEINPW
Auch ich finde diesen Beitrag sehr gut. Habe inspiriert durch diese Seite ein NAS mit folgenden Komponenten erstellt:
– Board: Asrock J4205-ITX
– Ram: 2x 8GB Kingston ValueRAM DDR3L-1600 SO-DIMM
– Systemplatte: Samsung EVO 830 SSD 120GB
– Storage: 2x WD Red 3 TB
– Gehäuse: Fractal Design Node 304
– Netzteil: Diese PicoPSU 90er Lösung
Und will schon einmal meine erste Erfahrung teilen 🙂
Nun bin ich zwar technisch nicht komplett unbegabt (doppelte Verneinung yay …), allerdings schien ich an der Installation zu scheiten. Ich habe alles Zusammengeschraubt (WD Red erst einmal nicht angeschlossen). Das System startet und ich komme ins UEFI. Festplatte wird erkannt. USB Stick zum Installieren wird erkannt. Beim booten vom USB Stick blieb der Screen schwarz. Es ging erst als ich die CMS
Funktion eingeschaltet habe. Im UEFI der vorletzte Reiter ganz unten. Am besten alles auf only UEFI einstellen.
Ich installiere gerade parallel Ubuntu Server 16.10. Bei 16.04 soll man wohl den Kernel manuell updaten, da das system sonst nich stabil laufen soll (habe ich allerdings NOCH NICHT getestet).
Ich habe den Hinweis mit dem CMS noch nicht gelesen (oder überlesen) und hoffe ich konnte so einigen hier helfen.
@vanillebaer: Danke für dein Feedback. Das mit dem CSM steht in unserem Test zum ASRock J4205-ITX: „Möchte man z.B. Linux installieren empfiehlt es sich im Bios das CSM (Compatibility Support Module) zu aktivieren. Ansonsten bootet das Mainboard ausschließlich im UEFI Modus.“
😀 habe ich gerade auch noch einmal gelesen. Das hatte ich doch beim ersten Mal glatt überlesen. Hätte mir ein wenig Zeit gespart, wenn ich besser aufgepasst hätte. Kann man seine Kommentare als registrierter Nutzer eigentlich editieren?
@vanillebaer: Nein das ist aktuell nicht möglich. Für größere Sachen ist daher immer das Forum besser.
Mit Ubuntu 17.04 ist es mittlerweile möglich auch aus UEFI zu booten. Auch ein passender USB Stick zur Installation lässt sich erstellen. Hat den vorteil das das System auch mit „default“ UEFI werten bootet. Eine leere Biosbatterie oder ein Biosupdate verlieren dadurch an schrecken.
Webmin 1.84 sieht nun auch auf dem Tablett oder Handy chic aus.
Mit Tools wie TLP oder powertop komme ich auf Verbrauchswerte wie unter OMV. Läuft super.
Hi,
hat es einen speziellen Grund, warum die 16.10 und nicht die 16.04 genommen wurde für diesen Artikel?
Grüße
Manuel
Warum installiert ihr lvm? Ist das für das raid notwendig? Oder benötige ich das nur falls ich irgendwann meine system Platten erweitern möchte?
Hallihallo
Einer der DAU (72) brütet hier gerade nach soweit erfolgreicher Installation von Ubuntu Server 18.04 (J4205, 16 Gb RAM. Raid10) vor/über dem Problem die Autoshutdowngeschichte von OMV zu integrieren.
Jaja ich weiß, dass geht auch anders. Ich habe noch nie in meinem Leben ein Skript oder eine Datei geschrieben und glaube nicht, das in meinen letzten Jahren wollen sollen zu müssen.
Es interessiert mich trotzdem, weil es ja ja bei OMV schon mal geht, weil die Linuxbasis doch dieselbe sein dürfte. Ob ich ich die anderen Fuktionen von OMV weiß ich noch nicht.
Kann sich bitte zu der Sache freundlicher Weise jemand äußern?
MfG DC
fällt eigentlich nur mir auf, das hier mit dem server was nicht OK ist ?????.
in keinem beitrag werden die links und verweise richtig dargestellt.
das habe ich jetzt schon mehrmals gepostet.
scheinbar werden die seiten nicht mehr gewartet, da ich bis jetzt noch keine antworten
bekam. weder hier in den kommentaren noch per mail.