Wie NFS Shares mit avahi-mounter mounten?

  • Hallo,


    Ich habe einen Mediaserver, der verschiedene Shares exportiert und mit avahi auf dem Netz ankündigt. Die Exporte sind von der Form:

    Code
    mediaserverip:/media/Share01
    mediaserverip:/media/Share02


    Wenn ich avahi-discover auf dem yavdr 0.3a starte, so kann ich die Exporte des MediaServers sehen; folglich nehme ich an, dass die Exporte richtig verkündet werden.


    Könnte jemand mir bitte sagen, wie ich den yavdr dazu bringe, die Exporte automatisch zu mounten wenn der MediaServer gerade läuft?


    Insbesondere, könnte jemand mir bitte sagen wie ich festlegen kann wo der yavdr die Shares mounten soll?


    Auf dem yavdr habe ich den vdr-plugin-avahi-mounter laufen und auch schon ein wenig mit dessen Einstellungen gespielt, aber trotz der Anleitung auf der Homepage des yavdrs blicke ich nicht durch.
    http://www.yavdr.org/tutorials/vdr-addon-avahi-mounter/


    Vielen Dank im Voraus für jegliche Hilfe.


    MfG


    Ludi

  • Hallo,


    Ich bin immer noch nicht wirklich weiter mit diesem Problem. :(


    Sollten die Shares nicht automatisch gemounted werden? Falls ja, in welchem Verzeichnis sollten sie erscheinen?


    Da ich schon dabei bin, hätte ich noch eine weitere Frage: Ich habe eine separate Partition mit Audio und Video Dateien im yavdr. Wie mounte ich diese am besten? (Zur Zeit mounte ich sie über fstab auf /media/MediaFiles.)


    MfG


    Ludi

  • Hi,
    da ich das gleiche Problem habe (avahi mount-ed leider nix) habe ich mich mal genauer mit dem avahi-mounter python script beschäftigt, der für die Auswertung und Aktionen (mounten etc) verantwortlich ist.


    Weil sind die die befindlichen Tutorials und die yavdr setups nicht ganz konsistent sind, klappen die mounts wegen falscher Einstellungen in /etc/exporte nicht. Dummerweise werden diese Fehler nicht angezeigt.


    Zwar sind die OS Aufrufe der Klasse mount.create in /usrbin/avahi-mounter mit try

    Code
    try:
            syslog("try 'mount -t nfs %s %s'" % (self.remote, self.local) )
            subprocess.call(['/bin/mount',
             '-t', 'nfs',
             self.remote,
             self.local])
    except OSError as (errno, strerror):
            syslog("unable to mount: %s" % strerror)
            return


    abgefangen, aber unter yavdr030a liefert der Mountbefehl wohl keine Fehlermeldung zurück. Als Folge wird der zweite im Zitat stehende syslog Aufruf nicht durchgeführt und keine Fehler erscheinen im syslog.


    Ich habe den ersten syslog Aufruf hinzugefügt um das gewünschte Kommando im syslog zu protokollieren und dann manuell von der Kommandozeile durchzuführen. Dort zeigten sich dann die Zugriffsprobleme. Bei mir war auf dem 2. Rechner in /etc/exports der Pfad nur für /srv/vdr freigegeben, aber die Aufnahmen sind eben in /srv/vdr/video.00. Ich muß mal die man-pages studieren, aber es sieht so aus als ob Unterverzeichnisse bei den verwendeten Optionen nicht freigegeben werden.


    Nach Änderung der export Datei, einem erneuten exports -a und neustart des avahi-daemon aud der "Spenderseite" funktionierte jetzt der mount wie gewünscht.


    Während der freien Tage versuche ich mal die ganzen Settings zu dokumentieren, die bei out-of-the-box Installationen nötig sind.
    Ich weiß auch nicht, ob man nicht besser ein paar zusätzliche optionen spendieren sollte. Ich mounte nfs immer mit
    -o size=16,wsize=16,intr,soft
    damit 16k Blockungen verwendet werden (Multimedia ist nutzt ja i.d.R. große Dateien) und damit nicht beim Wegfallen des NFS Spenders bei Zugriff auf den Mount der ganze Prozess hängenbleibt. Durch soft und intr wird nur ein unterbrechbarer softmount gemacht.
    Das nur mal so am Rande. Aber ansonsten scheint zeroconf ja eine Menge Vorteile zu haben. Prima daß es gleich mit dabei ist.


    Gruß
    Detlef


    VDR Zooverwalter


    • 1x Ubuntu 12.10 MCP78S [Geforce 8200] Vdr 1.7.22 / 2x Hauppauge WINTV NOVA-T 500 TV Karte PCI intern (=4 DVB-T)

    • 1x Ubuntu 13.04 1xVDR 1.7.28 mit vnsi / DVB-S2 Hauppauge Nova /L4M Twin S2 V 6.2, Unicable

    • 1x yaVDR0.5 testing Acer Revo 3610 DVB-S2, USB TechnoTrend S2-3650 mit CI, HDMI an Philips LCD 47PFL8404 Full HD

    • 1x yaVDR0.5 testing Acer Revo 3610 DVB-S2,Streamdev-client HDMI an Samsung LED 5700-46"

    • 1x yaVDR0.5 testing Asus Eeepc Notebook DVB-S USB TechnoTrend S-2400 HDMI an Samsung LED 5700-40"

    • 1x yavdr05-clone (32bit) Asus Novalite, nur StreamdevClient an No-name TV mit DVI/HDMI

    • [1x yaVDR0.4 MSI MS-7508 K9N2GM, AMD Athlon Dual Core 4850e, Terratec Synergy S2 PCI HD, ALBA TV mit HDMI als Monitor
      sowie weitere Clients

    • XBMC 12.2 via VNSI

    • BoxeeBox

    • AppleTV 2nd (2.2.1 mit Jailbreak und XBMC)

    • miniMac 10.6.6 mit XBMC


  • Wenn der Avahi-Mounter Eure Verzeichnisse einbinden soll müßen diese entsprechend exportiert werden.


    Siehe Codeschnipsel des avahi-mounter


    Dieser ist im Moment nur auf gegenseitiges VDR nutzen ausgelegt ;)


    Ich habe meinen Fileserver dementsprechend angepaßt und er bindet auch dessen Freigaben ein. Siehe auch dazu am VDR /etc/avahi/services die enstprechenden Konfigurationsdateien (die man für sich auch anpassen kann;))

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Hallo,


    Danke für eure Antworten. Leider bin ich noch nicht viel weiter.


    Zitat

    Originally posted by einnordlicht
    Zwar sind die OS Aufrufe der Klasse mount.create in /usrbin/avahi-mounter mit try

    Code
    try:
            syslog("try 'mount -t nfs %s %s'" % (self.remote, self.local) )
            subprocess.call(['/bin/mount',
             '-t', 'nfs',
             self.remote,
             self.local])
    except OSError as (errno, strerror):
            syslog("unable to mount: %s" % strerror)
            return


    Ich habe den ersten syslog Aufruf hinzugefügt um das gewünschte Kommando im syslog zu protokollieren und dann manuell von der Kommandozeile durchzuführen. Dort zeigten sich dann die Zugriffsprobleme.


    Könntest du mir bitte mitteilen wie du den avahi-mounter manuell aufrufst? Ich erhalte folgendes:


    Code
    sudo /usr/bin/avahi-mounter 
    Traceback (most recent call last):
      File "/usr/bin/avahi-mounter", line 315, in <module>
        config = Config()
      File "/usr/bin/avahi-mounter", line 263, in __init__
        self.media = self.config.get('dir','media','/media')
      File "/usr/lib/python2.6/ConfigParser.py", line 540, in get
        raise NoOptionError(option, section)
    ConfigParser.NoOptionError: No option 'media' in section: 'dir'


    Zitat


    Während der freien Tage versuche ich mal die ganzen Settings zu dokumentieren, die bei out-of-the-box Installationen nötig sind.


    Vielen Dank; das würde mir sehr weiterhelfen.


    Zitat


    Ich weiß auch nicht, ob man nicht besser ein paar zusätzliche optionen spendieren sollte. Ich mounte nfs immer mit
    -o size=16,wsize=16,intr,soft
    damit 16k Blockungen verwendet werden (Multimedia ist nutzt ja i.d.R. große Dateien) und damit nicht beim Wegfallen des NFS Spenders bei Zugriff auf den Mount der ganze Prozess hängenbleibt. Durch soft und intr wird nur ein unterbrechbarer softmount gemacht.
    Das nur mal so am Rande. Aber ansonsten scheint zeroconf ja eine Menge Vorteile zu haben. Prima daß es gleich mit dabei ist.


    Wo müssen die Optionen denn hinkommen? Ich dachte der Mount würde abeim Klienten automatisch erfolgen!?


    Zitat

    Originally posted by utiltiy
    Wenn der Avahi-Mounter Eure Verzeichnisse einbinden soll müßen diese entsprechend exportiert werden.


    Ich habe meinen Fileserver dementsprechend angepaßt und er bindet auch dessen Freigaben ein. Siehe auch dazu am VDR /etc/avahi/services die enstprechenden Konfigurationsdateien (die man für sich auch anpassen kann;))


    Könntest du mir bitte ein Beispiel geben wie eine Exportzeile aussehen muss, damit es funktioniert?


    Oder könnte ich alternative den Codeblock einfach mit meinen Exports (/media/Share1 und /media/Share2) erweitern? Zum Beispiel so:


    Würde das genügen oder müsste ich in diesem Fall noch anderswo Veränderungen durchführen?


    MfG

  • Hi,


    na da fehlt wohl die config in /var/lib/vdr/.avahi-mounter


    ConfigParser.NoOptionError: No option 'media' in section: 'dir'


    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • Zitat

    Originally posted by 9000H
    da fehlt wohl die config in /var/lib/vdr/.avahi-mounter


    Danke; das hat mir etwas weitergeholfen. Ich habe media=/media unter section [dir] in .avahi-mounter beigefügt.


    Der avahi-mounter läuft jetzt; es wird aber immer noch nichts gemounted. Also habe ich ein -v beim Mountbefehl im avahi-mounter programm hinzugefügt und erhalte folgendes in den /var/log/messages:



    Und im Terminal, wo ich den avahi-mounter aufrufe erhalte ich:

    Code
    sudo /usr/bin/avahi-mounter 
    mount.nfs: timeout set for Fri Mar  4 18:00:13 2011
    mount.nfs: text-based options: 'addr=67.215.65.132'
    mount.nfs: mount(2): Input/output error
    mount.nfs: mount system call failed
    mount.nfs: timeout set for Fri Mar  4 18:01:13 2011
    mount.nfs: text-based options: 'addr=67.215.65.132'
    mount.nfs: mount(2): Input/output error
    mount.nfs: mount system call failed


    Woher kommt die IP 67.215.65.132? Müsste da nicht die IP des NFS-Servers stehen?


    MfG

  • Sorry, Weiberfastnacht hat etwas länger gedauert und den Freitag brauchte ich zum recovern...


    Also, hier beispielsweise die /etc/exports eines gemounteten 2. yaVDR Systems namens revo

    Code
    /srv/vdr/video.00      *(rw,fsid=0,sync,no_subtree_check,all_squash,anongid=109,anonuid=107)

    Damit wird das Aufnahmeverzeichnis dieses Servers freigegeben. Ein Aufruf von

    Code
    sudo exportsfs -a


    macht diesen Export aktiv, wobei uid und group id des vdr users 107/109 sind.
    Auf dem Server, auf dem mit avahi-mounter gemounted werden soll, lassen sich die Exporte prüfen

    Code
    sudo showmount -e revo


    Der avihi-mounter ist ein Python script und wird über

    Code
    sudo /usr/bin/avahi-mounter

    aufgerufen. Mit der oben angebenen Änderung schreibt ein Aufruf eben den Mountbefehl in den syslog, wobei das mount Ziel automatisch erzeugt wurde (hier /srv/vdr/video.00/revo). Manuell aufgerufen sollte dieser Mount-Befehl das Verzeichnis entweder mounten oder zumindest eine Fehlermeldung liefern.
    Die Mountoptionen können entweder in das avihi-mounter Script auf dem Client eingebaut werden eingebaut werden, da sie clientspezifisch sind. Allerdings gibt es beim nächsten Update ggf. Probleme. Alternativ können sie auch in der /etc/fstab auf dem Klient eingebaut werden, aber dann muß diese Datei konsistent zu den avahi setup in /etc/defaults gehalten werden. Damit verliert man etwas die Flexibilität, die man gerade mit avahi-mounter gewonnen hat...
    Gruss
    Detlef


    VDR Zooverwalter


    • 1x Ubuntu 12.10 MCP78S [Geforce 8200] Vdr 1.7.22 / 2x Hauppauge WINTV NOVA-T 500 TV Karte PCI intern (=4 DVB-T)

    • 1x Ubuntu 13.04 1xVDR 1.7.28 mit vnsi / DVB-S2 Hauppauge Nova /L4M Twin S2 V 6.2, Unicable

    • 1x yaVDR0.5 testing Acer Revo 3610 DVB-S2, USB TechnoTrend S2-3650 mit CI, HDMI an Philips LCD 47PFL8404 Full HD

    • 1x yaVDR0.5 testing Acer Revo 3610 DVB-S2,Streamdev-client HDMI an Samsung LED 5700-46"

    • 1x yaVDR0.5 testing Asus Eeepc Notebook DVB-S USB TechnoTrend S-2400 HDMI an Samsung LED 5700-40"

    • 1x yavdr05-clone (32bit) Asus Novalite, nur StreamdevClient an No-name TV mit DVI/HDMI

    • [1x yaVDR0.4 MSI MS-7508 K9N2GM, AMD Athlon Dual Core 4850e, Terratec Synergy S2 PCI HD, ALBA TV mit HDMI als Monitor
      sowie weitere Clients

    • XBMC 12.2 via VNSI

    • BoxeeBox

    • AppleTV 2nd (2.2.1 mit Jailbreak und XBMC)

    • miniMac 10.6.6 mit XBMC


    Einmal editiert, zuletzt von einnordlicht ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!