Tech-Thiel

Technik die nicht nur mich begeistert

NAS – der Dateiserver

Network Attached Storage (NAS) bezeichnet einfach zu verwaltende Dateiserver. Allgemein wird ein NAS eingesetzt, um ohne hohen Aufwand unabhängige Speicherkapazität in einem Rechnernetz bereitzustellen.

https://de.wikipedia.org/wiki/Network_Attached_Storage

Besser kann man es nicht ausdrücken, also zitiere ich die Wikipedia.

Tatsächlich gibt es fertig NAS System wie TrueNAS oder OpenMediaVault. Für meine Zwecke und wünsche bringen die aber einfach viel zu viel Zeug mit das ich vielleicht gar nicht nutzen möchte. Daher habe ich eine ganz einfach Lösung gewählt:

  • Die Basis ist ein in einer VM installiertes Ubuntu.
  • Meine 4 USB-Festplatten werden an die VM durchgereicht und stehen so als regulärer Wechseldatenträger zur Verfügung. Das hat den Vorteil das ich die bei Bedarf abziehen und mit anderen Geräten verwenden kann. Wären alle Laufwerke normal mit Proxmox verbunden, wäre das nicht der Fall.
  • Ein Sambaserver.

Einrichtung

Erstmal die VM installieren und updaten. Dann die USB-Festplatten an die VM durchreichen. Dazu in der Proxmox Oberfläche die VM auswählen (1) und dann stoppen (2).

Auf Hardware wechseln und mit „Add / USB-Device“ die gewünschten Laufwerke hinzufügen. Hierzu „Use USB Port“ auswählen (1) und dann unter „Choose Port“ den Port mit dem entsprechenden Geräte auswählen (2).

Ggf die Schritte wiederholen für die weiteren Laufwerke. Jetzt den NAS wieder starten und per SSH mit dem NAS verbinden (unter Linux einfach mit

ssh benutzername@nas.fritz.box 

Wenn man den NAS so genannt hat und hinter der Fritzbox hängt. Alternative

benutzername@IP-Adresse.

Hier dann ins Verzeichnis media wechseln und für jede USB Platte ein Verzeichnis anlegen.

cd /media
sudo mkdir platte5g
sudo mkdir platte3
sudo mkdir platte2
sudo mkdir platte1

Jetzt rufen wir die fstab auf und sagen dem System, welche Platte in welchen Ordner mappen soll. Zum bearbeiten der fstab folgenden Befehl ausführen.

sudo nano /etc/fstab

Hier einfach ans Ende der Datei gehen und die entsprechenden Zeilen eintragen. Bei mir ist das:

UUID=ECF22843F228147C /media/platte5g/ ntfs defaults 0 0
UUID=246EE7326EE6FC04 /media/platte3/ ntfs defaults 0 0
UUID=4336a5a4-8b03-4447-a51d-7e5512fe647d /media/platte1 ext4 defaults 0 0
UUID=1e75048e-cc1f-4a31-90cf-74b31edccb7d /media/platte2 ext4 defaults 0 0

Achso … das sollte ich näher erklären.

Die UUID und das verwendete Dateisystem läßt sich mit dem Befehl

sudo blkid -o list -w /dev/null

auslesen. Das Ergebniss bei mir sieht so aus:

Den Zielpfad hatten wir ja oben festgelegt und defaul 0 0 ist das was es ist. Die Voreinstellung.

Strg +x und mit Y bestätigen ist die Konfiguration vorgenommen.

sudo mount -all

Mit diesem Befehl werden die Laufwerke im System angemeldet und sind anschließend über die festgelegten Pfade aufrufbar.

Als nächstes müssen wir sicherstellen das alle Laufwerke und Unterordner auf den Laufwerken dem User des NAS gehören und die Schreibberechtigung vorliegt.

sudo chown -cR faulthiel:faulthiel /media/ && sudo chmod -R 777 /media/

Das kann jetzt einige Zeit dauern, zumindestens dann wenn auf den Laufwerken bereits viele Daten vorhanden sind.

Zu letzt installieren wir den SAMBA-Server. Der ermöglicht die Freigabe des NAS im lokalen Netzwerk und kann dann von jedem Rechner verwendet werden.

Dazu erstmal das notwendige Paket installieren

sudo apt install samba

und dann die notwendige Konfiguration vornehmen. Dazu editieren wir die Datei smb.conf.

sudo nano /etc/samba/smb.conf

Am Ende der Datei füge ich

[media]
	path = /media/
	public = yes
	writeable = yes
	guest ok = yes

ein. Also alle Ordner und Dateien unterhalb des Verzeichnisses media sind öffentlich und beschreibbar und können auch von einem Gastnutzer geöffnet werden. Jetzt den Samba-Server neustarten.

sudo systemctl restart smbd.service

Fertig. Der NAS steht bereit.

Nutzung

Natürlich kann man direkt auf der Maschine Dateioperationen durchführen (Dateien verschieben, Ordner anlegen etc.), zum Beispiel mit dem MC.

Wenn man von einem anderen Gerät aus dem Netzwerk (z. B. einem Container) auf das NAS zugreifen möchte, kann man wie folgt vorgehen:

sudo cd /media/media
mount -t cifs //nas.fritz.box/media /media/media -o uid=111,gid=100,rw,user,username=faulthiel

Zur Erklärung:

Wieder wird ein Ordner angelegt auf dem der NAS mappen soll und dann wird das Samba-Laufwerk gemountet.

  • cifs ist das zu verwendene Protokoll. Hier muss ggf. die cifs-utils installiert werden.
sudo apt-get install cifs-utils
  • nas.fritz.box ist die URL in meinem Netzwerk für den NAS und muss ggf. von dir auf deine gegebenheiten angepasst werden.
  • uid und gid ist die User und die Gruppen ID des Nutzers der auf dem entfernen Gerät Zugriff haben soll. Muss also ebenfalls angepasst werden.
  • rw – gibt an das Schreibrechte bestehen
  • user – das eine Useranmeldung gewünscht ist und danach kommt der Benutzername des User auf dem NAS.