Den dauernden Zugriff auf die Platte ausstellen in YaVDR 0.4?

  • Hallo,
    Es gibt ja schon einen älteren Thread zu YaVDR 0.3, in dem die Ramdisk ergebnislos diskutiert wurde...


    Mittlerweile (YaVDR 0.4) ist zumindest für einen Teil der stetig anfallenden Daten (vtx, diverse logs) eine Ramdisk aktiv (/var/run, /var/lock).


    Die Nutzung dieser hält sich aber in Grenzen.
    Wo wird denn festgelegt, welche Daten dort abgelegt werden?
    Werden die Daten dort auch persistiert oder beim Abschalten verworfen?
    Wo ist dies festgelegt oder gesteuert?


    (Bei LinVDR habe ich z.B. die Daten bei runvdr start in die Ramdisk kopiert und bei runvdr stop gesichert, dazwischen wurde mit der Ramdisk gearbeitet. Die betroffenen Dateien waren in runvdr explizit benannt.)


  • Also bei mir landen in den 2 genannten Verzeichnissen keine Logs und vtx-Dateien.
    Für die Logs in eine Ramdisk gibt es zwar ein FeatureRequest, aber das muss eben noch ordentlich ausgearbeitet werden.
    vtx-Daten landen normal in /var/cache/vdr/vtx wenn ich mich nicht täusche.


    In der 0.3a habe ich folgendes in die fstab eingetragen

    Code
    tmpfs	/var/cache/vdr/vtx	tmpfs	defaults,size=64m,uid=107,gid=107  	0   	0


    Bei der 0.4 auf meinem TestVDR genauso, nur halt uid & gid =666

  • Mit:

    Code
    echo 1 >/proc/sys/vm/block_dump

    die Zugriffe loggen einschalten.
    Damit findest du die Bösewichte. Ansonsten habe ich aufs verwendet siehe: Sandy Bridge VDR Energiespar Server
    Wobei bei extfs du mit commit=xxx vielleicht um aufs herum kommst.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Genau so eine Diskussion hatten wir doch vor einem Jahr schonmal, und damals war es beim Theadstarter "ext4 Journaling", das dauernd auf der HDD rumwurschtelt. Aber ich erinnere mich nicht mehr genau, vielleicht findet Ihr den Thread.



    EDIT: Hier: Den dauernden Zugriff auf die Platte ausstellen?


    EDIT2: Ach so, der wird oben schon genannt.


    EDIT3: Weiter unten hier kommen noch mehr Links auf ältere Threads.


    Gruß
    hepi

  • Mittlerweile (YaVDR 0.4) ist zumindest für einen Teil der stetig anfallenden Daten (vtx, diverse logs) eine Ramdisk aktiv (/var/run, /var/lock).
    Die Nutzung dieser hält sich aber in Grenzen.
    Wo wird denn festgelegt, welche Daten dort abgelegt werden?
    Werden die Daten dort auch persistiert oder beim Abschalten verworfen?
    Wo ist dies festgelegt oder gesteuert?


    yaVDR benutzt diese Verzeichnisse überhaupt nicht direkt, sondern höchstens über das darunterliegende Betriebssystem Ubuntu. Deshalb legt auch Ubuntu fest was dort hineinkommt. Die Filesysteme sind nicht persistent, weil das für die Daten die dort hineinkommen auch nicht sinnvoll wäre.

    (Bei LinVDR habe ich z.B. die Daten bei runvdr start in die Ramdisk kopiert und bei runvdr stop gesichert, dazwischen wurde mit der Ramdisk gearbeitet. Die betroffenen Dateien waren in runvdr explizit benannt.)


    yaVDR macht das nicht so, weil wir dem Betriebsystem Ubuntu soviel wie nur irgend möglich überlassen. Das gibt uns mehr Zeit an Erweiterungen an der Oberfläche zu arbeiten. Außerdem sorgt es dafür, dass wir problemlos Updates von Ubuntu einspielen können ohne das Änderungen durch yaVDR jedesmal angepasst werden müssten.


    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

  • ofenheizer ?

    Code
    tmpfs	/var/cache/vdr/vtx	tmpfs	defaults,size=64m,uid=107,gid=107  	0   	0



    warum ?


    apt-get install vdr-plugin-osdteletext


    mount sagt:

    Code
    tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)


    ls -l /run/vdr/vtxls -l /run/vdr/vtx
    insgesamt 0
    drwxr-xr-x 2 vdr vdr 26620 2011-10-27 14:20 C-1-1079-28006


    insgesamt 0
    drwxr-xr-x 2 vdr vdr 26620 2011-10-27 14:20 C-1-1079-28006


    (oneiric)


    bei der 0.4 ist es glaube ich noch var/run
    in oneiric ein link von da nach /run


    also reicht es "nix" zu tun.

  • @hoplo


    tja, warum. weil ich es von der 0.3 nicht anders kannte. also auch am testvdr so eingefügt.


    eben in meiner VM mal nachgesehen.

    Code
    apt-get install vdr-plugin-osdteletext


    dann einen reboot und mount sagt bei mir


    es gibt auch kein Verzeichnis /run gibt es bei mir nicht (natty).

  • hast du meinen post gelesen ?


    Code
    bei der 0.4 ist es glaube ich noch var/run
    in oneiric ein link von da nach /run


    var/run ist völlig ok


    bei oneiric ändert sich das halt nach /run
    aber man muss von uns aus (wegen osdteletext) nix ändern.

  • hast du meinen post gelesen ?

    gelesen schon, aber die zeile dann wohl überlesen.


    ok. guck mir das heute abend auf meinem testvdr mal an mit den vtx-dateien, aber in meiner VM existiert /var/run/vdr/vtx zumindest schonmal nicht. ob das erst beim videotextaufruf angelegt wird, kann ich jez nicht sagen.

  • Speziell für SSDs scheint es ratsam zu sein (findet Goggle), in fstab die Optionen "discard" und "noatime" zu verwenden.


  • hotzenplotz5


    Passt schon, "/var/run" ist per default eine "ramdisk" bei Ubuntu, ab Oneiric eben "/run". Das Paket "vdr-plugin-osdteletext" wurde schon vor einer Weile entsprechend angepasst, damit es die Daten unter "/var/run/vdr/vtx" ablegt. Für 0.4 habe ich das eben nochmals verifiziert.


    Alle Interessierten könnten "/tmp" auch in eine "ramdisk" verpacken, Speicher haben die Maschinen ja meist genug, dort liegen die fifo von xine respektive xineliboutput. Ein Zeile dieser Art in die "/etc/fstab" und ein anschließender reboot machts möglich:


    Code
    none /tmp tmpfs size=128m 0 0


    128MB, damit auch mal was abgelegt werden kann.


    Regards
    fnu

    HowTo: APT pinning

  • Speziell für SSDs scheint es ratsam zu sein (findet Goggle), in fstab die Optionen "discard" und "noatime" zu verwenden.


    Wenn dann aber bitte komplett hier beschreiben und nicht Häppchenweise ...


    Code
    UUID=01234567-9876-1234-3456-654321123456 /     ext4     noatime,discard,data=ordered,errors=remount-ro 0 1


    Ach ja, es wird allenthalben vom Anlegen eines Swaps auf SSD Platten gewarnt, was m.E. ein zweischneidiges Schwert ist. Wenn eine Maschine dauerhaft Speicher auslagern muß, stimmt schonmal etwas prinzipielles nicht, was erstmal gelöst werden sollte. Von daher lege ich auch bei SSDs einen Swap an, die Maschine sollte genug Speicher haben um diesen nicht dauerhaft nutzen zu müssen, aber für den Fall der Fälle lieber einen einmaligen nicht ganz so optimalen Zugriff auf den Swap@SSD, als ein Out-of-Memory. Aber von der dauerhaften Nutzung von SuspendToDisk würde ich denoch absehen ...


    Regards
    fnu

    HowTo: APT pinning

    2 Mal editiert, zuletzt von fnu ()

  • Zum Thema SWAP:
    Es gibt den Parameter swappiness=0, der das Swappen so lange wie möglich vermeidet.
    Leider habe ich keinen Schimmer, wo der übergeben werden muss.
    Das wird in /etc/sysctl.conf eingetragen:
    vm.swappiness=0


    Einmal editiert, zuletzt von Tournevis ()

  • Speziell für SSDs scheint es ratsam zu sein (findet Goggle), in fstab die Optionen "discard" und "noatime" zu verwenden.


    "discard" sollte auf keinen Fall mehr verwendet werden. Seit Kernel 2.4.37 gibt es den Befehl fstrim der täglich oder wöchentlich verwendet werden sollte (cron),


    http://de.gentoo-wiki.com/wiki/Solid_State_Drive

    Einmal editiert, zuletzt von Murry ()

  • Eine weitere Möglichkeit wäre es das direkte Schreiben innerhalb von 5 Sekunden der Journaldaten mit dem entsprechenden Parameter commit hochzusetzen:


    Code
    UUID=fdee250b-8929-49dc-81ae-aa53a105c8b2 /srv/vdr/video.00 ext4    defaults,commit=30        0       2


    Ob das sinnvoll ist muss jeder für sich entscheiden, Sicherheit vor Datenausfall gegen Verringerung der Schreibzugriffe.


    LG Urknall

    VDR: yavdr-ansible/22.04 LTS auf Intel NUC (BOXNUC6CAYH), 2x Kingston KVR16LS11/4, One For All URC 2981

    VDR-Server: yavdr-ansible/22.04 LTS in ESXi VM

  • "discard" sollte auf keinen Fall mehr verwendet werden. Seit Kernel 2.4.37 gibt es den Befehl fstrim der täglich oder wöchentlich verwendet werden sollte (cron),


    Der Punkt ist, das "discard" erst mit den Kernels ab 2.6.x für ext4 eingeführt wurde und für xfs, erst vor kurzen fehlerfrei mit 3.x.y ... "fstrim" ist die althergebrachte Methode und ich wünsche ja keinem, das er noch Kernel 2.4.37 nutzt ...


    Regards
    fnu

    HowTo: APT pinning

  • Der Punkt ist, das "discard" erst mit den Kernels ab 2.6.x für ext4 eingeführt wurde und für xfs, erst vor kurzen fehlerfrei mit 3.x.y ... "fstrim" ist die althergebrachte Methode und ich wünsche ja keinem, das er noch Kernel 2.4.37 nutzt ...


    Sorry, ich meinte 2.6.37 --> batched discard für ext4


    http://www.thomas-krenn.com/de…inux_Kernel#Kernel_2.6.37


    Gruß


    Murry

  • Die Ablage der epg.data auf dem CLient habe ich jetzt umgebogen:
    Eintrag in /etc/default/vdr:
    EPG_FILE=/var/run/vdr/epg.data


    (Ob das für einen Server auch angebracht ist, kann ich nicht beurteilen.)


  • Tournevis


    Ok, nun hast Du halt das Problem, das die EPG Daten nach einem Neustart des Client komplett weg sind und dann wieder komplett neu aufgebaut werden müssen ... ?


    Regards
    fnu

    HowTo: APT pinning

Jetzt mitmachen!

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