Powered by Invision Power Board


  
 
Reply to this topicStart new topicStart Poll

> Einbinden eines NAS für Aufnahmen
Exceeder
Geschrieben am: Samstag, 03.November 2012, 22:03 Uhr
Quote Post


Advanced Member
***

Gruppe: Members
Beiträge: 12
Mitgliedsnummer.: 16190
Mitglied seit: 2011-06-08



Hallo,

ich wollte mal Fragen, wie ich mein NAS als Laufwerk für Aufnahmen einbinden kann. Das NAS ist mit DUAL GigaBit LAN am Switch angebunden und hat 12 TB. Der Datendurchsatz liegt von einem per SINGLE GigaBit LAN angebundenen Rechner bei 84 MB/s, sollte also für Aufnahmen dicke reichen.

Der VDR soll auf einen 8GB USB-Stick installiert werden und hat als sonstige Hardware nur MB, Prozessor, Speicher und die TV-Karte. Ein Monitor ist nur für die Installation angeschlossen, ansonsten wird der (wie auch ein angeschlossener TV) aber nicht benötigt. Aktuell werkelt er noch auf einer kleinen Festplatte, weil mir die Installation auf dem USB-Stick noch nicht gelungen ist.

Das NAS läuft den ganzen Tag. Die einzelnen Platten gehen aber nach 10 Minuten inaktivität schlafen und brauchen etwa 2-3 Sekunden für den Wakeup. Normalerweise wird es nicht neu gestartet, der VDR sollte aber damit umgehen können (wenn mittendrin der mount verschwindet).

Wie kann ich das einbinden? Ich habe für andere Distributionen schon komplizierte Skripte gefunden, bin mir aber nicht sicher, wie das bei gen2vdr umgesetzt wird. Würde die Config auch gerne bei Updates behalten.

Edit: USB-Stick Installation: https://www.gen2vdr.de/forum/index.php?showtopic=9283 - Ich Blindfisch :( - Das andere würde ich aber trotzdem noch gerne wissen.
Email Poster
Top
Exceeder
Geschrieben am: Sonntag, 04.November 2012, 12:56 Uhr
Quote Post


Advanced Member
***

Gruppe: Members
Beiträge: 12
Mitgliedsnummer.: 16190
Mitglied seit: 2011-06-08



Hmm,

das Problem scheint ja offenbar schwer zu lösen zu sein.. :D

Ich habe mir nun ein kleines Shell-Skript geschrieben, welches via crontab jede Minute ausgeführt wird:

CODE

#!/bin/sh

pidFile=copyrec.pid
alreadyRunning=0

# Prüfen ob eine PID-Datei existiert
if [ -f "$pidFile" ]; then
 # Schauen, ob die Datei eine Zahl (Prozess-ID) enthält
 currentPid="`cat "$pidFile"`"
 hasProcess="`echo $currentPid | wc -c`"

 if [ $hasProcess -gt 1 ]; then
   if [ $currentPid -gt 0 ]; then
     # Nachgucken, ob ein Prozess mit dieser ID bereits läuft
     runningProc="`ps -p$currentPid | grep '[0-9]'`"

     if [ "$runningProc" != "" ]; then
       alreadyRunning=1
       echo "Kopieren läuft bereits..."
     fi
   fi
 fi
fi

# Prozess läuft nicht, jetzt starten
if [ $alreadyRunning -lt 1 ]; then
 # Eigene Prozess-ID in die Datei schreiben
 echo $$ > $pidFile

 # Samba-Share mounten
 mount -t cifs -o username=gen2vdr,passwd=gen2vdr,rw,file_mode=0777,dir_mode=0777 //192.168.178.21/video /mnt/data/files

 # Prüfen, ob das Aufnahme Verzeichnis existiert (falls nicht, ist das mounten möglicherweise fehlgeschlagen)
 targetdir=/mnt/data/files/_Aufnahme/

 if [ -d "$targetDir" ]; then
   # index-Dateien suchen, welche seit 1 Minute nicht modifiziert wurden

   for file in `find /video/ -name index -mmin +1`
   do
     # Komplettes Verzeichnis verschieben

     directory=${file%/index}
     parentdir=${directory%/*}
     mv -f "$parentdir" "$targetDir"
   done
 fi

 # Aufräumen
 umount /mnt/data/files
 rm $pidFile
fi


Die Aufnahmen werden nun also zunächst auf die VDR-Platte gemacht und werden nach der Beendigung auf das NAS verschoben. Der Vorteil der Lösung liegt darin, dass das ganze auch funktioniert, wenn das NAS für einige Zeit nicht verfügbar ist. Die Verschiebung wird dann einfach nachgeholt.

In oben verlinktem Thread habe ich leider gesehen, dass ein USB-Stick nicht wirklich taugt. Ich denke Flashspeicher geht auch ziemlich schnell kaputt, bei den vielen notwendigen Zugriffen. Bliebe nur eine Lösung mit einer riesigen RAMDISK, wenn man auf die Platte verzichten will und die Aufnahmen erst nachträglich verschoben werden.

Folgende Fragen bleiben noch offen:
- Überlebt mein Eintrag in /etc/crontab ein Update?
- Wo muss ich das Skript hinlegen, damit es das Update überlebt (habs momentan in /root liegen)?
- Wie kann ich ein Skript nach Beendigung einer Aufnahme ausführen? -> Eventuell anlegen einer .norec-Datei. Ich habe dazu je nach VDR-Version verschiedenste Varianten gesehen. Ich kenne von Früher noch die "recording-hooks". Allerdings ist die Erinnerung schwammig. Google führt unterschiedlichsten Kram zu Tage. Ein Hinweis wäre super.
Email Poster
Top
HelAu
Geschrieben am: Sonntag, 04.November 2012, 13:22 Uhr
Quote Post


Scheffe
****

Gruppe: Admin
Beiträge: 11285
Mitgliedsnummer.: 2
Mitglied seit: 2003-04-25



Was fuer nen Update meinst Du ? Die "standard" Gen2VDR Updates basteln nicht an den crontab files rum :) Und "Gen2VDR-fremde" Dateien werden auch nicht geloescht.
QUOTE
- Wie kann ich ein Skript nach Beendigung einer Aufnahme ausführen? -

Dafuer ist /etc/vdr.d/scripts/g2v_record.sh zusatendig. Da kannst Du im "after" case dementsprechend was einbauen.
Das koennte man noch flexibler gestalten, dafuer koennte jemand nen Feature Request stellen :)
Email PosterUsers WebsiteICQAOLYahoo
Top
Exceeder
Geschrieben am: Sonntag, 04.November 2012, 14:10 Uhr
Quote Post


Advanced Member
***

Gruppe: Members
Beiträge: 12
Mitgliedsnummer.: 16190
Mitglied seit: 2011-06-08



Okay. In der genannten Datei gibt es dann bei einem Update auch keine Probleme?
Email Poster
Top
HelAu
Geschrieben am: Sonntag, 04.November 2012, 23:33 Uhr
Quote Post


Scheffe
****

Gruppe: Admin
Beiträge: 11285
Mitgliedsnummer.: 2
Mitglied seit: 2003-04-25



QUOTE (Exceeder @ Sonntag, 04.November 2012, 14:10 Uhr)
Okay. In der genannten Datei gibt es dann bei einem Update auch keine Probleme?

Vermutlich nicht, aber sicher ist das nicht :)
Email PosterUsers WebsiteICQAOLYahoo
Top
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 Anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll