Eigenbau NAS-Server

.. oder – wie die Überlegung, sich ein neues NAS zu kaufen – in einem Fiasko endet 😉

Inhalt

Prolog

Alles fing damit an, dass ich meine Fhem-Filelogs mit DBLog in eine SQL-Datenbank ausgelagert habe.

Im Rahmen dessen, habe ich mich mit Datenbanken und deren Möglichkeiten näher beschäftigt – schnell war ich begeistert. Da die Datenbank-Files auf dem Tinkerboard immer auf die SD-Karte geschrieben (was die Lebensdauer massiv verkürzt) werden, war die Nutzung des Selbigen für eine erweiterte Ausdehnung  keine Option. Alle Versuche das Datenverzeichnis an einen anderen Ort auszulagern wurden mit neuen Problemen quittiert, also muss der Datenbankserver wo anders hin.

Die Alternative, die für mich am nähsten lag, war mein NAS-Server. Bis dato ein Medion MD 86729 (von 2011) – zuverlässig in seiner Kernfunktion, darüber hinaus hat er wenig zu bieten. Firmware-Updates gibt es schon seit sehr langer Zeit nicht mehr – und Experimente mit der vorhandenen Firmware waren nicht zielführend.

Natürlich kann man auf dem Medion-NAS keinen Datenbankserver einrichten – und da, aufgrund des fortgeschrittenen Alters, auch schon dunkle Wolken über dem Teil aufgezogen waren, entschloss ich mich mal den Markt nach was Neuem zu sondieren.

Meine Anforderungen an einen neuen NAS-Server:

  • 3 Tb oder mehr Festplatten-Speicher
  • schnell
  • jung, besser neu
  • preiswert
  • hoher Funktionsumfang, am besten komplett frei konfigurierbar

Bei der Suche nach gescheiten NAS-Servern komm man an Namen wie Synology, Buffalo oder Qnap nicht vorbei – als alter Western-Digital Fan habe ich mir die Mycloud-Serie auch genau angesehen.

Und eines muss an dieser Stelle gesagt werden, denn jeder der oben genannten Hersteller baut sicherlich sehr hochwertige Geräte, die durch ihr Design, Bedienkomfort und Funktionsumfang überzeugen – aber der Preis, für ein simples 2-Bay NAS-System von Synology, ohne auch nur ein einziges Gigabyte an Speicherplatz, steht in absolut keinem Verhältnis.

Was elektronische Geräte betrifft bin ich sicher nicht geizig, aber hier fühle ich mich über den Tisch gezogen. Wer los zieht und sich das neuste Apple-Produkt holt, der hat meiner Meinung nach genau so die Kontrolle über sein leben verloren, wie jemand, der dem Resultat des Synology NAS-Berater folgt und (stand 5.2018) rund 500 € für ein leeres NAS-System bezahlt.

Ich, für meinen Teil, bin sowieso allergisch gegen Äpfel – daher kam ein neues NAS-System von der Stange dann auch nicht mehr in Frage.

Nach langem hin und her überlegen, Google, Foren und Blogs fasste ich dann den Entschluss meinen eigenen NAS-Server zu bauen. Mit dieser Alternative hat man die Möglichkeit das System bedarfsorientiert zu gestalten. In erster Linie auch wesentlich preiswerter als Geräte von der Stange.

zurück zum Inhalt

Planung

Was Hardware betrifft bin ich sicher nicht unerfahren, aber speziell was Stromverbrauch und Zuverlässigkeit betrifft ist es nicht schlecht auf Erfahrungswerte zurückgreifen zu können.

Bei den Planungen, die richtige Hardware auszuwählen habe ich mich an einigen Blog-Beiträgen und dem NAS-Berater von Synology orientiert (KlickKlick). An der Stelle kann man seine persönlichen Vorlieben natürlich immer mit einfließen lassen.

  • Mainboard/CPU: Formfaktor ITX, am liebsten in Kombination von Asus oder Asrock. Quad-Core CPU, Gigabit-Lan, SATA, USB 3, zuverlässig, qualitativ hochwertig, effizient
  • Gehäuse: Kein Designhighlight, sondern dezent, kompakt, mit ausreichend Platz für Festplatten und guter Kühlmöglichkeit
  • RAM: Mindestens 4, besser 8 GB auf das Board abgestimmt (bei Asus und Asrock gibt es für jedes Board eine Liste mit Empfehlungen)
  • System-Festplatte: Eine preiswerte 120 GB SSD
  • Speicher-Festplatten: Zwei, für den NAS-Betrieb, geeignete Festplatten mit je min. 3TB
  • Netzteil: Ein PSU mit externem Netzteil – denn gemäß den Blogs versprechen diese eine höhere Effizienz

Der NAS-Berater hat mir das DS718+ empfohlen. Dieses verfügt über einen 2,3 GHz Quad-Core Prozessor, 2 GB DDR3-Ram (bis zu 6 GB sind möglich), Gigabit-Lan, USB3. Ansonsten weist das Gerät, meiner Meinung nach, keine besonderen Highlights auf.

Mit diesen Daten im Kopf kann man sich an die Auswahl der Komponenten machen.

zurück zum Inhalt

Mainboard

Die wichtigste Komponente eines Rechners ist immer das Mainboard. Ein Mainboard ist immer die Zusammenfassung sehr vieler verschiedener Teile auf einer Platine. Herzstück des Mainboards ist der verwendete Chipsatz.

