NFS mit XBMC/Kodi (rasbpmc/OSMC) und WD My Cloud

Das Problem: XBMC soll via NFS Medien von einer WD My Cloud beziehen, aber es werden im XBMC Quell-Browser unterhalb des Exportknotens (/nfs) keine Ordner angezeigt.

Ich habe lange gegoogelt und rumprobiert und musste letztendlich feststellen, dass dies ein Problem von XBMC ist, dass anscheinend Probleme mit den ACL’s hat, die die WD My Cloud für jeden Share konfiguriert. Bei dem Vorgänger-NAS WD My Book Live ging das z.B. noch etwas problemloser.

Die Lösung ist: Man muss den NFS-Share auf dem XBMC-Client manuell mounten, in meinem Fall ist das ein RaspberryPI mit installiertem rasbpmc, deswegen beschreibe ich genau diesen Fall hier, aber bei anderen Linux-basierten XBMC-Clienten dürfte es ähnlich ablaufen.


Und so geht’s

  1. Verbindet Euch mit eurem RaspberryPI via SSH wie hier beschrieben: http://www.raspbmc.com/wiki/user/using-ssh/
  2. Erstellt einen leeren Ordner zum mounten des NFS-Share, z.B. so:
     sudo mkdir /mnt/wd-my-cloud

    (Den Namen „wd-my-cloud“ müsst ihr natürlich nicht nehmen, denkt Euch was aus)

  3. Öffnet die Datei /etc/fstab mit einem Texteditor, z.B. per
    sudo nano /etc/fstab

    und fügt ans Ende folgenden Eintrag hinzu:

    192.168.0.10:/nfs /mnt/wd-my-cloud        nfs     soft,intr,noexec,rsize=65536,timeo=150  0       0

    Als IP-Adresse setzt ihr vorne die IP der WD My Cloud ein.
    In der zweiten Spalte tragt ihr statt „wd-my-cloud“ den Namen bzw. den Ordner ein, den ihr in Punkt 2 gewählt habt.
    Eine mögliche gute Alternative wäre z.B. auch: /media/
    Die anderen Optionen könnt ihr nach Bedarf anpassen oder 1:1 so übernehmen.
    Achtung: Für OSMC User hat sich hier was geändert (Update siehe unten)!

  4. Rebootet euren XBMC-Client, z.B. über
    sudo reboot
  5. Wenn Euer XBMC wieder oben ist, geht ihr einfach im Quell-Browser auf „Root Filesystem“ und navigiert zu dem Ordner, den ihr in Punkt 2 angegeben habt. Ihr solltet nun alle Shares sehen, die auf der WD My Cloud konfiguriert sind, und dabei diejenigen aufrufen können, die als Public Share konfiguriert sind. Wenn Euch das genügt, seid ihr an dieser Stelle fertig. Falls nicht, könnt ihr weiter lesen, wie man den NFS-Zugriff auch auf private Shares über das GUI der WD My Cloud steuerbar machen kann.


NFS-Zugriff auf Private Shares und Steuerbarkeit per GUI

  1. Öffnet das Web-Interface Eurer WD My Cloud und legt einen neuen Benutzer an. Dieser Benutzer wird dann fortan für alle NFS-Verbindungen verwendet werden, nennt ihn also entsprechend passend, z.B. einfach „nfs“. Ein Kennwort könnt ihr vergeben, müsst ihr aber nicht.
    WD My Cloud: Neuer Benutzer
  2. Gewährt dem neuen Benutzer dann und in Zukunft entsprechende Zugriffsrechte auf Eure privaten Shares, die über NFS erreichbar sein sollen, wie gehabt:
    WD My Cloud: Share Access
  3. Falls nicht schon geschehen, müsst ihr als nächstes den SSH-Zugriff auf die WD My Cloud aktivieren. Ihr findet die entsprechende Option im Interface unter Einstellungen / Netzwerk:
    WD My Cloud: Enable SSH
  4. Verbindet Euch nun per SSH zu Eurer WD My Cloud, z.B. mit PuTTY, unter Verwendung des Benutzernamens root. Das Standard-Passwort nach der ersten Aktivierung ist: welc0me
  5. Auf der Shell der WD My Cloud angekommen müsst ihr zunächst herausfinden, welche uid der neue Benutzer bekommen hat. Führt dazu auf der Konsole
    cat /etc/passwd

    aus und schaut nach der Zeile, die mit dem Benutzernamen beginnt, den ihr in Punkt 1 angelegt habt. Dies müsste die Letzte sein, die dann z.B. so aussieht:

    nfs:x:1002:1000:nfs,,,:/shares:/bin/sh

    Die Zahl im 3. Segment, hier 1002, ist die, die ihr Euch merken müsst.

  6. Als nächstes bearbeitet ihr die Datei, in der die NFS-Exportknoten definiert werden, und zwar über den Befehl
    nano /etc/exports

    In der Datei dupliziert ihr die letzte Zeile, ersetzt die Zahl 65534 hinter „anonuid=“ mit der, die ihr in Punkt 5 ermittelt habt, und kommentiert die Originalzeile mit einer Raute aus. Am Ende sollte das Ganze ungefährt so aussehen:

    # Use nobody user (uid 65534) for nfs guest.  This is restricted from private
    # shares by ACLs.
    #
    #/nfs *(rw,all_squash,async,no_subtree_check,insecure,crossmnt,anonuid=65534,anongid=1000)
    /nfs *(rw,all_squash,async,no_subtree_check,insecure,crossmnt,anonuid=1002,anongid=1000)

    Speichert die geänderte Datei dann mit STRG+X, einmal auf „Y“ und dann (ENTER).

  7. Diese neue Exportkonfiguration müsst ihr dann noch mit folgendem Befehl anwenden:
    exportfs -rav

Das wars. Auf dem XBMC-Clienten müsst ihr dazu nichts ändern. Alle NFS-Verbindungen laufen nun unter dem User, den ihr in Punkt 1 angelegt habt. Das Kennwort wird im NFS-Modus nicht abgefragt. Um auf Nummer sicher zu gehen, könnt ihr auch Euren XBMC-Clienten nochmal neu starten.

Firmware-Update

Wenn ihr ein Firmware-Update auf der WD My Cloud durchführt, gehen die NFS-Einstellungen leider verloren und mir ist bis dato kein Weg bekannt, wie die Änderungen ein solches Update überdauern kann. Wenn ihr also Eure Firmware aktualisiert habt, müsst ihr diese Anleitung an Punkt 5 wiederholen, die uid des NFS Users herausfinden und in die /etc/exports übernehmen.


Update 25.02.2015 (Kodi/OSMC)

Ich habe gestern meinen Raspberry PI 2 bekommen und den Nachfolger von raspbmc, OSMC in der Alpha 4 installiert. Hier hat sich herausgestellt dass der NFS-Share nicht automatisch beim Hochfahren gemountet wurde, sodaß die Zeile in der /etc/fstab/ aus Punkt 3 in der obigen Anleitung etwas modifiziert verwendet werden muss:

192.168.0.10:/nfs /mnt/wd-my-cloud        nfs     soft,intr,noexec,rsize=65536,timeo=150,nolock,x-systemd.automount  0       0

Die relevanten Einträge sind fett markiert. Damit klappts dann auch wieder mit dem neuen Mediencenter 😉

Ende

Ich hoffe dieses kleine Tutorial hat Euch gefallen und ihr könnt den wohl besten Mediaplayer der Welt nun endlich wieder performant auch mit Eurer neuen WD My Cloud verbinden.

Viel Spaß wünscht Euch,
Euer Chris

Haftungsausschluss

Bei den in diesem Artikel genannten Tipps und aufgeführten Programmschnipseln handelt es sich ausschließlich um unverbindliche Ratschläge. Für entstandene Schäden, die auf die Anwendung dieser Ratschläge zurückzuführen sind, übernehme ich keinerlei Haftung. Wenden Sie diese Ratschläge nicht an, wenn Sie damit nicht einverstanden sind.

Creative Commons Lizenzvertrag
Dieser Artikel Inhalt steht unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

14 Gedanken zu „NFS mit XBMC/Kodi (rasbpmc/OSMC) und WD My Cloud

  1. Chris

    hallo,

    die console in putty spuckt mir leider die fehlermeldung aus wenn ich auf dem raspberry pi bin, dass es sich um ein read only system handelt.
    ich kann somit z.b. die fstab nicht speichern… hast du einen lösungsansatz für mich?

    Antworten
  2. Stephan

    Hallo Christian,
    danke für die sehr gute Anleitung, mit der ein Linux-Neuling wie ich gut zurecht gekommen ist. Ich habe auf diese Weise die Alpha4-Version von OSMC auf einem Raspi 2 per NFS an die WD MyCloud angebunden.
    Heute habe ich den RC von OSMC installiert und habe Deiner Anleitung folgend wieder die NFS-Shares in OSMC gemountet. Leider ist das Ergebnis unbefriedigend. Beim Browsen zu den NFS-Shares wird zwar das gemountete Verzeichnis gefunden, es dauert aber ewig („Beschäftigt, bitte warten“) Beim Versuch, auf dieses Verzeichnis und die darunter liegenden Shares zuzugreifen, hängt OSMC endgültig bei „Beschäftigt“ fest und kann nur hoch hart ausgeschaltet werden. Kannst Du da helfen?
    Herzlichen Dank
    und freundliche Grüße
    Stephan

    Antworten
    1. Christian Beitragsautor

      Hi Stephan,

      bedauerlicherweise lief OSMC bei mir so instabil dass ich inzwischen zu OpenELEC umgestiegen bin und dort dank der ausreichenden Power des RPi2 nun auch einfach Samba-Shares statt NFS verwende. Das klappt deutlich reibungsloser.

      Ich habe daher leider aktuell keine Möglichkeit den RC von OSMC auszuprobieren. Solltest du aber eine Lösung finden würde ich mich über Mitteilung freuen, dann nehme ich sie in den Artikel mit auf.

      LG,
      Chris

      Antworten
  3. Felix

    Hallo,

    vielen Dank für die Erklärung. Bei nano /etc/exports/ ist ein / zu viel am Ende. Wenn man den Code so kopiert findet man eine leere Datei. Da ich neu in dem Thema bin, habe ich eine Weile gegrübelt, dass man so nicht auf die Datei kommt…

    Bei Kodie für FireTV ist es wichtig die genaue Ordneradresse aufzunehmen. Wer nur auf nfs geht, wird kein Erfolg haben. Das hat mich auch sehr lange beschäftig. Sprich, korrekte Adresse ist: nfs://ip-Adresse/nfs/ordner. Bei Unterordnern entsprechend weiterruntergebrochen…

    Grüße
    Felix

    Antworten
  4. Merlin

    Hallo,
    super erklaert – ich habe das ein bisschen abgewandelt, um so mit meinem Raspberry Pi bzw dem darauf laufenden Bittorrent Sync bequem auf die WD Festplatte zugreifen zu koennen.

    Da ich aber in einer WG wohne und mir so das Internet/den Router teile, wollte ich fragen, ob man hier irgendwo eine Passwortabfrage einbauen kann?

    Danke schonmal

    Antworten
    1. Christian Beitragsautor

      Hi,

      also im XBMC/Kodi kann man ja einzelne Quellen mit PIN-Abfrage versehen indem man den Master-Modus aktiviert, oder man arbeitet gleich mit verschiedenen Profilen inkl. Login dann sind die Shares zumindest Clientseitig nicht offen.

      NFS selbst ist leider immer ohne Login. Es zählt hier immer die uid des Benutzers, der auf die Shares zugreifen will. Was du machen könntest ist die uid des XBMC/Kodi und des NFS-Users synchron auf einen beliebigen Wert ändern und auf der Cloud die anonuid-Option ganz rausnehmen. Dann sind zumindest anonyme Zugriffe direkt auf NFS erstmal geblockt. Vielleicht kann man zusätzlich die IP des Mediaplayers für den Dienst auf der WD My Cloud whitelisten.

      Sind erstmal nur Ideen aber vvl. helfen sie dir weiter.

      LG,
      Chris

      Antworten
  5. Stefan Dietrich

    Mit Kodi Helix kann man nun auch die NFS auf der Amazon Fire TV anbinden.
    Ihr müsst lediglich nur add /nfs/Foldername *(rw,all_squash,async,no_subtree_check,insecure,crossmnt,anonuid=65534,anongid=1000)
    in die /etc/exports eintragen. Solltet ihr mehrere Ordner haben braucht ihr für jeden Ordner einen separaten Eintrag.

    Nun habe ich auch keine Probleme mehr beim abspielen von 1080p Filmen. 🙂

    Grüße

    Antworten
  6. Karsten

    hmh guter guide sehr verständlich erklärt ! aber habe trotz dem noch ein Problem mir zeigt er im xbmc zwar die Ordner an nur steht dort überall 0 B hinter hast du eine ahnung woran das liegen kann ?

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert