VDR-Aufnahmen mit autofs/sshfs auf entfernten Storage auslagern

Der VDR-User auf einem Client-System kann seine Aufnahmen direkt auf einem entfernten Storage-Server ablegen, ohne dass eine Passworteingabe erforderlich ist. Auf dem Host-System werden hierfür zunächst die erforderlichen Benutzerkonten sowie die Verzeichnisse mit den korrekten Besitz- und Zugriffsrechten erstellt. Anschließend wird der SSH-Zugang für den VDR-User eingerichtet, inklusive einer Schlüssel-basierten Authentifizierung, um eine sichere, passwortlose Verbindung zu ermöglichen. Auf dem Client wird Autofs in Verbindung mit SSHFS konfiguriert, sodass das Videoverzeichnis des VDR automatisch auf den entfernten Speicher gemountet wird. Dadurch kann der VDR-Dienst seine Aufnahmen direkt auf dem Storage-Server ablegen. Die Schreibrechte sind dabei ausschließlich dem VDR-User zugewiesen, während andere Benutzer nur lesenden Zugriff erhalten, sofern erforderlich.

Ein wesentlicher Vorteil dieser Lösung gegenüber der Nutzung eines vom Host durchgereichten virtuellen Verzeichnisses (z. B. virtfs in Proxmox) besteht darin, dass Storage und VDR-Server nicht auf demselben Host liegen müssen. Dies ermöglicht eine flexible Trennung von Speicher- und Verarbeitungsressourcen sowie eine bessere Skalierbarkeit und Ausfallsicherheit des Systems.


1. Vorbereitungen auf dem Host (Storage-Server)

  1. Einen Benutzer vdr-storage anlegen, der die Aufnahmen verwalten darf:
  2. Verzeichnis für VDR-Aufnahmen erstellen und Berechtigungen setzen:

  3. SSH-Zugang für den vdr-User des Clients einrichten:

    • Öffentlichen Schlüssel des Clients unter /root/.ssh/authorized_keys von vdr-User auf Client eintragen.
    • Sicherstellen, dass SSH-Zugang ohne Passwort möglich ist.
  4. Optional: Prüfen, ob Schreibrechte funktionieren:

2. Vorbereitungen auf dem Client

  1. SSH-Key erzeugen oder vorhandenen Key nutzen, falls noch nicht vorhanden:
  2. Public Key (id_ed25519.pub) auf den Host in /root/.ssh/authorized_keys eintragen.
  3. Autofs installieren und aktivieren:
  4. Autofs-Konfiguration anpassen:
    • Datei /etc/auto.mount erstellen oder bearbeiten:
    • uid=106,gid=106 entspricht dem lokalen vdr-User.
  5. Autofs neu laden:
  6. Mount testen:

3. VDR auf dem Client konfigurieren

  1. Symbolischen Link für das Videoverzeichnis setzen:
  2. VDR-Dienst starten und prüfen:
  3. Sicherstellen, dass Aufnahmen vom vdr-User auf den entfernten Storage geschrieben werden können.

4. Autofs‑Mount beim Systemstart

Beim Systemstart kann es vorkommen, dass der VDR‑Dienst versucht, auf das entfernte SSHFS‑Verzeichnis unter /mnt/autofs/vdr_recdir zuzugreifen, bevor Autofs den Mount erstellt hat. Da Autofs Verzeichnisse erst on demand mountet, ist der Mount beim direkten Start des VDR‑Dienstes möglicherweise noch nicht vorhanden. In diesem Fall schlägt der Dienst fehl, da er keinen Schreibzugriff auf das Videoverzeichnis hat.

Um sicherzustellen, dass der Mount verfügbar ist, bevor VDR startet, kann ein Hilfsskript eingesetzt werden. Dieses prüft wiederholt, ob der Mount aktiv ist, und löst bei Bedarf den Zugriff aus, um Autofs zum Mounten zu bewegen. Sobald der Mount bereitsteht, wird der VDR‑Dienst gestartet oder neu gestartet. Alle Statusmeldungen werden über Syslog protokolliert, sodass sie in den VDR‑Logs (journalctl -t vdr) sichtbar sind.

Logeinträge, die auf einen fehlerhaften VDR‑Start hinweisen, entstehen typischerweise, weil das Verzeichnis beim Start des VDR‑Dienstes noch nicht gemountet ist. Aus diesem Grund empfiehlt es sich, den automatischen Start des VDR‑Dienstes zu deaktivieren und den Dienst stattdessen über das beschriebene Skript zu starten

Datei: /usr/local/bin/trigger-vdr-mount.sh

Funktionsweise:

  • Das Skript prüft mit mountpoint -q, ob das Zielverzeichnis bereits gemountet ist.
  • Falls der Mount nicht vorhanden ist, wird wiederholt ein Zugriff auf das Verzeichnis ausgelöst, wodurch Autofs den Mount vornimmt.
  • Nach erfolgreichem Mount erfolgt ein kurzes Warten (sleep 3), bevor der VDR‑Dienst gestartet oder neu gestartet wird.
  • Alle Ausgaben werden über logger ins Syslog geschrieben, wodurch sie unter dem Tag vdr im Journal erscheinen.

Integration in den Boot‑Ablauf

Das Skript kann beim Systemstart über einen Cronjob ausgeführt werden:

Dadurch wird nach jedem Neustart überprüft, ob der Autofs‑Mount verfügbar ist, und der VDR‑Dienst startet zuverlässig.

 



4. Zusammenfassung

  • Der Host stellt ein Schreibverzeichnis für den VDR-User bereit.
  • Der Client mountet dieses Verzeichnis automatisch per SSHFS über Autofs.
  • Der lokale vdr-User besitzt Schreibrechte und kann Aufnahmen direkt auf dem Host speichern.
  • Alle Vorgänge erfolgen passwortlos über SSH-Keys, der VDR-Dienst kann regulär starten.
  • Hilfsskript überprüft vor dem Start des VDR-Dienstes, ob der Mount aktiv ist.

 


CC_BY_NC_SAby Speefak

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top