Es waren einmal viele Chipsätze

Früher, so Anfang – Mitte der 2000er, hatte man die Wahl aus vielen Chipsätzen unterschiedlicher Hersteller. Vakant (im Bereich PCs) waren vor allem die Chipsätze von Nvidia, VIA, SyS, Intel.

Während Nvidia, VIA oder SyS Chipsätze sowohl für AMD als auch für Intel CPUs geeignet waren, kochte Intel sein eigenes Süppchen. Verständlich – denn, abgesehen von der Konkurrenzsituation, wer sollte besser wissen wie CPU und Chipsatz am besten miteinander harmonieren?

AMD CPUs liefen auf Mainboards mit o.g. Chipsätzen nichts desto Trotz sehr gut und waren vor allen um längen preiswerter als die Intel-Pedanten. Ein Faktor, der bis heute gilt. Generell hat die Konkurrenz-Situation auf dem Chipsatzmarkt für gesunde Preise gesorgt.

Irgendwann kam auch AMD auf die Idee, eigene Chipsätze entwickeln zu wollen. Maßgeblich dazu beigetragen hat wohl die Übernahme von ATI im Jahr 2006 – ein Geniestreich.

Gegenwart

Mittlerweile (stand 2018) findet man so gut wie gar keine Mainboards mit Chipsätzen von Nvidia, Via oder SyS. Der Chipsatzmarkt liegt in den Händen der CPU Hersteller. Einerseits ist das sicherlich gut, denn AMD und Intel sind mit ihren Chipsätzen natürlich bemüht stets optimal mit den CPUs zusammen zu arbeiten. Andererseits hat sich das generelle Preisgefüge nach oben verschlimmbessert, zwar haben die Hersteller verschiedene Chipsätze, für den jeweiligen Bedarf, zu unterschiedlichen Preisen – von „Markt“ kann aber keine Rede mehr sein.

Mainboard-Hersteller

Die Chipsätze werden von verschiedenen Herstellern auf ein Mainboard verpflanzt und arbeiten dort mit weiteren Komponenten wie Netzwerkchips, Speichermediencontrollern usw. zusammen.

Die Anzahl und Qualität der Mainboardhersteller hat sich über die ganzen Jahre eigentlich kaum verändert. Eigentlich ist nur ein bekannter Hersteller gar nicht mehr am Markt, das ist Abit. Andere haben sich auf den Bereich OEM konzentriert (Elitegroup), die Übrigen (Asus, AsRock, MSI, Gigybyte) bauen fleißig weiter Boards für den mehr oder weniger ambitionierten Heimbedarf.

Das Zusammenspiel der unterschiedlichen Komponenten auf dem Mainboard spielt natürlich eine Rolle für die Gesamtperformance des späteren Rechners. Ein Hersteller, der diese Szenarien sehr zuverlässig unter den Hut bekommt ist Asus. Seit vielen Jahren baut Asus sehr hochwertige und ihrer Gesamtperformance überzeugende Mainboards. Des Weiteren bietet Asus auch einen hervorragenden Support für seine Produkte an. Bei Überlegungen zu einem neuen Rechner und mit dem Wissen über die Vakanz des Mainboards – ist Asus für mich immer die erste Wahl.

AsRock ist ein weiterer Hersteller, der seit Jahren sehr erfolgreich ist. AsRock wurde einst von Asus selbst gegründet, um bestimmte Märkte besser zu erschließen. Vor geraumer Zeit wurde das Unternehmen allerdings ausgegliedert und ist seither mehr oder weniger eigenständig. Wer vom Besten gelernt hat, kann eigentlich keine schlechten Boards herstellen. Als Kirsche auf der Sahnetorte sind AsRock Boards preislich immer sehr interessant.

In eines der beiden Regale werde ich, vor allem aus persönlicher Überzeugung, greifen. Selbstverständlich im ITX-Format, denn der Server soll kein riesiges Ungetüm werden.

zurück zum Inhalt

CPU

Seit vielen Jahren konkurrieren auf dem CPU-Markt für Heimcomputer die beiden Hersteller Intel und AMD. Während Intel seit vielen Jahren zurecht der Marktführer ist, kann AMD vor allem mit seinem Preis/Leistungsverhältnis überzeugen.

Beide Hersteller produzieren auch Grafikchips. Während die von Intel aber eher den Bürobedarf abdecken, kann AMD (inbesondere Dank dem Kauf von ATI s.o.) hier auf hohem Niveau und in direkter Konkurrenz zum zweiten großen Grafikchip-Hersteller Nvidia – agieren.

Man hat bei einem AMD-System also die Möglichkeit auf CPU, Chipsatz und Grafikchip aus einer Hand zurückzugreifen und kann sich sicher sein – das passt. Natürlich laufen AMD CPU und Chipsatz auch mit einer Nvidia-Chip basierenden Grafikkarte super!

Prinzipiell gilt bei Intel natürlich das Gleiche. Allerdings sind die Grafikchips, wie oben schon beschrieben, nichts für z.B. den Bereich Gaming. Weiterhin schafft es Intel seine CPUs weniger verschwenderisch mit der zugeführten Leistung umgehen zu lassen – und sind somit effizienter als die meisten AMD CPUs. Die Kombination aus einem hochwertigen Intel-Chipsatz und CPU verspricht immer ein schnelles System.

