avahi-daemon und mehrere Shares des gleichen Typs auf einem Server

  • Hallo,


    um hier noch einmal die Diskussion von mehreren Shares des gleichen Subtypen aus diesem Thread aufzunehmen. Ich habe folgendes Problem: meine Dateien sind über mehrere Laufwerke verteilt, z.B. eine Festplatte für Serien, eine für Musik und Bilder, eine für VDR Aufnahmen und eben 2 Festplatten für Filme. Diese Festplatten sind alle voneinander unabhängig, also nicht mit Raid oder LVM zusammengefasst, und das ist auch nicht geplant. Per NFS kann man ja auch nicht ohne Weiteres eine per Symlink zusammengebastelte Struktur freigeben. Anscheinend ist es ja momentan nicht möglich, dann mehrere Shares desselben Subtypen freizugeben. Da steffen_b ja gefragt hatte, wie ich mir das vorstelle:
    Im Moment werden die gemounteten Verzeichnisse in /media/$TYP/$SERVERNAME oder /srv/vdr/video.00/$SERVERNAME eingehängt. Eine Lösung wäre natürlich bei mehreren Freigaben diese stupide in die Verzeichnisse /media/$TYP/$SERVERNAME/share1, /media/$TYP/$SERVERNAME/share2 usw. einzubinden. Schöner wäre es, wenn man das in der .service Datei angeben kann.


    Eine Fiktive .service Datei könnte entsprechend so aussehen:


    Dieser Service sollte dann in /media/$TYP/$SERVERNAME/$MAPPEDDIR also /media/$TYP/$SERVERNAME/Movies_share1 gemappt werden. Dies geht schon so in die Richtung sub-subtypen, denke ich, die steffen_b in dem anderen Thread angesprochen hat. Ich finde es schon gut, dass man generell eine Unterteilung in Videos, Musik, etc. in den Subtypen hat, weitere Subtypen hinzufügen macht meiner Meinung nach nicht so viel Sinn wie das Hinzufügen von sub-subtypen, da man mit neuen Subtypen irgendwann wieder an die Grenze stoßen wird und es ja auch nur eine gewisse Menge an verschiedenen Medientypen gibt. Neue Sub-subtypen hingegen könnte man quasi on the fly in der service Definition generieren.


    Habe ich hier so ein ungewöhnliches Setup mit den mehreren Video Verzeichnissen? Wie seht ihr das? Einzelschicksal, schön zu haben oder wie?


    Viele Grüße


    Edit: Sorry, das war ein alter User, eigentlich poste ich unter DaMythos.

  • Es ist nicht die erste Diskussion in dieser Richtung und irgendwie müssen wir es erweitern denke ich. Neue Subtypen wären im Sinne von XBMC durchaus noch nützlich, da XBMC auch TV Serien, Musikvideos und Filme unterscheidet. Wenn man diese Info transportiert, könnte man neu autauchende Shares auch automatisch scrapen (zusätzliche Infos und Cover aus dem Internet laden).


    Evtl. lässt sich der Sub-Subtypen Ansatz auch dahingehend nutzen das man ein paar fest definierte verwendet - aber auch "unbekannte" zulässt.


    Man müsst mal schauen ob man vor dem Mounten des ersten shares sehen kann, ob alle Shares des Typs (k)einen sub-subtype haben. Wenn das geht, ginge es auch als optionaler zusätzlicher Parameter.


    Generell: Weiterentwicklung is erwünscht. Ich habe es in täglicher Benutzung. Nach etwas Weiterentwicklung würde ich auch gerne sehen, das XBMC zB die shares ähnlich wie per udisk eingehängten USB Festplatten "sehen" kann.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • da ich mich gerade mit der /usr/bin/avahi-mounter beschäftigt habe:


    ersetzt man darin in Mount::__init__

    durch


    sollte man in der .service per

    Code
    <txt-record>expdir=/hier/soll/der/mount/auf/dem/client/hin</txt-record>

    ein explizites Verzeichnis für den Mount-Punkt angeben können (es würde dann dennoch der das Mount zur Verfügung stellende Server als Unterverzeichnis angelegt).


    Damit könntest du IMHO z.B. auf drei verschiedenen Servern jeweils expdir=/media/music angeben können und es würden auf dem Client alle 3 Verzeichnisse in /media/music landen ...


    Sehe ich das hier so richtig, oder hab ich was übersehen? Ist das überhaupt das, was du willst?




    whitedwarf




    P.S.: bei self.local = expdir bin ich mir nicht ganz sicher, ob er die Zeichenkette richtig als String weitergibt.



    Edit: ai, hübsch hat er die Leerzeichen weggemacht, da wird sich Python aber freuen! Also: obiger Code modulo richtige Leerzeichen am jeweiligen Zeilenanfang...

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • Mach lieber ein diff und hänge es an den Post.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Zitat

    Damit könntest du IMHO z.B. auf drei verschiedenen Servern jeweils expdir=/media/music angeben können und es würden auf dem Client alle 3 Verzeichnisse in /media/music landen ...
    Sehe ich das hier so richtig, oder hab ich was übersehen? Ist das überhaupt das, was du willst?


    Wenn ich das jetzt richtig verstehe ist es ist nicht ganz das, was ich brauche: ich habe auf einem Server 3 verschiedene Videoverzeichnisse, die ich alle exportieren will, also hätte ich drei mal den Subtyp Video, die alle im gleichen Server liegen und dementsprechend auch alle eine eigene .service Datei haben müssten, oder? Vielleicht geht das mit deinem Ansatz ja auch, werde ich mal heute versuchen, wenn ich zu Hause bin.

    VDR Server: MSI H61M-P25, Intel G530, 2GB Ram, yaVDR 0.5a, headless, DD CineS2, DuoFlex S2, PicoPSU
    VDR Client 1: Zotac 9300 mit Core2Duo, 2GB Ram, 40 GB HDD, yaVDR 0.5
    VDR Client 2: Zotac ZBox HD-ID40, 2GB Ram, 40 GB HDD, yaVDR 0.5

  • Beim Lesen dieses Threads muß ich immer an ein sehr leckeres griechisches Bier denken. :D


    SCNR ;)

    Mein VDR: OrigenAE/Amisos X15e, ASUS A68HM-K A68H FM2+ mATX, AMD A4 5300, 4 GB DDR3, WD Green 1 TB, Nvidia GT 430 PCIe, KNC One DVB-C Karte, 7" TFT (GraphTFT, ohne Touch), irtrans-Empfänger + Harmony 300i, yaVDR 0.6.2, 32" Toshiba 32XV635D, 2.1 Boxen-Set Edifier C2 rev2, Kabelprovider Wilhelm Tell (ohne Grundverschlüsselung), 10 TB extern (USB) für Serien und Filme.
    Hinweis für Allergiker: Dieser Beitrag kann Spuren von Nüssen enthalten.

  • Der ganze avahi-mounter ist kein Rocketscience und "Patches are welcome" :) - Mir wäre ein sub-subtype (lass es uns category nennen ?) lieber. Wenn einer der Shares eines subtypes eine category hat gibt es Unterverzeichnisse. Eine Handvoll category's sollten vorbelegt sein , wenn sie nicht bekannt ist, dann wird die category als Verzeichnisname unterhalb des servernamen verwendet ?


    Die expdir Geschchte verstehe ich den Use Case nicht Das avahi-mounter root directory vom server aus vorzugeben klingt für mich unschön. Man will ja grade das es irgendwo einsortiert wird. Sondern nach Typ :)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • DaMythos:


    dem freundlichen Hinweis von Gerald folgend im Anhang ein diff, wie ich mir das vorstelle, kannst das ja mal ausprobieren.


    Funktionieren sollte das, wie steffen_b vorgeschlagen hat: ist in der entsprechenden .service ein zusätzicher Eintrag der Form

    Code
    <txt-record>cat=mountnr23862</txt-record>

    vorhanden, sollte das Ding auf /media/$subtype/$hostname/mountnr23862 gemountet werden (der Wert von cat gibt quasi direkt das entsprechend anzulegende Unterverzeichnis an)




    ich übernehme allerdings keine Garantien ;)


    whitedwarf

    Dateien

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • dem freundlichen Hinweis von Gerald folgend im Anhang ein diff, wie ich mir das vorstelle, kannst das ja mal ausprobieren.


    Sehr gut! Noch besser wäre "diff -Nur". In dem Format wäre es auch für uns Paket-Bauer nutzbar und ich kann andere Formate schon gar nicht mehr lesen ;).


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • sorry, kann ich nicht nachliefern, hab's nur kurz geschrieben, das diff gemacht und wieder entfernt (brauch ich ja nicht). Ich merk's mir aber für's nächste Mal.


    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

  • whitedwarf: Vielen Dank für das Skript. Ich werde aber wohl leider erst am Wochenende dazu kommen, es zu testen, melde mich dann auf jeden Fall noch einmal!

    VDR Server: MSI H61M-P25, Intel G530, 2GB Ram, yaVDR 0.5a, headless, DD CineS2, DuoFlex S2, PicoPSU
    VDR Client 1: Zotac 9300 mit Core2Duo, 2GB Ram, 40 GB HDD, yaVDR 0.5
    VDR Client 2: Zotac ZBox HD-ID40, 2GB Ram, 40 GB HDD, yaVDR 0.5

  • Habs jetzt doch schon geschafft, zu testen. In dem Diff hatte ich noch einen Copy & Paste Fehler korrigiert (da war noch key == "expdir" statt "cat").


    Wenn ich dieses Skript jetzt so laufen lasse, werden jetzt nur noch Shares gemountet, die entsprechend eine Kategorie haben. Shares, die keine Kategorie haben, werden nicht mehr gemountet. Ich habe jetzt mal versucht, das zu reparieren mit meinen nicht vorhandenen Python Kenntnissen, ich glaube der Fehler war, dass in dem if die Liste cat auf leer mit

    Code
    if cat == "":


    geprüft wurde, aber (nach Bemühungen von Google) das eigentlich so gehen sollte:

    Code
    if not cat:


    Wenn ich das geändert habe, funktioniert es sowohl mit Kategorien als auch ohne. Wie gesagt, ich kann eigentlich nicht wirklich Python skripten, wäre gut, wenn da vielleicht noch jemand mal drüber gucken könnte. Das diff -Nur habe ich angehängt, damit das evtl. auch in die yavdr Distribution übernommen werden könnte.


    Gibt es da eigentlich einen bestimmten Prozess, das zu contributen (evtl. Ticket) oder wird das jetzt von einem yaVDR Entwickler aus dem Forum geholt, wenn es denn überhaupt in die distri rein soll?


    Bei mir funktioniert jetzt zumindest das, was ich gesucht habe, vielen Dank an alle, vor Allem withedwarf! :tup

  • Ah super :)


    Da Buchstaben kein Geld kosten, würde ich es eher category nennen ;) - und - zumindest theoretisch - müsste man nochmal schauen, das kein Mist gebaut wird wenn es z.B. ein Share ohne category aber auch eins mit existiert gleichzeitig für den selben Subtyp.


    Wir können das hier rausziehen. Im Bugtracker wäre es gut aufgehoben weil es dort nicht untergehen kann. Ich schau mal das ich das die Tage hier mal testen kann.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • In dem Diff hatte ich noch einen Copy & Paste Fehler korrigiert

    Das sind die schlimmsten :(


    mit meinen nicht vorhandenen Python Kenntnissen

    An denen lag es bei mir ja auch...


    Bei mir funktioniert jetzt zumindest das, was ich gesucht habe


    Sehr gut, freut mich, geholfen haben zu können.



    whitedwarf

    Server: yaVDR 0.6.1, ASRock H61M-U3S3, Asus P8H61M, Intel G860, Scythe Big Shuriken 2, ASUS ENGT520 Silent, Silverstone SuGo SG02B-F, 2x2GB Kingston, BeQuiet PurePower L7 300W, 4TB HGST, TeVii S480 v2.1
    Client: yaVDR 0.6.1, ASRock H67M-ITX, Intel G860 Boxed, ASUS ENGT520 Silent, JCP MI-111.B, 2x2GB Kingston, Xilence SFX SPS.XP200

Jetzt mitmachen!

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