Lifeguard ignoriert mount

  • Hallo zusammen,


    ich habe auf meinem VDR-Server bei den Lifeguard Überwachungspunkten NFS angehakt. Und auch in der lifeguard.conf steht:

    Code
    cmd 	apt         	Apt\ is\ still\ running.
    cmd 	apt-get     	apt-get\ is\ still\ running.
    tcp 	nfs         	NFS\ Mount\ is\ still\ active
    cmd 	kodi.bin    	Kodi\ is\ still\ running.
    
    
    # do not shutdown if host active
    host HTPC-WZ
    host HTPC-SZ


    Somit dürfte sich der Server nicht abschalten, solange ein "mount" auf eine seiner Freigaben existiert. Ich missbrauche den Rechner auch noch als "Media-&NFS-Server" und mounte einige seiner Freigaben auf anderen Ubuntu Desktop Rechnern. Leider ignoriert lifeguad die o.a. Einstellung. Trackt lifeguard "alle mounts" auf einem System oder nur die mounts auf Freigaben des yaVDR ? Wie kann ich das shutdown verhindern ?

  • Was liefert denn

    Code
    ss -t -o state established | tail -n +2 | awk '{print $3}'

    wenn die Shares von einem anderen Rechner gemountet sind?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Oder läufst du in das Problem, dass der Server herunterfahren kann, weil autofs die Freigaben bei Nichtgebrauch nach einer Minute aushängt (der Timeout lässt sich in /etc/auto.master.d/avahi-linker.autofs einstellen)?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Oder läufst du in das Problem, dass der Server herunterfahren kann, weil autofs die Freigaben bei Nichtgebrauch nach einer Minute aushängt (der Timeout lässt sich in /etc/auto.master.d/avahi-linker.autofs einstellen)?

    Ich habe an den Default-Einstellungen nichts geändert ...


    Was liefert denn

    Code
    ss -t -o state established | tail -n +2 | awk '{print $3}'


    wenn die Shares von einem anderen Rechner gemountet sind?

    So, wenn ich nur eine ssh-Verbindung offen habe

    Code
    mod@Server:~$ ss -t -o state established | tail -n +2 | awk '{print $3}'
    192.168.1.51:2004
    127.0.0.1:39539
    192.168.1.51:51693
    192.168.1.51:43130
    192.168.1.51:57896
    127.0.0.1:10011
    192.168.1.51:2004
    192.168.1.51:ssh


    So, wenn ich zusätzlich eine Datei die am Server liegt mit einem Desktopclient öffne:


    Der Server hat die IP 192.168.1.51 (logo)

  • Nutzt du die insecure-Option in der /etc/exports (z.B. für OS X Clients)? Dann ist es klar, dass der Dienst nicht als NFS gelistet wird, weil über die /etc/services nur der Port 2049 auf den Dienstnamen nfs gemappt wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • um das nun richtig zu verstehen: ich verwende die insecure-Option nicht. Default ist "secure". Nur sagt das WIKI: secure: Ports oberhalb 1024 nicht verwenden, insecure:ports auch über 1024 verwenden. Um Port 2049 zu mappen müsste ich doch insecure verwenden, da dies größer als 1024 ist. Bei euren exports-Eintragungen verwendet ihr auch nicht insecure (und ich habe meine Einträge sozusagen "abgekupfert").
    Steh' ich komplett auf der Leitung ?

  • Code
    192.168.1.51:nfs

    Ups, da hatte ich gerade Tomaten auf den Augen, die Verbindung auf dem Port wird ja korrekt als nfs gelistet :O
    Dann ist mir nicht klar, weshalb das lifeguard-Addon das nicht erwischen sollte - die Abfrage in der Zeile 63 der /usr/share/vdr/shutdown-hooks/S91.lifeguard macht in dem Fall ja nichts anderes als die Ausgabe des oben angegebenen Befehls nach dem Wort "nfs" zu durchsuchen und dann einen Abbruch zu erzeugen, wenn der mindestens einmal gefunden wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ok, danke, ist mal ein Ansatz dem ich folgen werde


    Edit: @Seahawk: du hattest keine Tomaten auf den Augen. Wenn keine Datei am Clientdesktop die am Server liegt geöffnet ist (siehe erstes Listing hier) tritt die Zeichenkette "nfs" nicht auf. Wenn eine Datei geöffnet ist (zweites Listing) ist "nfs" zu finden. Das heißt in anderen Worten: wenn ich eine Datei die am Server liegt bearbeite (offen habe), dann erkennt das der Server und verschiebt das poweroff. Wenn ich aber lediglich ein "mount" von meinem Client-Desktop auf den Server habe und keine dort liegende Datei offen ist, wird das mit dieser Methode nicht erkannt und der Server geht schlafen (mit allen unguten Konsequenzen für den Desktoprechner).
    Gibt's da keine andere Überprüfungsmöglichkeit ? Ein Work-around wäre, die betroffenen Desktoprechner in der lifeguard.conf anzugeben. Damit kann ich mir aber die optionen Samba und NFS im WFE komplett ersparen.


    Oder hab ich einen Denkfehler ?

    Einmal editiert, zuletzt von rallye ()

  • evtl. prüfen ob bestimmte Rechner / IPs zu erreichen sind, wenn ja nicht abbrechen ??

  • Wenn ich aber lediglich ein "mount" von meinem Client-Desktop auf den Server habe und keine dort liegende Datei offen ist, wird das mit dieser Methode nicht erkannt

    Was nutzt du denn auf dem Client-Desktop, um die NFS-Freigabe zu mounten? Welches Betriebssystem kommt da zum Einsatz?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ein ganz normales Ubuntu 14.10 bzw. 15.10

  • Und wie mountest du die Freigabe? fstab, autofs, andere Methode?

    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!