Welchen Hersteller man wählen soll – diese Entscheidung kann einem niemand abnehmen. Ich bin seit Jahren bei AMD und damit sehr zufrieden, ich habe aber auch ein Intel-System im Einsatz. Im Endeffekt ist es immer eine Sache der persönlichen Vorliebe und des Preises.

In einem Server kann man auf eine aufwändige Grafikkarte natürlich verzichten und da Intel nun bekanntermaßen immer die effizienteren CPU im Programm hat – wird in dieses Regal gegriffen.

CPUs mit hoher Effizienz zeichnen sich übrigens durch ihren TDP wert aus. Der Wert gibt die Verlustleistung der CPU an. Eine hohe Verlustleistung erzeugt viel Wärme und Wärme kann keine Berechnungen durchführen, sondern muss abgeführt werden.

Mainboard-Hersteller/Chipsatz-Hersteller und CPU-Hersteller stehen also fest. Da der NAS-Berater mit 2,6 GHz vorgeschlagen hat – wird der Takt der CPU auch in diesem Bereich liegen, zusätzlich wird auf einen kleinen TDP-Wert geachtet.

zurück zum Inhalt

RAM

Nicht weniger wichtig für die Performance eines Rechners ist die Wahl des richtigen Arbeitsspeicher. Der Markt ist so voll von verschiedenen Herstellern, dass eine vollständige Übersicht kaum möglich ist.

Stand 2018 arbeitet die aktuellste Generation von Computern mit DDR-RAM der 4. Generation. Das heißt nicht, dass DDR3-RAM dato völlig veraltet ist. Bei RAM ist es nämlich so: Kommt eine neue Generation auf den Markt, dann ist die vorherige so lange nicht vollkommen veraltet – bis die Übernächste erscheint. Ergo ist stand heute DDR2-RAM vollkommen veraltet und DDR3 noch so lange problemlos nutzbar, bis irgendwann DDR5 kommerziell erscheint.

Leider ist man an dieser Stelle in einer kleinen Zwickmühle: Wählt man ein DDR3 System – ist das aktuell natürlich wesentlich preisgünstiger als ein DDR4 System. Praktisch würde ein DDR3 System vermutlich vollkommen ausreichen – man will aber auch lange etwas davon haben. Je aktueller die Speichergeneration, desto aktueller auch die CPU-Generation und desto effizienter das System.

Ich werde ein DDR4 System bauen.

Um nun auch an die richtigen Speicherriegel zu kommen, muss man sich erstmal für ein Board entscheiden. Der Mainboardhersteller gibt in der Regel eine Liste mit getesteten Speicherriegeln von unterschiedlichen Herstellern mit an. Mainboardhersteller, die das nicht tun – sind meiner Meinung nach auch nicht zu empfehlen.

Warum? Im Grunde genommen kann man jeden X-beliebigen DDRX-Speicherriegel kaufen und in das DDRX-Board stecken, mitunter können dann aber Kompatibilitätsprobleme auftreten, Folge: der frisch gebaute Rechner läuft entweder gar nicht, instabil, oder langsamer. Viele Mainboards unterstützen außerdem einen Modus der sich Dual-Channel-Memory nennt (dabei werden zwei gleiche Speicherriegel benötigt), hier ist sowohl die Kompatibilität der Speicherriegel mit dem Mainboard, als auch untereinander äußerst entscheidend. Nicht selten werden Arbeitsspeicher-Riegel aus dem Grund in sog. „Kits“ verkauft.

Es geht nun primär darum das Mainboard auszuwählen, um dann zu wissen welche Speicherriegel der Mainboard-Hersteller für das Board empfiehlt.

zurück zum Inhalt

Gehäuse

Das Gehäuse für den NAS-Server muss einige Bedingungen erfüllen

  1. Für den ITX Formfaktor geeignet sein
  2. Ausreichend Festplatten aufnehmen können
  3. Muss eine ausreichende Kühlung für alle Komponenten gewährleistet werden können, inbesondere natürlich für die Festplatten
  4. Optisch nicht völlig daneben liegen – auch wenn der NAS-Server hinterher im Schrank steht
  5. Preiswert

Für Eigenbau-NAS-Server gibt es auf dem hiesigen Markt spezielle Gehäuse, die z.B. einen sehr leichten Austausch der Festplatten ermöglichen. Sowas benötige ich allerdings nicht, mir reicht ein völlig normales Gehäuse.

Generell  gibt es Gehäuse ebenfalls von zahlreichen Herstellern, in noch zahlloseren Designs und in Preislagen von „hinterhergeworfen“ bis „aiaiai“. Wer Wert auf Qualität legt, der sollte sich bei Chieftec umsehen. Die bekannten Türme aus der Dragon Serie z.B. sollten jedem schon einmal über den Weg gelaufen sein. Weitere namhafte Hersteller sind Coolermaster, Sharkoon, Thermaltake, Corsair usw. Für meinen kompakten NAS-Server benötige ich allerdings keinen ATX-Tower oder Design-Highlight, hier reicht etwas schlichtes – wobei die Qualität immer eine Rolle spielt.

In einem der verlinkten Blogs oben, wird das Coolermaster Elite 120 vorgestellt – für mich ideal. Mit Coolermaster habe ich durchweg sehr gute Erfahrungen gemacht. Beim Preisvergleich fiel mir dann auf, dass es mittlerweile ein Nachfolgemodell gibt: Elite 130.

