Wir bauen ein NAS

Das neue Projekt von mir.. Was bauen wir..

Da ich 3 x NAS System am laufen habe, dachte ich mir, warum nicht alles in einem Rechner bauen. Spare ich mir 3 Gehäuse, die ich wieder verkaufen kann.

Was wird den alles gebraucht.

Ein alten Rechner, ein etwas guten Prozessor, bitte jetzt kein Single oder Dual Prozessor. Das geht zwar, aber bringt nichts an Performens im Raid System.

Eine RAID Karte, die auch mehr als 1 x RAID1 Verbund kann. Ich benutze hier eine DELL SPARC 6/i. Kostet nicht viel und kann 2 RAID1 Verbunde. Insgesamt kann die Karte aber 8 Festplatten verwalten. OK, nicht die schnellste, aber wir wollen ja auch "Reste" was zusammen bauen und davon habe ich noch eine da gehabt. Das Problem bei der Karte sind die Kabel. Wenn man sie bekommt, dann kosten die ein Vermögen. Ich habe mir bei der Bucht eben 2 neue Karten mit den Kabeln gekauft. War zum Schluß billiger, als wenn ich mir nur die Kabel gekauft hätte. 1 Karte behalte ich, als Reserve, die andere wird zu Geld gemacht. Wird dann für andere Sachen in das Projekt investiert.

So, was noch,, achja, die Platten. Ich benutze hier für WD RED 2 TB Platten. Die RED sind reine NAS Festplatten mit einen guten Support, falls mal eine defekt geht, einfach bei WD RED Support anrufen und man bekommt eine neue zugeschickt. Die alte wird dann, nach dem man seine Daten umkopiert hat, an WD zurück geschickt.

2 Netzwerkkarten, 1 GB. Warum 2 und nicht 1 Karte. Eine geht auch, aber 2 Karten sind bei einem Zugriff von mehreren Rechner effektiver. Da die Karten im BOND Verfahren gekoppelt werden, entsteht so eine LASTVERTEILUNG im Netzwerk und es entsteht kaum Verzögerungen in der Übertragung. Es hat auch den Vorteil, fällt eine Karte aus, wird die andere Netzwerkkarte weiter laufen. Das UBUNTU Server System zeigt es dann auch an.

Und da haben wir auch schon das Betriebssystem angesprochen. Es wird das UBUNTU SERVER 64 BIT System (BS) installiert.

Warum jetzt ein Server System. Es liegt an der Performence, dass das BS mit sich bringt.Einfach und schnell. Achja, es gibt keine Grafikoberfläche. Braucht man auch nicht, da man eh alles nachher über ein Windows Rechner verwaltet.

Netzwerk-Bond0

Hier sieht man die Arbeit der Netzwerkkarten im BOND0 Verfahren.

Der Festplattenkäfig für 4 Festplatten.

Solch ein Festplattenkäfig ist Ideal. 4 Festplatten gehen rein und sie werden auch gleich gekühlt.

Hier mal der Blick auf die SATA Karte. Sie kann 8 Festplatten verwalten.

So, die Software ist wie gesagt UBUNTU SERVER 64 BIT System. In der jetzigen Version 16.04.1
Was wird noch an Software gebraucht.

Webmin ( zur Verwaltung über ein Windows Rechner)
Smartd (Um die Festplatten Parameter auszulesen und falls eine Festplatte sich langsam verabschiedet)
LM-Sensors (Zeigt verschiedene Temperaturen vom System an.)
MII-Tools und Ethtools ( zwecks verbinden 2 Netzwerkkarten im BOND Format)
Samba (Um Zugriff von Windows Rechner zu erlangen)
NFS-Kernel-Server ( Zugriff auf die Festplatten im Netzwerk)
MiniDLNA (Vorbereitung für MediaTomb)
MediaTomb ( um später Videos, Musik oder Fotos zu Streamen)
Apache2 Server und PHP 7
Bmon ( Zur Überwachung der Netzwerkkarten)
MC ( sieht aus wie Total Commander)

Als erstes brauchen wir das Betriebssystem. Download https://www.ubuntu.com/download/server/thank-you?country=DE&version=16.04.1&architecture=amd64
Ich habe mir dazu ein USB Stick gemacht. Hat den Vorteil, das die Installation recht flott geht.
Ich benutze für sowas das Programm LiLi USB Creator. Download  https://www.linuxliveusb.com/en/download
Lasst euch nicht beirren wenn die Meldung kommt, dass er keine Live CD machen kann. Ist nicht wichtig, den es geht auch so..

Die anderen Software Elemente installieren wir nachher im laufenden System.

Habt ihr das, dann geht es im nächsten Abschnitt weiter.

 

