[neues Problem] [0.2] yaVDR und NFS

  • Hallo,


    erstmal Respekt für die yaVDR Distri, noch nie habe ich einen VDR so schnell und unkompliziert aufgesetzt, wirklich toll gemacht!!


    Jetzt zu meinem Problem:
    Ich habe versucht meinem yaVDR Client die Verzeichnisse vom ct'VDR Server schmackhaft zu machen. Das Verzeichnis wird auch unter /srv/vdr/video.00/net eingehängt, aber mit den falschen Rechten, sodaß yaVDR das Verzeichnis vom ct'VDR nicht sieht.
    Ich nehme an es gibt ein Problem mit den ids, denn der nfs-Mountpoint auf yaVDR sieht so aus:
    drwxr-xr-x 43 halevt haldaemon 4096 2010-07-06 19:55 192.168.1.5.00


    Der ct'vdr hat die ids folgendermaßen verteilt:
    uid=104(vdr) gid=106(vdr) Gruppen=106(vdr)


    beim yaVDR sieht's so aus:
    uid=107(vdr) gid=107(vdr) Gruppen=107(vdr)


    Ich hatte das Problem schon einmal und habe dann auf dem Client die ids alle umgefrickelt, aber das kann doch nicht die Lösung sein, weiß keiner einen besseren Rat?


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

    2 Mal editiert, zuletzt von massi ()

  • Hallo massi,


    ich hab es so gemacht.


    In der /etc/exports

    Code
    /var/lib/video.00 192.168.2.0/24(rw,sync,all_squash,no_subtree_check,anonuid=113,anongid=100)


    Du musst die anonuid und anongid auf die Werte des VDR-Benutzers auf dem Server anpassen.


    Gruß Stefan

    Server VDR: MLD 4.0.1-64 ASRock Q1900M, 4 GB RAM, 2 x 2TB HDD, 1 x CineS2 6.5
    Streaming-Client1: MLD 4.0.1-RPI Raspberry Pi B+
    Streaming-Client2: MLD 4.0.1-RPI Raspberry Pi B+
    Streaming-Client3: MLD 4.0.1-RPI Raspberry Pi 2 B

  • Hallo Stefan,


    supi hat so geklappt, vielen Dank!



    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hallo,


    jetzt hat sich doch noch ein Problem gezeigt, ich habe auf meinem Server drei Video Verzeichnisse unter /var/lib: video.00 video.01 video.02
    Das Mounten per nfs klappt, aber wenn ich Aufnahmen habe, die über z.B. zwei Verzeichnisse verteilt sind, kann yaVDR diese Dateien nicht abspielen, wie könnte ich dieses Problem am Besten lösen?



    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

    2 Mal editiert, zuletzt von massi ()

  • einfach symlinks anlegen. schau mal ins video.00 dir und check den pfad der dateien. dann am yavdr rechner einen passenden symlink fuer video.01 etc anlegen. gibt sicher auch einen eleganten weg, aber ich hab's so geloest.

    produktiv: intel dh67bl, sat>ip, octopusnet, 16gig boot-ssd, yavdr 0.6.1, cir lirc
    testing: zotac ion-f itx, 1x tt s2-3600 usb, 8gig boot-ssd, yavdr 0.5 testing
    tv: samsung 75" amp:denon avr-x1300

  • Zitat

    Original von izeman
    gibt sicher auch einen eleganten weg, aber ich hab's so geloest.


    steffen_b hat dafür einen Skript gepostet. Müsst ihr mal nach suchen.


    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

    Einmal editiert, zuletzt von gda ()

  • Hallo,


    also ich habe jetzt das halbe Forum durchsucht, sowohl per Forumssuche als auch per Google, aber ich finde da nix. ?(
    Dann werde ich das mal mit den Symlinks probieren.
    Danke!


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hi,


    das mit dem symlinks kann echt nerven. Es funktioniert nur dann, wenn du die Verzeichnisse auf dem Client exakt so mountest wie sie auf dem Server heissen. Alternativvorschlag: So habe ich es bei mir gemacht.


    Erstmal die Platten mounten in /etc/fstab:


    UUID=xxxxxxxxxxxxxxxx /srv/grosse-platte xfs defaults 0 2
    UUID=xxxxxxxxxxxxxxxx /srv/kleine-platte xfs defaults 0 2


    Danach noch folgender Eintrag:


    unionfs-fuse#/srv/grosse-platte=rw:/srv/kleinere-platte=rw /srv/vdr/video.00 fuse allow_other 0 0


    Die Reihenfolge in der union gibt an auf welche Platten primär geschrieben werden soll.


    In /etc/exports steht explizit dieses Verzeichnis:


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


    gid und uid sind die ids der vdr-users auf dem Server. Der vdr sieht auf dem Server einzig und alleine das Verzeichnis /srv/vdr/video.00. Die tatsächlichen Platten werden dahinter als virtuelles Filesystem versteckt.


    Auf dem Client mountest Du nur das Verzeichnis server:/srv/vdr/video.00.


    Wichtig ist, dass es auf dem Server keine symlinks geben darf, da ein symlink in der Union das tatsächliche file auf das er zeigt überdecken würde.


    Gruß
    Arno

  • Hallo Arno,


    ich hab' mir Deine Posting jetzt ca. fünfmal durchgelesen, aber kapiert hab' ich's immer noch nicht. :schiel Liegt aber eher an mir, als an Dir.
    Ich hab' das anders gemacht, und das scheint soweit zu funktionieren, ich habe, die per autofs gemounteten, Serververzeichnisse unter /srv/vdr/video.00 in meinem Fall einfach nach /var/lib/video.[00-02] gelinkt, sodaß die Links auf den Serververzeichnissen, nicht mehr ins Leere laufen.
    Ich möchte die NFS Verzeichnisse nicht unbedingt in die fstab eintragen, weil ich den Server per Wakeonlan vom Client starten lasse und der Client schneller bootet, als der Server.


    Tschööö


    Maggi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Zitat

    Original von massi
    Ich möchte die NFS Verzeichnisse nicht unbedingt in die fstab eintragen, weil ich den Server per Wakeonlan vom Client starten lasse und der Client schneller bootet, als der Server.


    Das hat Arno ja auch nicht gemacht, er beschreibt die fstab des Servers.


    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


  • Jop, darum ja autofs auf dem Client. Wie Gerald schon richtig gesagt hat bezog sich meine Anleitung auf den Server, damit dann auf dem Client ausser dem Mounts selbst nichts mehr gemacht werden muss.


    Gruß
    Arno

  • Hallo,


    ich sach ja, ich hab' Dein Post nicht verstanden, so wird's natürlich klarer. :wand
    Ist denn etwas dagegen einzuwenden, die Links auf dem Client zu setzen, kann's da irgendwelche Probleme geben?


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hi,


    jetzt habe ich irgendwie deine Lösung nicht so ganz kapiert. Dein Server verwendet die "alte" Verzeichnisstruktur mit /var/lib/video.00ff.


    Auf dem client hast du yavdr, der nach /srv/vdr/video.00/net/server.00ff mountet. Du setzt dann links von dort nach /var/lib/video.00 um die Serverstruktur nachzubilden.


    Wenn es funktioniert ist es ok. Supporten tun wir das so natürlich nicht. Insofern darfst du dich dann nicht wundern, wenn beim nächsten update was kaputt geht, da z.B. der Eintrag für VIDEO_DIR auf /srv/vdr/video.00, den du ja umsetzen musst, getemplated ist.


    Gruß
    Arno

  • Hallo Arno,


    Zitat

    Dein Server verwendet die "alte" Verzeichnisstruktur mit /var/lib/video.00ff.


    Ja, der Server ist ein ct'vdr


    Zitat

    Auf dem client hast du yavdr, der nach /srv/vdr/video.00/net/server.00ff mountet. Du setzt dann links von dort nach /var/lib/video.00 um die Serverstruktur nachzubilden.


    Ja, so ist es und es funktioniert.


    Zitat

    wenn beim nächsten update was kaputt geht


    Gut, das wäre nicht so schön, aber jetzt auch nicht tragisch, da der Client nicht zum Aufnehmen genutzt wird, reines Abspiel- und Anzeigegerät.


    Allerdings würde ich es dann schon lieber so machen, daß ich nicht nach einem Update, wieder anfange rumzufummeln. Mir war der Sinn Deines Postings auch nicht ganz klar, weil ich mich vorher noch nie mit UNION-FS beschäftigt habe, daß habe ich inzwischen nachgeholt.
    Aber den letzten Satz verstehe ich noch nicht so ganz:

    Zitat

    Wichtig ist, dass es auf dem Server keine symlinks geben darf


    Ich dachte das wäre jetzt gerade der Sinn der Übung, oder wie habe ich das zu verstehen?


    Tschöööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)


  • die union arbeitet filebasiert. Das bedeutet, du hast z.B. in video.00/meinFilm/.../???.001 einen link auf video.01/meinFilm/.../???.001, das heisst auf die tatsächliche Datei. Dann wirst du in der union nur den link sehen. Die union macht ja daraus z.B. video/meinFilm/.../???.001. Worauf sollte der link jetzt zeigen?


    Wenn es aber in video.00 gar keinen link gibt, dann siehst du in der union die tatsächliche Datei, die in video.01 liegt. Das passiert transparent für den vdr sowohl auf dem client als auch auf dem server und diese ganze linkerei entfällt.


    ich bin selber seit einiger Zeit mit unionfs am Testen und es klappt bisher ohne Probleme. Ich habe aber nur eine video-Partition und benutze die union um zwischen CF-Card und echter Harddisk zu unterscheiden. Dateien, die sich laufend ändern wie epg.data liegen auf der CF und die Platte springt nur an, wenn wirklich auf Aufnahmen zugegriffen wird. Der vdr bekommt davon nichts mit.


    Gruß
    Arno

  • Hallo,


    Zitat

    Wenn es aber in video.00 gar keinen link gibt, dann siehst du in der union die tatsächliche Datei, die in video.01 liegt.


    Tja, da habe ich ja schon ein Problem, denn ich habe 3 Video Partitionen auf dem Server, d.h auch ich habe Links, da der vdr die die dateien ja über die drei Partitionen verteilt und entsprechende Links setzt, bedeutet also, die unionfs Methode wird bei mir nicht klappen, sehe ich das richtig?


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)


  • mit einer Datensicherung und ein bisschen Mut schon ;-))


    find /var/lib/video.0? -type l -exec rm {} \;


    und dann mounten


    unionfs-fuse#/var/lib/video.00=rw:/var/lib/video.01:/var/lib/video.02=rw /srv/vdr/video.00 fuse allow_other 0 0


    Wenn server-vdr dann noch auf /srv/vdr/video.00 läuft, hat er auch keinen Grund mehr links anzulegen.


    Gruß
    Arno

  • O.K., dann werde ich das demnächst mal angehen, vielen Dank für Deine Hilfe!!


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hi!


    Hab gerade mal versucht mein 2. Videoverzeichnis mit unionfs-fuse einzubinden, allerdings klappt das bei mir leider nicht.
    Ich habe mein altes System auf /mnt/sda4 gemountet. Dort gibt es einen video0 Ordner, in dem die bisherigen Aufnahmen liegen.
    Die aktuellen Aufnahmen liegen unter /srv/vdr/video.00.
    Jetzt war ich etwas vorsichtig und hab noch nen Ordner /srv/vdr/video.01 erstellt un den als Zielordner zu nutzen.
    Nun hab ich folgendes eingegeben:

    Code
    unionfs-fuse#/srv/vdr/video.00=rw:/mnt/sda4/video0=rw /srv/vdr/video.01 fuse allow_other 0 0


    und das erhalten:

    Code
    bash: unionfs-fuse#/srv/vdr/video.00=rw:/mnt/sda4/video0=rw: No such file or directory


    Was mach ich falsch? Was müßte ich eingeben wenn ich /mnt/sda4/video0 ins /srv/vdr/video.00 mergen möchte?

    SW: yaVDR 0.5a, VDR 1.7.27, Softhddevice
    HW: ASUS M3N78 Pro, Athlon64 X2 5050e, 2 GB RAM, Gainward GeForce GT 610 SilentFX, TT S2 3200 + CI, DigitalDevices Cine S2 V6, LG 55LM760s


    SW: yaVDR 0.5a, VDR 1.7.27, Softhddevice, Streamdev-Client
    HW: ASUS X48DS5, Intel Core2Duo E8500, 8 GB RAM, Geforce 9500GT, L4M Twin S2 V6.2, Sharp Aquos LC-46

  • Hmmm beim unionfs muss man doch nur schauen das video.00 ganz hinten angegeben wird, so das sie sich korrekt überlagern (Datei von 01 oder 02 existiert, dann existiert auch der Link, da die Datei existiert, wird der Link dann aber nicht angezeigt, war zumindest bei meinen Versuchen so ... Ich hoffe ich stifte jetzt keine Verwirrung.

    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

Jetzt mitmachen!

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