Ein Blick in die Spezifikationen verrät, dass das Gehäuse Platz für drei 3,5″ Festplatten bietet – oder fünf 2,5″ Festplatten. Zusätzlich kann es ein ATX-Netzteil aufnehmen und wird mit zwei Lüftern ausgeliefert. Mit unter 50 € dazu wirklich sehr preiswert.

zurück zum Inhalt

System-Datenträger

Der Datenträger für das Betriebssystem wird eine kleine SSD mit max. 120 GB. Der Markt an SSD-Speichern ist leider ebenso überfüllt, wie der Markt an Arbeitsspeichern. Bisher habe ich nur SSD-Speicher von Kingston eingesetzt und bin damit gut und günstig gefahren. Generell baut aber jeder Hersteller, dessen Namen man schon einmal begegnet ist qualitativ gute Speicher, die man bedenkenlos verwenden kann.

Der Vorteil einer SSD im Gegensatz zu einer herkömmlichen Festplatte ist, das Sie sehr schnell und vollkommen Geräuschlos arbeiten. Eine SSD hat keine beweglichen Bauteile und unterliegt somit keinem mechanischen Verschleiß.

Ähnlich wie bei USB-Sticks oder SD-Karten haben SSD leider auch den Nachteil, dass sie nicht unbegrenzt oft beschrieben werden können und vermutlich irgendwann einfach mal ausfallen.

Meine Dienstälteste SSD ist jetzt gut 5 Jahre alt und beherbergt seit jeher mein Betriebssystem (welches auch das ein oder andere Mal neu installiert wurde). Bisher macht sich kein Verschleiß bemerkbar.

zurück zum Inhalt

Festplatten

Den Zeitraum, den ich oben bei den Chipsätzen mal erwähnt habe, ist auch für Hersteller von Festplatten einigermaßen relevant.

Seinerzeit gab es diverse Hersteller am Markt: Maxtor, Seagate, IBM, Western Digital, Quantum, Toshiba, Samsung.

IBM hat mit einer Festplattenserie dann leider ins Klo gegriffen. Reihenweise fielen Festplatten einfach aus – sehr ärgerlich für die Kunden, das K.O. für IBM. Die Festplattenabteilung von IBM hat dann Hitachi übernommen.  Maxtor kaufte irgendwann mal Quantum, Maxtor wurde mal von Seagate geschluckt, Samsung hat den Geschäftszweig aufgegeben (den hat Seagate gekauft). Western Digital hat die Festplattenabteilung von Hitachi übernommen. Was mit den ganzen anderen passiert ist, ist nicht immer ganz nachzuvollziehen.

Schlussendlich gibt es also nur noch zwei nennenswerte Hersteller von Festplatten auf dem Markt – Seagate und Western Digital.

Für welchen der beiden Hersteller man sich entscheidet ist, wie so oft, eine Frage der persönlichen Vorliebe/Erfahrung und/oder des Preises. Ich greife beim Neukauf ausschließlich zu Western Digital und habe damit immer sehr gute Erfahrungen gemacht. Von Seagate hört man leider immer mal wieder von Ausfällen bestimmter Festplattenserien. Ich hatte bei sämtlichen Seagate Festplatten bisher keine Schwierigkeiten.

Beide Hersteller haben ein etwa ähnliches Angebot. Western Digital vertreibt neben Festplatten noch eigene NAS-Systeme, SSD-Speicher (dazu hat WD den Hersteller SanDisk gekauft) und diverses Zubehör. Von Seagate sind mir keine weiteren Produkte bekannt. Beide haben speziell für NAS-Systeme ausgelegte Festplatten (Western Digital Red / Seagate IronWolf).

Ich werde, wie gehabt, bei Western Digital bleiben.

Festplatten, insbesondere in engen Gehäusen, halten übrigens deutlich länger, wenn eine ausreichende Belüftung stattfindet. Man sollte die Temperatur der Platte(n) daher immer mal im Auge haben und Notfalls einen Lüfter einsetzen.

Desweiteren mögen Festplatten keine großen Erschütterungen. Eine Festplatte, die aus einem Meter Höhe auf den Boden fällt – ist aller Wahrscheinlichkeit nach – defekt. Wenn man Festplatten über den Versandweg erhält ist es daher auch äußerst wichtig auf eine korrekte Verpackung zu achten – verweigert die Annahme bei der geringsten Beschädigung! Selbst wenn die Verpackung noch in Ordnung ist, sollte man die Festplatte schnellstmöglich einmal in Betrieb nehmen und auf Funktion prüfen. Klackert die Festplatte ungewöhnlich – Retoure! Ich habe über den Versandweg leider schon einige defekte Platten erhalten.

Nachtrag 25.08.2018: Die erste Festplatte für meinen NAS-Server kam auch defekt an 😉

zurück zum Inhalt

Netzteil

Da die Effizienz im Vordergrund steht, greift man an dieser Stelle besser nicht auf ein herkömmliches ATX-Netzteil zurück. Wie in beiden Blogs erwähnt, bietet ein PSU wesentlich mehr Effizienz – ein weiterer Vorteil ist, dass ein PSU keine aktive Kühlung benötigt und wenig Raum in Anspruch nimmt. Ein PSU wird mit einem externen Netzteil betrieben.

Beim Kauf sollte man darauf achten, dass das PSU ausreichend Anschlüsse für die Festplatten bereitstellt – in anderen Fällen muss man sich mit Adaptern behelfen. Das zusätzliche Netzteil sollte natürlich qualitativ hochwertig sein.