So, wir starten mal die Installation des BS.
Boot Stick sollte fertig sein und jetzt solltet ihr ihn vom Stick aus Booten. Wie das geht, solltet ihr schon Wissen, ansonsten fragt Tante Google.

Beantwortet alle Fragen.
Kommt die Frage, welche Netzwerkkarte er benutzen soll, dann nimmt sein Vorschlag an. Es ist erstmal egal, weil wir das später alles ändern.
Bei HOSTNAME denkt euch was aus.. Ihr müsst nicht das benutzen, was er euch Vorschlägt.
Passwort ist bei UBUNTU WICHTIG ! Macht ihr keines rein, dann kommt ihr nicht zu den Root Rechten nachher. Also, einfach eines Ausdenken und merken.
Wollt ihr die Platten Encrypten, dann solltet ihr den Punkt aktivieren, aber bedenkt, dass es an Rechnenleistung zum Schluss kostet. Für den Heimgebrauch finde ich das Unsinnig, aber soll jeder selbst Entscheiden.
Bei der Festplatte solltet ihr eine neue nehmen, also, eine die nicht Gebraucht wird im System. Die Daten werden leider gelöscht, wenn ihr die ganze Platte für das System verwendet.
Was ich noch für ein Unsinn halte, ist das LVM System. Ist zwar nett, wenn man einige Platten zu einer Platte macht, aber wenn ein Hardware Ausfall ist, dann sind alle Daten weg. Also, am besten kein LVM. Ich habe es auch so.
So, alles installieren lassen. Achja, die Frage, ob ihr die Updates Automatisch machen wollt, sagt NEIN, dass kann man später per CRON besser lösen.
Folgende Software sollte man auf jedenfall erstmal installieren: OpenSSH Server (zwecks Fernwartung)
LAMP Server ( da ist APACHE2 und PHP7 schon drin)
Samba File Server
Manual Package Selection (Anleitungen)

Weiter installieren lassen.
Wo soll der Bootloader hin geladen werden. Ist nur eine Platte im System, sollte die Frage nicht kommen, ansonsten immer auf "SDA".
Ist das erledigt, solltet ihr den Stick entfernen und rebooten. So das erstmal sollte das System hoch fahren. Nicht wundern, sieht anders aus wie Windows.
So, wir loggen uns das erstmal ein mit Username und das Passwort.

Danach geben wir mal > sudo su < ein und das Passwort.
Wenn das geklappt hat, dann seit ihr jetzt ADMINISTRATOR.
Folgendes gebt ihr als erstes mal ein.. Das Netzwerkkabel MUSS im Rechner gesteckt sein.

> apt -y update && apt -y upgrade && reboot < Was bewirkt der Befehl. Das -y sagt uns, dass alle Fragen mit JA beantwortet werden. Dann muss man nicht immer alles zulassen bei dem Updates..
Das Updaten und Upgraden dauert etwas. Je nach System kann es so ca 20 Minuten dauern. Jetzt werden alle neuen Sicherheits Programme installiert.
Da reboot bewirkt, dass zum Schluss der Rechner neu gestartet wird. Sollte man auch machen.

So jetzt installieren wir erstmal WEBMIN, damit wir das alles besser installieren und warten können von einem Windows Rechner.

Als erstes geben wir in der Befehlszeile folgendes ein. Ach ja, ich hoffe, ihr seit wieder als ADMINISTRATOR angemeldet, so wie oben beschrieben. apt -y install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions .Um die aktuelle Version von WEBMIN zu bekommen, sucht ihr in euren Browser mal nach der.. Benutzt den Link dafür. https://www.webmin.com/download.html

Merkt euch die Versions Nummer.. z.B. 1.831
Jetzt holen wir uns das Datenpaket aus dem Internet mal eben.. Folgendes eingeben.

wget http://prdownloads.sourceforge.net/webadmin/webmin_XXXX_all.deb wobei XXXX die Versionsnummer ist. Achtet vielleicht noch auf dem Punkt.
Danach wird das Programm installiert mit folgendem Befehl. Wo ist egal..

dpkg --install webmin_XXXX_all.deb wobei XXXX wieder die Versionsnummer ist.

Ist das alles passiert, können wir uns mit einem Browser einloggen.

https://localhost:10000

Bekommt ihr keine Verbindung, dann gebt mal folgenden Befehl im Ubuntu Server ein.
ifconfig
unter "inet Adresse: XXXXXXXX " seht ihr eure IP https://XXXXXXXX:10000 

Nun Versucht folgendes https://XXXXXXXX:10000/

Jetzt installieren wir MC.(Midnight Commander)
Wer den alten Norton Commander kennt, der wir das Teil lieben.
Installiert wird der so apt -y install mc .Wer noch die Maus vermisst, der kann noch folgendes mit installieren.

apt -y install gpm

Auf gerufen wird der einfach mit mc oder mit Parameter wie z.B. mc /etc /var  / .
Somit ist im linken Fenster schon das Verzeichniss etc und im rechten Verzeichniss var zu sehen.

Jetzt kommen die Überwachungs Programme dran.
LM-Sensors

Einfache Kiste mit

apt -y install lm-sensors danach sensors-dectect ausführen. Alles mit der Return/Enter Taste bestätigen. Mehr braucht man nicht.
Das Ergebnis sehen wir nachher bei WEBMIN auf der Oberfläche.

Jetzt die Überwachung der Festplatten. Installiert mit
apt -y install smartmontools . Weitere Infos kann man https://www.wiki.ubuntuusers.de/Festplattenstatus/ nach lesen.

Jetzt kommen wir zu den Netzwerkkarten und ihrer Einstellung. Kann etwas kompliziert werden, aber ist es nicht.. Nur die Ruhe bewahren..

Als erstes installieren wir folgende Sachen.

apt -y install ifenslave-2.6 net-tools ethtool bmon .Jetzt kommt das Einstellen der bond0 Option dran.
Ich zeige euch mal meine interfaces . Datei im Verzeichnis /etc/network . Diese bitte nach eigene Daten ändern.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp1s6
iface enp1s6 inet manual
bond-master bond0
#bond-primary enp1s6

auto enp1s8
iface enp1s8 inet manual
bond-master bond0

auto bond0
iface bond0 inet static
address 192.168.2.5
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
dns-nameservers 192.168.2.1
##bond-slaves none
bond-slaves enp1s6 enp1s8
bond-mode 0
bond-miimon 100
#bond-updelay 200
#bond-downdelay 200
#modprobe bonding
#bond-lacp-rate 1

 

Zu ändern wären die IPs, network, broadcast, gateway, dns-nameservers und der Kartenname der Netzwerkkarte. Hier heissen meine enp1s6 oder enps1s8. Ansonsten kann man den Rest lassen.
Aber ehe ihr jetzt die Sachen einfach rein kopiert und ändert, macht vorher von der Datei ein Backup.

Jetzt noch eine neue Datei im Verzeichnis /etc/modprobe.d  mit dem Namen bonding.conf anlegen und den folgenden Inhalt rein kopieren. alias bond0 bonding options bonding mode=1 miimon=100 .Damit das auch beim nächsten mal Startet, einfach in der Datei /etc/modules am Ende folgendes rein schreiben.
bonding
Mehr Infos bekommt man https://wiki.ubuntuusers.de/Netzwerkkarten_bündeln

Wenn alles soweit fertig ist, dann benutzen wir mal den Befehl reboot für ein Neustart.
Jetzt sollte alles fertig sein..

Sollte mal ein Fehler auftauchen, dann benutzt den Befehl systemctl --state=failed und schaut euch den Fehler an.
Noch was zum Programm bmon.

Dieser zeigt euch, wenn alles läuft, daß Lastenverhältnis eurer Netzwerkkarten an. So kann man Kontrollieren, ob sie auch laufen und die Geschwindigkeit was sie bringen. Läuft bei mir ständig.
Einfach bmon eingeben. Beenden kann man das mit der Q Taste und Y Taste. Pfeil rauf und runter Taste kann man die Daten der Karte sehen.. Probiert es einfach aus..

Kommen wir zu Samba.
Was ist SAMBA ? Das kann man hier [url='https://wiki.ubuntuusers.de/Samba/']nach[/url] lesen..
Wir hatten ja bei der Installation von Ubuntu Server das Samba ja schon mit installiert.
Ob wir alles haben, was wir brauchen, können wir so kontrollieren. Manch einer denkt jetzt, was soll das, aber er wird jetzt nicht nur das installiert, was ich jetzt angebe, nein, die Abhängigen Programme werden, wenn benötigt mit installiert. Schaden kann es auf jedenfall nicht. [code]apt -y install samba-common samba samba-doc samba-doc-pdf tdb-tools[/code]Jetzt erstmal ein SAMBA User anlegen.
Folgende Optionen gibt es. [code]sudo smbpasswd -a # Fügt den Benutzer der Samba Datenbank hinzu und aktiviert diesen sudo smbpasswd -x # Entfernt den Benutzer aus der Samba Datenbank sudo smbpasswd -d # Deaktiviert den Benutzer in der Datenbank sudo smbpasswd -e # Aktiviert den vorher deaktivierten Benutzer in der Datenbank wieder [/code]Wir brauchen aber erstmal nur

