2 Fragen: NFS-Mount und eigenen Shutdown-Befehl

  • Hi
    ich habe 2 Fragen:
    1. NFS-Mount: ich habe einen Zotac-ION2-Netclient im Schlafzimmer - gerade auf yaVDR aufgerüstet (weil ich die Distri wirklich genial finde).
    Dieser muss nicht aufzeichen - ich will aber das Verzeichniss des Haupt-VDRs einbinden um die Aufnahmen dort abzuspielen.
    ein manuelles "mount hdvdr:/video /srv/vdr/video.00" ist da halbwegs passend. Wie binde ich das am besten in die offizielle yaVDR konfiguration ein?
    Geht auch ein einbinden als /srv/vdr/vide0.01? Per Webinterface tut sicht nicht viel wenn ich dort "hdvdr:/video" einbinde - mehr kann man da ja nicht eingeben.
    Oder wie hier in fstab: link


    2. Eigener Shutdown-Befehl
    Ich möchte beim Shutdown einen eigenen Befehl absetzen (groupswrite aus dem EIBD-Umfeld - damit kann ich die Steckdose Zeitverzögert Abschalten).
    Wie und wo Pflege ich den am besten yaVDR-Konform ein?


    Danke im Voraus
    Gruß
    Thorsten

    1. VDR 2.0.3 mit VDPau, yaVDR 0.5 - Celeron 440 - 2 Ghz -
    2. VDR 2.0.3 Zotac ION2 HD-ID11 mit HDTV, Atom D510, yaVDR 0.5, Streamdev-Client
    Homepage: http://www.gehrig.info

  • 1. NFS-Mount: ich habe einen Zotac-ION2-Netclient im Schlafzimmer - gerade auf yaVDR aufgerüstet (weil ich die Distri wirklich genial finde).
    Dieser muss nicht aufzeichen - ich will aber das Verzeichniss des Haupt-VDRs einbinden um die Aufnahmen dort abzuspielen.
    ein manuelles "mount hdvdr:/video /srv/vdr/video.00" ist da halbwegs passend. Wie binde ich das am besten in die offizielle yaVDR konfiguration ein?
    Geht auch ein einbinden als /srv/vdr/vide0.01? Per Webinterface tut sicht nicht viel wenn ich dort "hdvdr:/video" einbinde - mehr kann man da ja nicht eingeben.
    Oder wie hier in fstab: link


    Hast du im WFE auch "Speichern" gedrückt? Dann sollte der Avahi-Mounter das als Unterverzeichnis des eigentlichen VDR-Aufnahmeverzeichnisses mounten (spätestens wenn er neu gestartet wird). Falls auf deinem Haupt-VDR die NFS-Freigaben über Avahi angekündigt werden sollten sie automatisch eingebunden werden (bei einem Rechner mit yaVDR automatisch der Fall), kann aber auch leicht nachgerüstet werden: http://www.yavdr.org/tutorials…-vdr-addon-avahi-mounter/
    /srv/vdr/video.01 geht nicht als mount-Punkt für ein entferntes Aufnahmeverzeichnis, weil der VDR seit jeher nur Aufnahmen berücksichtigt, die in /srv/vdr/video.00 liegen (auch wenn es nur Symlinks sind).
    NFS-Freigaben lassen sich über die fstab nicht ohne weiteres als Haupt-Aufnahmeverzeichnis einbinden, da der VDR schon gestartet sein kann, bevor das Netzwerk verfügbar ist - da muss man dann sein System ein bisschen anpassen.


    2. Eigener Shutdown-Befehl
    Ich möchte beim Shutdown einen eigenen Befehl absetzen (groupswrite aus dem EIBD-Umfeld - damit kann ich die Steckdose Zeitverzögert Abschalten).
    Wie und wo Pflege ich den am besten yaVDR-Konform ein?


    Die Shutdown-Hooks liegen wie von den e-Tobi Paketen gewohnt unter /usr/share/vdr/shutdown-hooks/ und werden beim Auslösen des Herunterfahrens ausgeführt. Am besten das Template für /usr/share/vdr/shutdown-hooks/S99.shutdown durch ein eigenes Template abändern.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • PERFEKT! Danke.
    Der Shutdown-Hook klappt wie er soll (ich musste mir noch die "eibd-pakete" kompilieren - aber das ist nicht VDR-Relevant) - jetzt wird die Steckdose wenige Sekunden nachdem der VDR-Client heruntergefahren ist ausgeschaltet.
    (Der die Dose geht per Tastendruck auch wieder an - der VDR ist auf Autostart konfiguriert und der TV geht bei Spannungswiederkehr auch automatisch an).


    Der NFS-Share wird auch automatisch gemountet - da hatte ich gestern wohl einen Schreibfehler.
    ABER: nach dem Reinmounten des NFS-Shares muss ich manuell die VDR-Aufnahmen neu einlesen (über das Menü).
    Ist das ein Bug - oder warum ist das nicht automatisiert?


    Gruß
    Thorsten

    1. VDR 2.0.3 mit VDPau, yaVDR 0.5 - Celeron 440 - 2 Ghz -
    2. VDR 2.0.3 Zotac ION2 HD-ID11 mit HDTV, Atom D510, yaVDR 0.5, Streamdev-Client
    Homepage: http://www.gehrig.info

  • Gute Frage, das scheint tatsächlich zu fehlen: https://github.com/yavdr/vdr-a…master/avahi-mounter#L297


    Am besten mal als Bug in den Bugtracker schreiben (https://bugs.yavdr.com/projects/avahi-mounter) und hinter der for-Schleife in https://github.com/yavdr/vdr-a…master/avahi-mounter#L288 das try ... except zur Aktualisierung des Aufnahmeverzeichnisses aus https://github.com/yavdr/vdr-a…master/avahi-mounter#L214 als Workaround einbauen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Okay - im Bugtracker steht es schon.
    Der Work-Around

    Code
    except:
                    syslog("Create /srv/vdr/video.00/.update")
                    open("/srv/vdr/video.00/.update", 'a').close()
                    os.chown("/srv/vdr/video.00/.update",vdr)


    soll jetzt wo genau hin? Einfach copy/paste nach 315 (genau vor dem "class Config:" in 316) ?


    Gruß
    T

    1. VDR 2.0.3 mit VDPau, yaVDR 0.5 - Celeron 440 - 2 Ghz -
    2. VDR 2.0.3 Zotac ION2 HD-ID11 mit HDTV, Atom D510, yaVDR 0.5, Streamdev-Client
    Homepage: http://www.gehrig.info

  • Ach ja - noch eine kleinigkeit - keine Ahnung ob man das als Bug oder "unschönheit" Bezeichnen würde.
    Wenn ich den NFS-Share eingebunden habe - kann ich den VDR nicht mehr regulär runterfahren.
    Der LiveGuard bricht den Shutdown ab.
    Sollte man nicht beim Einbinden von NFS-Mounts per Weboberfläche automatisch den LiveGuard für NFS deaktivieren?
    (klar kann ich das auch per Hand machen...)


    Gruß
    Thorsten

    1. VDR 2.0.3 mit VDPau, yaVDR 0.5 - Celeron 440 - 2 Ghz -
    2. VDR 2.0.3 Zotac ION2 HD-ID11 mit HDTV, Atom D510, yaVDR 0.5, Streamdev-Client
    Homepage: http://www.gehrig.info

  • Wenn ich den NFS-Share eingebunden habe - kann ich den VDR nicht mehr regulär runterfahren.
    Der LiveGuard bricht den Shutdown ab.
    Sollte man nicht beim Einbinden von NFS-Mounts per Weboberfläche automatisch den LiveGuard für NFS deaktivieren?
    (klar kann ich das auch per Hand machen...)


    Zeig für den Fall bitte mal die Ausgabe von

    Code
    sudo netstat -t | grep -e "^tcp" | grep -ve "CLOSE_WAIT[ \t]*$" | sed -re "s/ +/ /g" | cut -d " " -f 4


    IMHO darf das Lifeguard-Skript in dem Fall nicht abbrechen, auch wenn du NFS-Freigaben gemountet hast (und bei mir tut es das auch nicht).


    soll jetzt wo genau hin? Einfach copy/paste nach 315 (genau vor dem "class Config:" in 316) ?


    Die Syntax von Python muss man schon beachten. Die __call__ Funktion ab Zeile 287 sollte dann so aussehen (die Leerzeichen am Zeilenanfang sind essentiell, nicht mit Tabs mischen!):

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Moin!


    Nur als Hinweis: "/Recording" gibt's aktuelle nicht mehr (in stable schon noch), also besser "/Recordings" nehmen. Müsste hoffentlich auch schon in stable gehen.
    "/Recording" ist deprecated.


    Lars.

  • Hi
    hier meine Netstat-Infos:


    Code
    root@zotac2:~# netstat -tAktive Internetverbindungen (ohne Server)Proto Recv-Q Send-Q Local Address           Foreign Address         Statetcp        0   9588 localhost:37890         localhost:42098         VERBUNDENtcp        0      0 localhost:42098         localhost:37890         VERBUNDENtcp        0      0 zotac2.gehrig.lan:43277 hdvdr.gehrig.lan:2004   VERBUNDENtcp        0      0 zotac2.gehrig.lan:41575 hdvdr.gehrig.lan:38832  VERBUNDENtcp        0      0 localhost:37890         localhost:42097         VERBUNDENtcp        0      0 zotac2.gehrig.lan:42450 hdvdr.gehrig.lan:36511  VERBUNDENtcp        0    132 zotac2.gehrig.lan:ssh   x201.gehrig.lan:62594   VERBUNDENtcp        0      0 localhost:42097         localhost:37890         VERBUNDEN
    root@zotac2:~# sudo netstat -t | grep -e "^tcp" | grep -ve "CLOSE_WAIT[ \t]*$" | sed -re "s/ +/ /g" | cut -d " " -f 4localhost:37890localhost:42098zotac2.gehrig.lan:43277zotac2.gehrig.lan:41575localhost:37890zotac2.gehrig.lan:42450zotac2.gehrig.lan:sshlocalhost:42097


    was mich wundert: bei diesen Netstat-Verbindungen ist die NFS-Verbindung zum "hdvdr" nicht angegeben - diese ist aber vorhanden:

    Code
    root@zotac2:~# mount/dev/sda1 on / type ext4 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)none on /sys/fs/fuse/connections type fusectl (rw)none on /sys/kernel/debug type debugfs (rw)none on /sys/kernel/security type securityfs (rw)udev on /dev type devtmpfs (rw,mode=0755)devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)none on /run/shm type tmpfs (rw,nosuid,nodev)/srv/vdr/video.00 on /srv/share/vdr type none (rw,bind)rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)nfsd on /proc/fs/nfsd type nfsd (rw)hdvdr:/video on /srv/vdr/video.00/hdvdr.000 type nfs (rw,addr=192.168.0.109)


    Jetzt hab ich gerade den NFS-LiveGuard wieder aktiviert - und die Kiste ist trotzdem sauber runtergefahren. Komisch....


    Ich werde das mal genauer beobachten - und versuchen im Fehlerfall den passenden Netstat zu liefern. Dauert aber da ich erstmal ne Woche im Ausland unterwegs bin - und das "nur" der Schlafzimmer-VDR ist...


    Gruß
    Thorsten

    1. VDR 2.0.3 mit VDPau, yaVDR 0.5 - Celeron 440 - 2 Ghz -
    2. VDR 2.0.3 Zotac ION2 HD-ID11 mit HDTV, Atom D510, yaVDR 0.5, Streamdev-Client
    Homepage: http://www.gehrig.info

  • was mich wundert: bei diesen Netstat-Verbindungen ist die NFS-Verbindung zum "hdvdr" nicht angegeben - diese ist aber vorhanden:


    Die Idee dieser Abfrage (die ja teil des Lifeguard-Skripts ist) ist nur entfernte NFS-Mounts durch andere Rechner zu erkennen und dann einen Shutdown zu verhindern. Man sieht in dem Fall auch eine entsprechende OSD-Meldung.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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