zurück zum Inhalt

Zusammenstellung & Fazit

Jetzt aber genug der unsäglichen Schwafelei – hier die Übersicht der sorgfältig ausgewählten Komponenten:

  • Mainboard: AsRock J5005-ITX
    • CPU: Intel Pentium Silver Quad-Core mit bis zu 2,8 GHz
    • Kühlung: Passiv
    • Gigabit-Lan
    • USB 3.1
  • Arbeitsspeicher: Corsair Value Select 8GB Kit (2x4GB – für Dual-Channel-Memory)
  • Gehäuse: Coolermaster Elite 130
  • System-Speicher: Kingston A400, 120 GB SSD
  • Festplatte(n): Western Digital Red 4TB
  • Stromversorgung: PicoPSU 90 + Salcar 12V6A Netzteil
  • Betriebssystem: Ubuntu 18.04 Server

Preis (jeweils aufgerundet – ohne Festplatten):

  • Mainboard/CPU: 109 €
  • Arbeitsspeicher: 93 €
  • Gehäuse: 38 €
  • System-Speicher: 31 €
  • PicoPSU: 25 €
  • Netzteil: 14 €

Für den reinen Server macht das also unter dem Strich: 312 €.

[Ich habe den Arbeitsspeicher und das Gehäuse über die Kleinanzeigen, gebraucht gekauft. Ohne Festplatten lag ich bei rund 280 €]

(Eine nahezu gleichwertige Konfiguration mit einem DDR3 System macht eine Ersparnis von ca. 50 € aus. Wie ich finde, am falsche Ende gespart.)

Für diesen Preis erhält man ein aktuelles System mit absolut ausreichender Leistung für den vorgesehenen Zweck. Gegenüber der Empfehlung des Synology NAS-Berater mit einer Ersparnis von etwa 200 €. Bei der genannten Summe sind also noch locker zwei 3TB Western-Digital Red Festplatten, oder fast zwei 4TB Seagate IronWolf drin. Dank Ubuntu Server ist es möglich das System von Grund auf frei zu konfigurieren und gezielt an seinen Bedarf anzupassen oder abzuändern. Sollte die Leistung eines Tages nicht mehr ausreichend sein – sind Mainboard, CPU und RAM flexibel austauschbar. Sollten zwei Festplatten nicht ausreichen – kann mindestens eine Weitere intern ergänzt werden. Auch vier Festplatten wären denkbar, dann könnte man den System-Datenträger durch ein USB-Medium ersetzen (so wie in einem der verlinkten Blogs).

Sicherlich könnte man den Aufwand für Montage und Konfiguration mit einberechnen – allerdings zahlt sich niemand selbst einen Stundenlohn aus, daher lassen wir den Quatsch an der Stelle.

zurück zum Inhalt

Ubuntu 18.04 (Bionic Beaver)

Im ersten Teil habe ich euch die Auswahl meiner Hardware näher erklärt, hier geht es um das Betriebssystem.

Wie in der Planung bereits beschrieben, möchte ich meinen Server komplett frei gestalten können. Was bietet sich da für einen neuen Rechner besser an, als ein neues Betriebssystem? Vor einigen Jahren hätte ich sicherlich noch lieber auf ein fertiges Image zurückgegriffen, mittlerweile fühle ich mich im Terminal  aber einigermaßen gut zurecht und traue mir durchaus was zu.

zurück zum Inhalt

Warum ein Bieber?!

Bei der Wahl eines Betriebssystem kann man bei einem Eigenbau-Nas Konzept auf mehrere Möglichkeiten zurückgreifen. Es gibt fertige Distributionen wie z.B.

Diese basieren dann z.B. auf Debian 9 und stellen alle Funktionen für ein NAS-System zur Verfügung. Die Bedienung/Verwaltung erfolgt dann über eine Weboberfläche.

Weiterhin besteht, natürlich, die Möglichkeit das System auch komplett selbst aufzusetzen. Das hat den Vorteil, dass man immer genau weiß was das System macht, kann und hat. Dafür installiert man sich ein (Server-) Betriebssystem und richtet nach und nach alle Funktionen selbst ein.

Welche Wahl man trifft hängt maßgeblich von den eigenen Ansprüchen und Fähigkeiten ab. Ich will mir zwar keine Linux-Experten-Kenntnisse bescheinigen, aber ich denke, dass ich bisher ganz gut damit klar gekommen bin. Ubuntu nutze ich nun auch schon einige Zeit (z.B. auf meinem HTPC und dem Tinkerboard), sodass meine Wahl auf die neue Ubuntu-Server 18.04 (Bionic Beaver) fiel.

Es handelt sich bei der Version um eine LTS (das steht für Long-Therm-Support), bei Ubuntu versteht man darunter einen Support für 5 Jahre. In der IT sind 5 Jahre quasi ein Jahrhundert – darum fährt man mit einer LTS immer sehr gut. Ubuntu-Server wird ohne grafische Oberfläche installiert, alle anschließenden Arbeiten finden dementsprechend im Terminal statt.

zurück zum Inhalt

Installation

Für die Installation habe ich meinen Server mit Monitor und Tastatur betrieben – das heruntergeladene Image wird mit einem Programm wie Etcher einfach auf einen USB-Stick geschrieben – oder auf eine DVD gebrannt (mein Server hat aber kein optisches Laufwerk). Ich denke mal die Installation an sich ist, für jemanden der schon ein paar mal ein Betriebssystem installiert hat, selbsterklärend.

Der Installations-Assistent fragt die wichtigsten Parameter wie Sprache/Tastaturlayout und Netzwerke ab, Benutzername, Passwort, Rechnername festlegen – und schon kann es los gehen.

Sobald das System fertig installiert ist, brauch nur das Installationsmedium entfernt werden, danach ist der Rechner auch per SSH erreichbar.

SSHBB

Zu diesem Zeitpunkt betreibe ich den cube, so habe ich meinen neuen NAS-Server getauft, nur mit dem Systemspeicher (einer 120 GB SSD). Im Anschluss an die Installation bietet sich immer ein

sudo apt-get update && sudo apt-get -y dist-upgrade

an, um das System zu aktualisieren (sofern nicht während der Installation bereits geschehen).

Sobald alles aktuell ist, kann man sich Gedanken um die Einrichtung machen.

zurück zum Inhalt

LAMP-Server & Samba

Samba bietet die Möglichkeit Freigaben, Rechte, Benutzer und Passwörter anzulegen und jene Freigaben unabhängig vom Client-Betriebssystem nutzbar zu machen.

Ein Lamp-Server ist die Kombination aus Datenbankserver (Mysql /MariaDB) und PHP-Server (Apache2). Wofür ich den genau benötige wird in den folgenden Beiträgen deutlicher.

Installation mit Tasksel

Am einfachsten lässt sich die Installation mit dem Tool „Tasksel“ vornehmen

sudo apt-get install tasksel

Ausgeführt wird Tasksel mit

sudo tasksel

Man erhält dann eine kleine Übersicht mit Diensten, die Tasksel installieren kann oder schon installiert sind

tasksel

Die, beim ersten Aufruf von Tasksel, mit * gekennzeichneten Anwendungen sind bereits auf dem System vorhanden. Um weitere Anwendungen zu installieren kann man mit den Pfeiltasten zur gewünschten Anwendung  navigieren und mit der Leertaste markieren. Hat man alle neu zu installierenden Anwendungen ausgewählt, wechselt man mit der Tab-Taste auf , bestätigt mit Enter und Tasksel installiert die ausgewählten Anwendungen.

Ruft man Tasksel erneut auf, kann man durch entfernen eines * vor der entsprechenden Anwendung auch dafür sorgen, dass diese wieder entfernt wird.

Insgesamt ein sehr nützliches Tool, das einem etwas Arbeit abnimmt.

Test / Version

Nachdem Tasksel die Installation(en) abgeschlossen hat, sollte der Apache2-Sever bereits voll funktionsfähig sein. Das kann man testen indem man im Browser die IP-Adresse des Servers und den Port 80 eingibt.

192.168.178.79:80

apache.png

Diese Seite sollte erscheinen, wenn die Installation erfolgreich war. Der cube hat nun einen Lamb-Server. Das für mich wichtigste dabei ist aber nicht der Apache2-Server, sondern der Datenbank-Server.

Ob alle anderen Anwendung erfolgreich installiert wurden lässt sich mit dem Befehl

Anwendung --version

herausfinden. Die Eingabe von z.B.

php --version

sollte folgende Ausgabe erzeugen

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies

oder für den Datenbank-Server

mysql --version

die Ausgabe

mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper

Datenbank-Server einrichten

Das Paket mysql-client wird von Tasksel nicht installiert – wer es benötigt, der sollte das zuerst nachholen

sudo apt-get install mysql-client

Um den Datenbank-Server für meine anderen Clients nutzbar zu machen, muss er auch zugänglich sein. Von „Werk“ aus darf nämlich nur der Localhost auf den Datenbank-Server zugreifen.

Hierzu muss in der Config-Datei lediglich eine Zeile auskommentiert werden

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

dort sucht man nach der Zeile

bind-address = 127.0.0.1

und setzt ein Kommentarzeichen „#“ an den Anfang der Zeile.

#  bind-address = 127.0.0.1

danach, wie gehabt, mit Strg+O speichern und mit Strg+X den Editor beenden.

Jetzt brauch man nur noch das Root-Passwort für den Datenbank-Server zu setzen, dazu loggt man sich auf dem Datenbank-Server ein

sudo mysql -u root -p

Die folgende Passwort-Abfrage wird mit Enter quittiert, denn es wurde ja noch gar kein Passwort festgelegt. Das folgt aber nun mit

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORT';

Bei PASSWORT wird selbstverständlich ein eigenes Passwort eingetragen.

GRANT USAGE ON *.* TO 'root'@'%' WITH GRANT OPTION;

das war schon alles, nun noch

exit

und man befindet sich wieder im normalen Terminal, hier den Dienst noch eben neu starten

sudo service mysql restart

Der Datenbank-Server steht nun und kann z.B. unter Windows über Heidi-Sql verwaltet werden. Optional kann man auch Phpmyadmin installieren und die Datenbank über das entsprechende Webinterface verwalten.

Apache2 mit SSL absichern

Weil ich plane auch aus dem Internet auf den NAS-Server bzw. den Apache2 zuzugreifen, gehört dieser natürlich abgesichert. Folgende Schritte habe ich dazu durchgeführt

sudo -i

mkdir /etc/apache2/ssl

cd /etc/apache2/ssl

openssl genrsa -out homeserver.key 2048

chmod 600 homeserver.key

openssl req -new -x509 -key homeserver.key -days 730 -sha256 -out homeserver.crt

a2enmod ssl

a2dissite 000-default.conf

nano /etc/apache2/sites-avaliable/00-homeserver.conf

In die Datei wird folgender Inhalt eingefügt



ServerAdmin webmaster@localhost
Redirect / https://127.0.0.1/443/

ErrorLog ${APACHE_LOG_DIR}/homeserver_error.log
CustomLog ${APACHE_LOG_DIR}/homeserver_access.log combined




SSLEngine on
SSLCertificateFile /etc/apache2/ssl/homeserver.crt
SSLCertificateKeyFile /etc/apache2/ssl/homeserver.key
SSLProtocol All -SSLv2 -SSLv3
SSLCompression Off
SSLHonorCipherOrder on
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

Mit Strg+O speichern und mit Strg+X beenden.

a2ensite 00-homeserver.conf

service apache2 restart

Das ganze habe ich natürlich nicht selber herausgefunden, sondern hier nachgelesen. Die Anleitung habe ich, bis auf eine kleine Änderung, 1:1 übernommen.

Und zwar wollte ich nicht, dass der Apache2 weiterhin Seiten über http:// ausgibt, daher habe ich in der Datei „00-homeserver.conf“ unter der Verwaltung des Port <80> die Angabe des Verzeichnis „DocumentRoot /var/www/html“ entfernt und stattdessen eine Weiterleitung auf den Port <443> eingerichtet. So werden alle Seiten des Apache2 per HTTPS ausgegeben und sind damit sicher.

Samba

Der neue NAS-Server soll den Bisherigen nach Möglichkeit 1:1 ersetzen. Folglich müssen die entsprechenden Freigaben, Benutzernamen und Kennwörter eingepflegt werden.

Die Samba-Nutzer müssen auch jeweils als Systembenutzer vorhanden sein, daher legt man zuerst die Systembenutzer an. Da diese Nutzer nur die Samba-Freigaben nutzen sollen und sonst nichts, brauchen sie kein Homeverzeichnis und keine Shell.

sudo adduser --no-create-home --disabled-login --shell /bin/false NAME

Nach der Eingabe erhält man die Aufforderung ein Passwort einzugeben und noch einige andere Angaben zu machen, die man aber einfach mit Enter quittieren kann.

Wenn man alles korrekt eingerichtet hat, kann man die neuen Systemnutzer nun der Samba-Datenbank mitteilen

sudo smbpasswd -a NAME

Wieder wird man aufgefordert ein Passwort zu setzen. Mit diesem Passwort kann man sich dann später mittels NAME und Passwort an einer Freigabe anmelden.

Samba-Freigabe(n) anlegen

Eine Samba-Freigabe kann z.B. von einem Windows-PC problemlos im Netzwerk gefunden werden, allerdings muss die Freigabe erstmal in die Samba-Config-Datei eingetragen werden. Damit es überhaupt etwas zum eintragen gibt, muss auch erstmal ein (beliebiges) Verzeichnis erstellt werden.

Wenn mal also eine große Festplatte in den Server eingebaut hat, bietet es sich an einige Verzeichnisse anzulegen und diese anschließend in die Samba-Config-Datei einzutragen.

In meinem Fall habe ich eine 4 TB Festplatte im Verzeichnis „HDD1“ gemountet

cd /HDD1

und diverse Verzeichnisse wie z.B. video, photo, musik erstellt

sudo mkdir musik

sudo mkdir video

sudo mkdir photo

Laut einigen Aussagen im Netz, sollten die Verzeichnisse mit Samba-Freigabe optimaler Weise dem User root gehören. Ich habe aber auch problemlos einige Verzeichnisse freigeben können, die nicht root gehören.

Viel wichtiger ist, dass man mit chmod entsprechende Rechte für die Verzeichnisse vergibt, daher

sudo chmod 777 musik

sudo chmod 777 video

sudo chmod 777 photo

Falls man in den jeweiligen Verzeichnissen noch Unterverzeichnisse erstellt hat, kann man mit

chmod -R 777 /verzeichnis

die Rechte auch für alle Unterverzeichnisse und Dateien in einem Abwasch ändern.

Jetzt aber zum wesentlichen, der Samba-Config-Datei

sudo nano /etc/samba/smb.conf

Wenn man möchte, kann man sich durch die einzelnen Punkte arbeiten und seinen Samba-Server sehr detailliert einrichten. Für einfache Freigaben reicht es aber ans Ende der Datei zu springen (z.B. mit der Bild ↓ – Taste), hier werden die erstellen Verzeichnisse dann nach folgendem Muster eingefügt

# Freigaben HDD1

[Video] # (Netzwerk)Name der Freigabe

comment = videos # beliebiges Kommentar zu der Freigabe

path = /home/user/HDD1/video # Pfad zur Freigabe

valid users = user1,user2 # Samba/System Nutzer mit Zugang zur Freigabe

write list =   user1,user2 # Liste der Nutzer, die Schreibzugriff haben

force user = user1 # Nutzer, dem geschriebene Daten innerhalb der Freigabe gehören

Die folgenden Freigaben beginnen dann wieder mit dem Namen der Freigabe in eckigen Klammern. Meiner Meinung nach kann man die Freigaben so ziemlich optimal für seinen Bedarf anpassen.

Hat man all seine Verzeichnisse eingetragen, kann man die Datei mit STRG+O speichern und den Editor, wie gehabt, mit STRG+X beenden. Nun noch im Terminal mit

sudo service smbd restart

den Samba-Server neu starten, dann sollten die Freigaben im Netzwerk auftauchen.

Fazit

Stand jetzt kann mein neuer NAS-Server bereits mehr als mein Bisheriger. Jetzt habe ich allerdings noch ein paar Pläne, um den Funktionsumfang noch etwas auszubauen.

zurück zum Inhalt

Festplatte hinzufügen

Bei der Auswahl der richtigen Festplatte(n) für meinen kleinen NAS-Würfel habe ich mir ziemlich viel Zeit gelassen. Erst hatte ich mich für eine WD-Blue mit 4TB entschieden, die kam auf dem Versandweg allerdings ziemlich mies verpackt und – natürlich defekt – bei mir an. Frustriert habe ich mir dann eine WD-Red mit 4TB beim neuen Händler meines Vertrauens (Mindfactory *hust*) bestellt. Diese kam wesentlich besser verpackt und funktionsfähig bei mir an und leistet seither ihre Dienste im cube.

Unter Linux, oder gar im Terminal, kam ich bisher nicht in den Genuss neue Hardware in Betrieb zu nehmen, daher war es erstmal nötig einige Informationen einzuholen.

zurück zum Inhalt


Pfad/UUID ermitteln

Als erstes muss man wissen wo die Platte „liegt“ bzw. welche Hardware-ID die Platte hat, dazu nutzt man den Befehl

sudo blkid -o list -w /dev/null

blkid

In der Tabelle sieht man nun die Pfade der Festplatten und/oder Partitionen (z.B. /dev/sda1), das Mount-Verzeichnis (mehr dazu weiter unten) und die UUID also die Hardware-ID der Festplatte. Die UUID wird später zum Mounten der Festplatte benötigt.

zurück zum Inhalt


Formatieren

Jetzt wo man den Pfad der Festplatte kennt, kann man die Festplatte einrichten – in meinem Fall habe ich einfach eine ext4 Partition erstellt – mehr nicht. Dazu reicht der Befehl

sudo mkfs.ext4 /dev/sdb

Man kann sich jetzt ellenlang über das Dateisystem unterhalten und die Vor- und Nachteile abwiegen, ich habe viele Beiträge durchgelesen und bin zu dem Entschluss gekommen, dass es nicht wirklich darauf ankommt welches Dateisystem man verwendet – zumindest solang man auf die Nutzung eines Raids verzichtet (was bei mir der Fall ist).

Diese spezielle Platte hortet bei mir ein paar Daten, speichert mein tägliches Fhem-Backup und ist den Rest der Zeit eigentlich nur sporadisch in Benutzung.

zurück zum Inhalt


Festplatte/Datenträger mounten

Um die Festplatte nun dauerhaft in das System einzubinden, braucht sie einen Mountpunkt, das ist nichts weiter als ein gewöhnlicher Ordner.

In meinem Fall befindet sich der Ordner/Mountpunkt in meinem Home-Verzeichnis und heißt HDD1

sudo mkdir HDD1

Damit die Festplatte bei jedem Systemstart automatisch in das Verzeichnis gemountet wird, ist ein Eintrag in die fstab nötig

sudo nano /etc/fstab

Hier sollten sich jetzt bereits mindestens zwei, meist drei Einträge für die Systemfestplatte befinden. Wir ergänzen die Datei nun um einen weiteren Eintrag

UUID=b4ab6fe2-3bcf-4d31-a825-c7d5be38b744 /home/marcel/HDD1 ext4 defaults 0 0
  • Da sich der normale Pfad zum Dateisystem auch mal ändern kann, benutzt man die UUID zur identifikation der Partition/Festplatte
  • danach folgt der Pfad zum Mountpunkt
  • das Dateisystem der Partition/Festplatte
  • die Mount-Optionen (defaults=Standard-Einstellungen)
  • Option für Datensicherung (0=keine Sicherung)
  • Option für die Prüfung des Dateisystems bei Systemstart (0=Keine Prüfung)

Weitere Informationen zu den Einträgen in der Fstab findet man natürlich im Ubuntu-Wiki.

Datei mit STRG+O speichern und den Editor mit STRG+X beenden, danach ein Neustart und die neue Festplatte ist bei jedem Systemstart im Verzeichnis HDD1 gemountet.

zurück zum Inhalt


Festplatte in Standby legen

Obwohl die WD-Red Festplatte durchaus dafür gemacht ist, halte ich es nicht für nötig, dass die Platte permanent läuft. Mit Hdparm kann man die Festplatte nach definierter Zeit ohne Zugriffe in den Standby schicken – greift man auf die Platte zu, fährt sie wieder hoch.

Eine, wenn auch etwas ältere, Anleitung dazu findet man hier.

Man kann das dort geschriebene 1:1 so auch unter Ubuntu 18.04 übernehmen und verwenden. Als Spindown-Time habe ich den Wert 242 gewählt – das entspricht einer Stunde.

Derzeit wird der Server täglich um 10 Uhr von Fhem genutzt, um ein Backup zu speichern – danach ist bis mindestens 18 Uhr (wenn ich Feierabend habe und anschließend im Büro sitze) nicht mit einem Zugriff zu rechnen.

Später plane ich den Server etwas mehr zu nutzen, dann passe ich die Spindown-Time entsprechend an, damit die Platte nicht zu häufig Ein-und Ausschaltet.

 zurück zum Inhalt