[color=#FFFF00]smbpasswd -a >username>[/color]

Passwort wird verdeckt eingegeben, also nicht Wundern.

Jetzt gibt es 2 Möglichkeiten, wie wir das Samba Programm Einrichten, entweder in[color=#FFFF00] /etc/samba/smb.conf[/color] oder mit WEBMIN. Dazu muss man aber erstmal in WEBMIN den Punkt Module aktualisieren anklicken.
(unter Webmin - Webmin-Configure kann man unter Languane das ganze auf Deutsch einstellen) [code]smbpasswd -a [/code]Wichtig ist auch, dass ihr die Verzeichnisse für Samba frei gibt.
Z.B.: das Verzeichniss heisst "TESTINSTALL auf den Linux Server, dann muss man noch folgendes schreiben

[color=#FFFF00]chown -R username:sambashare /TESTINSTALL[/color]

Somit wird die Lese und Schreibstruktur in dem und in den darunter liegenden Verzeichnisse angepasst.
Username ist der Name, den ihr bei SAMBA angegeben habt. Siehe davor.
Das war mal mein Problem gewesen, dass ich nicht schreiben konnte in den Verzeichnissen.


Danach unter Server - Samba-SMB/CIFS-FILESERVER anklicken.
Hier kann man dann Verzeichnisse auf den LINUX Laufwerken für andere frei geben.

Ich gebe euch mal ein Beispiel, wie es in der /etc/samba/smb.conf Datei für ein Verzeichniss aus sieht. [code][netzlaufwerk] public = yes delete readonly = yes writeable = yes browseable = yes create mask = 0666 directory mask = 0777 force group = sambashare force user = mic-berlin path = /netzlaufwerk guest ok = yes[/code]Wenn ihr nicht weiter kommt, dann schreibt einfach was dazu und wir suchen eine Lösung ..
Lass euch nicht beirren mit den ganzen Einstellungen, etwas Probieren und dabei lernt man auch.

[color=#FF0000]WICHTIG !!!![/color] Denkt immer daran, LINUX unterscheidet zwischen Groß und Kleinschreibung. Wenn ihr ein Verzeichniss sucht, was Test heisst, dann findet ihr nicht das Verzeichniss test. Ist nicht wie bei Windows..
Ich kann auch ein Verzeichniss Test aufmachen und dazu eine Datei test. Da meckert Linux nicht, wobei glaube ich Windows schon meckert.

So, kommen wir zu NFS-Kernel-Server
Wir installieren erstmal das Teil [code]apt -y install nfs-kernel-server [/code]Samba hat den Nachteil, daß die Übertragungsraten nicht besonderlich hoch sind. Das ändert NFS.
Weitere Infos zu NFS-Kernel-Server könnt ihr [url='https://wiki.ubuntuusers.de/NFS/']hier[/url] lesen.
Auch hier kann man entweder per Editor unter [color=#FF0000]/etc[/color] die Datei exports editieren oder unter WEBMIN - Netzwerk - NFS-EXPORTS
Bitte achtet darauf, wie ihr unter SAMBA die Pfade macht und so müssen sie auch unter NFS-Kernel-Server sein.
Ich gebe mal wieder ein Beispiel, wie es bei mir aus sieht. [code]/media 192.168.2.0/255.255.255.0(async,rw,crossmnt)[/code]Erläuterung
[color=#FF0000]/media[/color] ist das Verzeichnis was ich frei geben möchte für das Netzwerk, auch immer darauf achten auf Groß und Kleinschreibung.
[color=#FF0000]192.168.2.0/255.255.255.0[/color] ist das Netzwerk mit Broadcast. Man kann auch einzelne IPs freigeben. Hier wird der ganze IP bereich frei gegeben. Nachlesen im oberen Link

[color=#FF0000]async[/color] heisst, die Daten die geschrieben werden, werden nochmals verglichen.
[color=#FF0000]rw[/color] heisst, in diesen Bereich habe ich Schreib und Leseberechtigung
[color=#FF0000]ro[/color] würde heissen, ich darf nur lesen aber nicht schreiben
[color=#FF0000]crossmnt[/color] heisst, alles wird auch in Unterverzeichnisse angewand.

Jetzt noch Mediatomb einrichten, damit wir auch Bilder, Videos und Musik vom TV vielleicht sehen können.
Erstmal installieren.. [code]apt -y install mediatomb[/code]Den Rest solltet ihr [url='https://wiki.ubuntuusers.de/Mediatomb/']hier[/url] lesen, den das ist dann einfach. Dazu muss ich nichts mehr schreiben.
Wer sich zutraut, der kann das Mediatomb auch in Deutsch umschreiben. Ist überwiegend HTML Code. Zu finden in [color=#FFFF00]/usr/share/mediatomb[/color]

Das war es erstmal zu dem Projekt , Ihr könnte ja mal schreiben, ob die Anleitung verständlich war und ob Fehler drin sind, dann änder ich sie.
Ich habe mir große Mühe gegeben, es so zu schreiben, daß Anfänger es auch können.

[color=#FF0000]
[/color]

 


Lesen sie mehr: