Hallo,
habe mal meine Dreambox 820 komlett neu aufgesetzt, daher habe ich mal einige schritte gleich aufgeschrieben
und will hier mal erklären wie Ihr eine NFS Verbindung zu einem NFS-Server aufbauen könnt.
Bitte hier keine Fragen wie man einen NFS-Server einrichtet, dies ist ein anderes Thema!!!!
Wenn die NFS-Server richtig laufen und das Netzwerk in Ordnung ist sollte das hier als NFS-Client hoffentlich reichen)
Diese Art funktioniert "so nur" bei den neueren Boxen mit DreamboxOS als System!
Wichtig:
Bitte entscheidet euch ob Ihr es "so" Händisch machen wollt was definitiv funktioniert
oder per Gui mit dem Netzwerkbrowser (Entweder, Oder bitte nicht beides zusammen)
Ich benutze nie den Netzwerkbrowser und weiß nicht was er installiert, und was er wo um konfiguriert!!!
Beim OE 2.5 gibt es im autofs leider einen Bug siehe hier: [OE2.5] Timeout-Bug in autofs
Wer nicht mit diesem Bug Leben kann, muss sich seine automounts mit systemd in der /etc/fstab machen bzw, den Netzwerkbrowser benutzten
Wer Irgendein Tool zum erstellen benutzt wie den Netzwerkbrowser,
oder einen Mountmanager aus dem Image soll bitte diesen Beitrag hier ignorieren
Wer da was vermischt, kann sich hinterher sein Image neu flashen --- mein 5 Cent dazu
Voraussetzung:
- wissen wie man sich mit seiner Box per Telnet/SSH verbindet
- Box ist im Netzwerk zusammen an einem oder mehrere NFS-Server Verbunden (NAS-Server oder andere Dreambox-Server)
- Box ist Verbunden mit dem Internet
- Wie man Dateien (text) auf der Dreambox erstellt (Unixformat)
Frage:
- Wie richte ich nun die Dreambox als NFS_Client ein?
- Bzw. wie richte ich autofs ein?
Antwort:
Zuerst müssen wir die NFS (autofs) Dienste Installieren und starten, dazu müssen wir uns per Telnet auf die gewünscht Box einloggen
und folgendes über die Konsole installieren und ausführen:
Also nacheinander ab arbeiten:
- opkg update && opkg upgrade
- apt-get update && apt-get -f install
- opkg install nfs-utils (oder, geht beides) -apt-get install nfs-utils
- systemctl enable rpcbind
- systemctl enable autofs.service
- apt-get install nano (einfacher Editor für die Konsole)
Info:
die autofs Dienste können hiermit gesteuert werden:
- systemctl restart autofs.service
- systemctl start autofs.service
- systemctl stop autofs.service
- systemctl status autofs.service
Beispiel das man zum schluss erkennt ob der auto.service auch läuft:
root@dm820:~# systemctl status autofs.service
autofs.service - Automounts filesystems on demand
Loaded: loaded (/lib/systemd/system/autofs.service; enabled)
Active: active (running) since Mon 2016-04-18 23:06:29 CEST; 32min ago
Main PID: 557 (automount)
CGroup: /system.slice/autofs.service
└─557 /usr/sbin/automount --pid-file /run/autofs.pid
In dieser Zeile: Active: active (running)
Sieht man nun schön das die autofs.service funktioniert und betriebsbereit ist!
Der erste Versuch sich mit einem NFS-Server zu verbinden:
Durch die Installation von den "nfs-utils" haben wir nun auch den Befehl "showmount" zur Verfügung.
Hiermit können wir nun über telnet von der Dreambox aus prüfen ob auf unseren NFS-Server
auch NFS. Freigaben vorhanden sind. Dies geschieht mittels diesem Befehl:
showmount -e ipdeinesNAS
Das ganze kann dann in etwa so aussehen:
dm820 login: root
root@dm820:~# showmount -e 192.168.1.11
clnt_create: RPC: Port mapper failure - RPC: Unable to receive
root@dm820:~#
Hier habe ich mit Absicht eine IP-Adresse gewählt wo kein NFS-Server installiert ist,
damit Ihr auch gleich mal eine Fehlermeldung seht
Richtig in meinem Fall wäre:
root@dm820:~# showmount -e 192.168.1.15
Export list for 192.168.1.15:
/media/hdd *
root@dm820:~#
Das wäre der NFS-Server meiner Dreambox 7080, und wie man erkennt würde dort die eingebaute Festplatte "Freigegeben" !
Zum testen meines Beispiels anhand des Verzeichnis "/media/hdd" Sieht der Testbefehl dann so aus:
Sollten hierbei keine Fehlermeldung auftreten wie in meinem Beispiel kann man nun in der Dreambox im Verzeichnis /mnt
den Inhalt der eingebunden Platte/Verzeichnis auslesen.
root@dm820:~#root@dm820:~# ls /mnt
Serien
enigma2_crash_1465506940.log
log
lost+found
mediaportal
movie
root@dm820:~#
Hier erkennbar ein älteres Crashlogfile und das Verzeichnis "movie" worin die TV-Aufnahmen liegen.
Dies ist aber nur bis zum nächsten Neustart der Dreambox im Verzeichnis /mnt zu finden!
Wer hierbei schon Probleme hat liest bitte weiter unten bei den Problemen weiter und Überspringt den nächsten Schritt
bis seine Testverbindung auch wirklich funktioniert...
Hat dies alles geklappt ist die erste Hürde schon überwunden und wir müssen nun nur noch das ganze als Autostart einbinden
autofs (automatisches einbinden) einrichten:
Bootet eure Dreambox nun bitte neu, somit ist der Mount in /mnt wieder verschwunden,
und Ihr könnte testen ob der auto.service auch wirklich wieder mit startet!
root@dm820:~# systemctl status autofs.service
autofs.service - Automounts filesystems on demand
Loaded: loaded (/lib/systemd/system/autofs.service; enabled)
Active: active (running) since Fri 2016-06-10 18:49:33 CEST; 1min 5s ago
Process: 182 ExecStart=/usr/sbin/automount $OPTIONS --pid-file /run/autofs.pid (code=exited, status=0/SUCCESS)
Main PID: 184 (automount)
CGroup: /system.slice/autofs.service
└─184 /usr/sbin/automount --pid-file /run/autofs.pid
Jun 10 18:49:33 dm820 systemd[1]: Started Automounts filesystems on demand.
root@dm820:~#
Alles anzeigen
So der auto.service ist wieder " active (running)" und wir können loslegen mit autofs.
Ich selbst liebe Ordnung/Struktur auch auf der Platte und in Verzeichnissen.
Daher bediene ich mich nicht einfach nur einer "auto.network" oder wie die nun alle benannt werden sondern
ich Unterteile das Ganze in "auto.dreambox" und "auto.nas" usw. Aber das kann jeder machen wie er will
Das bedeutet ich erstelle im Verzeichnis "/etc/auto.master.d" eine Datei mit dem Namen "dreambox.autofs".
Die Datei "dreambox.autofs" hat folgenden einzelne Zeile als Inhalt:
Abgespeichert wird mit den Tasten <strg + O> (Linke Steuerungstaste und großes O Ohhh)
Dann erstellen wir ich im gleichen Verzeichnis "/etc/auto.master.d eine zweite Datei mit dem Namen "auto.dreambox".
Die Datei "auto.dreambox hat folgenden einzelne Zeile als Inhalt:
Abgespeichert wird mit den Tasten <strg + O> (Linke Steuerungstaste und großes O Ohhh)
Besitzt man mehrere Dreamboxen kann es auch so aussehen:
DB7080 -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.15:/media/hdd
DB7020HD -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.14:/media/hdd
Info:
Wie Ihr die beiden Dateien erstellt ist euch überlassen, da es Hier viele Möglichkeiten gibt am sichersten ist es aus der Konsole heraus
oder von einem Linuxrechner aus, damit auch gewährleistet ist das die Datein im Unixformat vorliegen und nicht im Windowsformat!
Ich wähle Diese Art des Automounten weil ich eigentlich ein Fauler Mensch bin und so mir nur das Verzeichnis "/etc/auto.master.d
sichern muss falls ich mal die Box neu einrichte und dann alles wieder gleich am laufen/parat habe
Nach einem Neustart der Box sollte nun auch im Verzeichnis /media das Verzeichnis dreambox enthalten sein wo die eingebunden Dreamboxen zu finden sind.
Hat alles geklappt war es das schon,
gibt es hier Probleme habt Ihr Schreibfehler eingebaut, nicht das Unixformat verwendet oder falsche rechte....
Problemlösung hierbei:
Unixformat nicht eingehalten, kann mann mit dem Befehl: dos2unix a.txt b.txt lösen
root@dm820:~# dos2unix /etc/auto.master.d/dreambox.autofs /etc/auto.master.d/dreambox.autofs
root@dm820:~# dos2unix /etc/auto.master.d/auto.dreambox /etc/auto.master.d/auto.dreambox
Schreibfehler: kann ich nicht beurteilen....
Rechte, probiert es man mit:
root@dm820:~# chmod 644 /etc/auto.master.d/dreambox.autofs
root@dm820:~# chmod 644 /etc/auto.master.d/auto.dreambox
Prüfen ob alle Dienste auch laufen:
root@dm820:~# ps -A|grep "nfs\|rpc"
32 ? 00:00:00 rpciod
37 ? 00:00:00 nfsiod
185 ? 00:00:00 rpcbind
189 ? 00:00:00 rpc.statd
211 ? 00:00:00 nfsd4
212 ? 00:00:00 nfsd4_callbacks
213 ? 00:00:00 nfsd
214 ? 00:00:00 nfsd
215 ? 00:00:00 nfsd
216 ? 00:00:00 nfsd
217 ? 00:00:00 nfsd
218 ? 00:00:00 nfsd
219 ? 00:00:00 nfsd
220 ? 00:00:00 nfsd
222 ? 00:00:00 rpc.mountd
Alles anzeigen
Beispiel-Verbindung zu einem NAS-Server, hier Qnap-TS119 mit der neuen Firmware 4.2.1 und der IP 192.168.1.10:
root@dm820:~# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/homes
/eSATADisk1
/Web
/USBDisk2
/USBDisk1
/Sonstiges
/Recordings
/Public
/Multimedia
/Dreambox
/Download
Alles anzeigen
Zum testen bei meinem Beispiel anhand des Verzeichnis "Multimedia" Sieht der Testbefehl dann so aus:
mount -t nfs 192.168.1.10:/Multimedia /mnt/
Sollten hierbei keine Fehlermeldung auftreten kann man nun in der Dreambox im Verzeichnis /mnt
den Inhalt der eingebunden Platte/Verzeichnis auslesen.
Dies ist aber nur bis zum nächsten Neustart der Dreambox im Verzeichnis /mnt zu finden!
Qnap-Problem: Leider sind die Qnap-Entwickler nicht besonders gut (Meiner Meinung) :-((
hier wird einem auch Verzeichnisse aufgelistet die ich definitv nicht für NFS freigeben habe.
Also bevor Ihr bei einer Qnap verzweifelt versichert euch auch 100% das die gewünschten Verzeichnisse
für NFS auch wirklich frei gegeben sind!
Weiterhin muss bei Verwendung von OE2.5 und einem NAS ggf, noch die NFS-Version mit angegeben werden
Problemlösung wenn Mount nicht klappt:
Mit dieser Variante erkennt man Fehler am besten:
root@dm820:~# mount -v -t nfs 192.168.1.10:/Multimedia /mnt/
mount.nfs: timeout set for Tue Jun 7 21:11:53 2016
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.10,clientaddr=192.168.1.13'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.1.10'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.1.10 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.1.10 prog 100005 vers 3 prot UDP port 30000
Hier erkannt man schön das der NFS-Server keine NFS4 kann und er dann weiter testet mit NFS3
Da keine weiter Meldung kommt hat der Mount auch geklappt.
Wird ein Pfad verwendet der nicht Freigegeben wurde, warum auch immer
sieht das ganze dann schon so aus:
root@dm820:~# mount -f -v -t nfs 192.168.1.10:/Multimedia /mnt/
mount.nfs: timeout set for Tue Jun 7 21:14:57 2016
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.10,clientaddr=192.168.1.13'
root@dm820:~# mount -v -t nfs 192.168.1.10:/Web /mnt/
mount.nfs: timeout set for Tue Jun 7 21:15:59 2016
mount.nfs: trying text-based options 'vers=4,addr=192.168.1.10,clientaddr=192.168.1.13'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.1.10'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.1.10 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.1.10 prog 100005 vers 3 prot UDP port 30000
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 192.168.1.10:/Web
Alles anzeigen
Hier erkennt man das versucht wurde zu Verbinden und zum Schluss bricht das ganze ab
mit der Meldung: access denied by server while mounting 192.168.1.10:/Web
Also Entweder ist wie in diesem Fall /Web nicht freigeben oder es wurde ein Tippfehler gemacht...
(Das als Beispiel der schlechten Qnap-Programmierung)
Allgemeine Fehlermeldungen:
kann man auch erhalten mittels dem Befehl
NAS (Qnap-TS119) als Server eingebunden
Das bedeutet ich erstelle im Verzeichnis "/etc/auto.master.d" eine Datei mit dem Namen "nas.autofs".
Die Datei "nas.autofs" hat folgenden einzelne Zeile als Inhalt:
Dann erstellen wir ich im gleichen Verzeichnis "/etc/auto.master.d eine zweite Datei mit dem Namen "auto.nas".
Die Datei "auto.nas hat folgenden Zeilen als Inhalt:
Qnap-dreambox -fstype=nfs,rw.soft,tcp,retry=0 192.168.1.10:/Dreambox
Qnap-public -fstype=nfs,rw.soft,tcp,retry=0 192.168.1.10:/Public
Qnap-media -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.10:/Multimedia
Qnap-sonstiges -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.10:/Sonstiges
Qnap-esata -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.10:/eSATADisk1
Qnap-usb1 -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.10:/USBDisk1
Qnap-usb2 -fstype=nfs,rw,soft,tcp,retry=0 192.168.1.10:/USBDisk2
Nachtrag: Bei OE2.5 muss ich bei meinem Qnap die NFS-Version mit angeben
Qnap-media -fstype=nfs,vers=3,rw,soft,tcp,retry=0 192.168.1.10:/Multimedia
Ich wähle Diese Art des Automounten weil ich eigentlich ein Fauler Mensch bin und so mir nur das Verzeichnis "/etc/auto.master.d
sichern muss falls ich mal die Box neu einrichte und dann alles wieder gleich am laufen/parat habe
Weiterhin ist für den NAS auf allen Boxen und auch meinen Linuxrechner alle Einträge so immer identisch und Einheitlich
Probleme mit den Verbindungen (Ruckeln, Abrisse usw.)
Ich selbst verwende ein Gigabit LAN mit Netgear-und TPlInk router auf allen habe ich aber entweder OpenWRT oder DD-Wrt als Firmware installiert.
Habe keinerlei Probleme seit Jahren egal mit welcher meiner Boxen.
Kann aus Erfahrung nur soviel berichten das ich bei meiner Qnap schon Probleme hatte was aber immer an der Firmware gelegen hatte.
Mit Fitzboxen kenne ich mich nicht aus da ich keinen habe.
Ob Ihr also nun noch weiter Einsträge benötigt euer Netzwerk auf 100MB drosselt oder rwsize usw. einsetzt, müssen euch andere helfen
Ich brauche dies nicht mit meinen Boxen (DM820, DM7020HD, DM7080, Qnap-TS119) also muss ich hier passen...
Hoffe da euch dieser Beitrag etwas hilft und ein wenig Licht ins Dunkel bringt.
Weiter gute Informationen findet man auch in folgenden Links:
https://wiki.ubuntuusers.de/NFS/
https://wiki.ubuntuusers.de/Autofs/
https://wiki.ubuntuusers.de/mount/
etwas älter:
http://linuxwiki.de/NFS
Und wer dann noch einen NFS-Server auf seiner neueren Dreambox mit DremboxOS (OE2.2) installieren will
wird hier fünfig: DreamboxOS (OE2.2) NFS Verbindung (Server) einrichten [FAQ]