Fragen zu Avahi, mhddfs und Client/Server-Aufnahmen...

  • Moin zusammen,


    am Wochenende habe ich es endlich geschafft, den ersten Teil meiner VDR-Client-/Server-Infrastruktur aufzubauen. Mein alter Wohnzimmer-VDR wurde in den HWR direkt an den Multischalter gehängt, hat jetzt vier Tuner und wird zum Headless-VDR. Im WoZi läuft der erste Client, eine ZBox ID86. Später wird es sicher noch weitere Clients geben, die auch so angebunden werden sollen. Die beiden aktuellen Systeme laufen mit yaVDR 0.5, und die Einrichtung war durch Infos hier im Forum mehr oder weniger reibungslos zu bewältigen. Auf beiden Rechner läuft der Avahi-service, und die Aufnahme-Verzeichnisse tauchen auch beim jeweils anderen System als Unterverzeichnis im Aufnahmeverzeichnis auf.


    Jetzt habe ich folgende Fragen dazu:

    • Eigentlich soll der Client gar nicht selbst aufnehmen und es sollte auch eher nicht vorkommen, dass lokal Timer erstellt werden. Falls doch mal eine Direktaufnahme o.ä. gestartet wird, dann soll das gleich aufs Server-Verzeichnis gehen. Meiner Meinung nach muss also das Client-Verzeichnis gar nicht per Avahi rausgegeben werden. Ich habe dazu die entsprechende Option in der avahi.conf gesetzt. Spricht irgendetwas erfahrungsmäßig dagegen, das so zu tun?
    • Reicht es dann nicht auch aus, ohne Avahi einfach auf dem Client den NFS-Export zu mounten? Dann könnte ich auch direkt ins Aufnahmeverzeichnis mounten und müsste auf dem Client nicht erst den Unterordner öffnen.

    Und nun kommt noch das mhddfs-Thema dazu: Wenn ich das richtig verstehe, ist es so, dass über Avahi bei yaVDR die mhddfs-Freigabe /srv/share/video verteilt wird. Bei meinem Server habe ich drei Festplatten, die unter /srv/vdr/video.00 bis .02 eingehängt sind. Diese werden von mhddfs zu dem einen vorhin genannten Share zusammengebunden. Wenn der (Server-)VDR eine Aufnahme macht, dann wird unter /srv/vdr/video.00 die Meta-Information (info, index usw.) abgelegt und die TS-Datei kommt in die gleiche Struktur in eins der drei Verzeichnisse, abhängig davon, wo gerade am meisten Platz ist.


    Würde der Client jetzt eine Aufnahme ins gemountete Server-Verzeichnis machen wollen, dann würde die ja in das mhddfs-Share geschrieben. Bei mhddfs entscheidet aber das Betriebssystem und nicht der VDR, wie die Aufnahme verteilt wird. Der Client-VDR weiß ja gar nichts von den drei Verzeichnissen, sondern er sieht nur das eine. Ist denn dann sichergestellt, dass diese Aufnahme auch so "verteilt wird" wie oben beschrieben? Oder kann es sein, dass dann mal die Meta-Daten in video.02 landen können und die TS-Datei in video.00?


    Wäre es in dem Zusammenhang evtl. besser, die drei Aufnahme-Verzeichnisse vom Server einzeln zu exportieren und in der richtigen Reihenfolge einzeln auf dem Client zu mounten? Oder mache ich mir da zu viele Gedanken?


    Kann mich da mal jemand aufschlauen? Danke...


    VG, Nix

    • Server: Gigabyte H67-Board, i3-2120, 8GB Ram, 12 TB Video-Part., ca. 5000 Aufnahmen, 5x DVB-S (2x Cine S2, 1x USB), easyVDR 2.0 headless

    • WoZi-Client: Zotac ZBox ID86, Hama-MCE mit Harmony, keine Tuner, reiner Streaming-Client, easyVDR 2.0

    • zur Zeit wegen Pay-TV-Problematik leider nur E2-Infrastruktur

  • Der Avahi-Mounter ist nicht dafür gedacht das Aufnahmeverzeichnis des VDR direkt zu mounten, sondern soll den einzelnen yaVDRs ermöglichen sich gegenseitig die Aufnahmen zur Verfügung zu stellen ohne, dass man dafür extra etwas konfigurieren muss. mhddfs verteilt neue Dateien nicht so wie es der VDR erwartet und hat mitunter Performance-Probleme.


    Ich denke der bessere Ansatz für die von dir beschriebene Konstellation ist die einzelnen Videoverzeichnisse freizugeben und am Client zu mounten, bevor der VDR startet (der Client muss dann beim Start ggf. den Server wecken, wenn er noch nicht läuft). Die Herausforderung dabei ist, das mit Upstart umzusetzen...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi Seahawk1986,


    Danke schonmal für die Antwort. Ich frage mich, ob man nicht auch bei meiner Konfiguration die Vorteile von avahi und autofs trotzdem nutzen könnte? Indem ich die drei Video-Verzeichnisse exportiere und auf dem Client per autofs bzw. avahi-mounter auch wieder mounte? Am Ende bekommt man dann eine Art Stern-Infrastruktur mit dem Server als zentrales Element und alle Clients mounten vom Server. Das wäre dann das Gegenstück zu der Ring-Infrastruktur, die bei yaVDR momentan den Standard darstellt?


    VG, Nix

    • Server: Gigabyte H67-Board, i3-2120, 8GB Ram, 12 TB Video-Part., ca. 5000 Aufnahmen, 5x DVB-S (2x Cine S2, 1x USB), easyVDR 2.0 headless

    • WoZi-Client: Zotac ZBox ID86, Hama-MCE mit Harmony, keine Tuner, reiner Streaming-Client, easyVDR 2.0

    • zur Zeit wegen Pay-TV-Problematik leider nur E2-Infrastruktur

    Einmal editiert, zuletzt von Nix ()

  • Also mhddfs packt die Platten der Reihe nach voll. Also erst die erste, wenn voll dann die nächste etc. Normalerweise landen so die Daten einer Aufnahme immer auf der selben Platte, wenn genug Platz vorhanden ist. Funktioniert auch soweit gut (bei mir mit 4 Platten). Performance ist wohl schlechter, aber auch mit mehreren Aufnahmen parallel ist das immer noch mehr als ausreichend schnell. Einziher Haken. Wenn ich eine Aufnahmen lösche, kommt es zu kurzen Bildstörungen im VDR (die dann leider auch in der Aufnahmen sind). Ursache ist mir noch nicht ganz klar, hängt aber vielleicht mit dem MHDDFS und den USB-DVB-S2 zusammen, die ich verwende? Alternativ zu MHDDFS gäbe es auch noch UnionFS oder AUFS (advanced union FS), das man wohl vergleichbar zu MHDDFS einrichten kann. Es ist allerdings komplexer und kann auch mehr als MHDDFS. Aber da es wohl kernel-module gibt, soll die performance besser sein als bei MHDDFS. Habs noch nicht getestet. MHDDFS läuft wie gesagt...

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 2x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), System Ubuntu 18.4 / YaVDR ansible headless
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

    Einmal editiert, zuletzt von Negge ()

  • Zumindest das Avahi-Publishing des Clients habe ich abschalten können, das ist schon mal OK. Die Geschichte mit Upstart und der direkten NFS-Freigabe habe ich noch nicht durchdrungen, da werde ich am WE mal drüber grübeln. Dann werde ich mir auch mal die anderen "Filesystems" ansehen.


    VG, Nix

    • Server: Gigabyte H67-Board, i3-2120, 8GB Ram, 12 TB Video-Part., ca. 5000 Aufnahmen, 5x DVB-S (2x Cine S2, 1x USB), easyVDR 2.0 headless

    • WoZi-Client: Zotac ZBox ID86, Hama-MCE mit Harmony, keine Tuner, reiner Streaming-Client, easyVDR 2.0

    • zur Zeit wegen Pay-TV-Problematik leider nur E2-Infrastruktur

  • Moin zusammen,


    So, habe etwas weiter gebastelt. Ich habe auf dem Server meine drei Video-Platten in die /etc/exports eingetragen und den Eintrag für den Export vom mhddfs-Verzeichnis rausgenommen. Auf dem Client mounte ich die drei NFS-Exporte vom Server per /etc/fstab als /srv/vdr/video.00 bis .02 und damit die auch da sind, bevor der VDR startet, habe ich noch ein sleep mit ein paar Sekunden in das Upstart-Script zum VDR-Start eingetragen. Ich musste allerdings Avahi auf dem Client abschalten bzw. habe ich im Avahi-mounter-Script "enabled=0" eingetragen, weil das mir irgendwie auf dem Client die erste Video-Platte dreimal gemounted hat (und ich habe keine Ahnung warum), so daß die Symlinks auf dem Client nicht mehr funktioniert haben.


    Solange der Server schon wach ist wenn der Client startet funktioniert das Ganze auch gut. Es kommt zur Zeit auch eher selten vor, dass der Server runtergefahren ist, aber es kann (und soll ja auch) mal sein. Dann hätte der Client kein Video-Verzeichnis und der VDR würde nicht starten. Wie kann ich das abfangen? Meine Idee ist ein WOL-Paket an den Server zu schicken, wenn der Client startet. Wie kann ich, am Besten irgendwo über Upstart, sicherstellen, dass der VDR auf dem Client erst startet, wenn der Server komplett da ist? In meiner laienhaften Vorstellung dachte ich daran, in einer Schleife "mount -a" abzuschicken und dann zu prüfen, ob die Video-Verzeichnisse da sind. Wenn nicht gehts nochmal in die Schleife, wenn doch kann der VDR starten? Geht das so oder gibts (sicherlich) bessere Ideen?


    VG, Nix

    • Server: Gigabyte H67-Board, i3-2120, 8GB Ram, 12 TB Video-Part., ca. 5000 Aufnahmen, 5x DVB-S (2x Cine S2, 1x USB), easyVDR 2.0 headless

    • WoZi-Client: Zotac ZBox ID86, Hama-MCE mit Harmony, keine Tuner, reiner Streaming-Client, easyVDR 2.0

    • zur Zeit wegen Pay-TV-Problematik leider nur E2-Infrastruktur

Jetzt mitmachen!

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