Thomas Kramer

IT-COW | privates IT-Blog von (C) Thomas Kramer

Durchreichen eines USB-TV-Empfängers an einen LXC-Container unter Proxmox 7

By Administrator at November 28, 2021 19:49
Filed Under:

Als TV-Server benutze ich mittlerweile einen Intel NUC mit einer externen USB-DVBSky S960, die ich an einen LXC-Container unter Proxmox durchreichen lasse. Das ist etwas umständlich, da das unter Proxmox nicht über die grafische Oberfläche geht, sondern man die Kommandozeile bemühen muss.

 

Folgendermaßen kann man das bewerkstelligen, als Erstes muss man dazu die Treiber der Hardware über WinSCP auf den Proxmox-Host nach /usr/lib/firmware kopieren. Danach wechselt man in das Verzeichnis:

 

cd /etc/pve/lxc

 

Und bearbeitet mit nano die Konfigurationsdatei eures LXC-Containers in diesem Verzeichnis. Fügt dort die Einträge

lxc.cgroup2.devices.allow: c *:* rwm

lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir

hinzu.

 

Falls Ihr noch Proxmox 6 oder älter benutzt, fügt stattdessen die Zeile

lxc.cgroup.devices.allow: c *:* rwm

hinzu.

 

Ein LXC-Container benötigt weniger Ressourcen als eine VM und wird direkt von Proxmox unterstützt, insofern bevorzuge ich den Container. LXC-Container sind eher auf komplette Betriebssysteme ausgerichtet, Docker-Container auf Anwendungen. Außerdem braucht es dafür auch einen privilegierten LXC-Container.

 

Ältere Anleitungen beziehen sich oftmals noch auf Control Group V1, aber mit Proxmox 7 wurde auf Control Group V2 umgestellt. Die cgroup-Nummer für die Hardware zu ermitteln (siehe alte Anleitungen) ist mit dem * nicht notwendig, diese Nummer soll unter Cgroup v2 auch nicht mehr fix sein, soweit ich gelesen hatte.

 

Somit ist das eine kurze Anleitung, bis ich das raus hatte habe ich aber doch etwas Zeit zum recherchieren und ausprobieren benötigt. Die Anleitungen die ich für ältere Proxmox-Versionen gefunden hatte verlinke ich hier: Techdudes, Medium, Coldcorner. Auf die Lösung gebracht hatte mich der Eintrag im Proxmox-Forum.

 

Proxmox ist eine tolle Software, aber an der ein oder anderen Stelle ist noch nicht alles über das Webinterface möglich.

 

Am Rande erwähnen möchte ich noch dass man USB-Festplatten, die man über /etc/fstab einbindet, nicht über den Laufwerksnamen (sowas wie /dev/sda1) sondern über die Device-ID einbinden sollte. Diese lässt sich über folgenden Befehl ermitteln:

 

ls –l /dev/disk/by-id

 

Mit

nano /etc/fstab

kann man eine USB-Festplatte/SSD dann wie folgt einbinden, wenn sie mit ext4 formatiert ist:

/dev/disk/by-id/$DEVICE_ID /media/sda1 ext4 defaults 0 1

 

Ich hatte bei mir zuerst den Laufswerksnamen bzw. –Mountpoint /dev/sda1 für die externe USB-SSD verwendet, aber sobald ich eine Tastatur einsteckte bootete er nicht mehr in Proxmox, weil diese dann unter /dev/sdb1 eingebunden und der fstab-Eintrag somit falsch wurde.

 

USB-Festplatten durchreichen ist einfach möglich indem man die Konfigurationsdateien in

cd /etc/pve/lxc

bearbeitet und die folgende Zeile hinzufügt:

mp1: /media/sda1,mp=/media/sda1

und anschließend den Gast neu startet.

 

Aber Achtung, mit dem Durchreichen von Mountpoints sind keine Snapshots mehr möglich, das hat sich auch mit Proxmox 7 nicht geändert:

 

proxmox

 

Ergänzung 05.12.2021: Es gibt zur Einbindung von externen USB-Laufwerken auch noch folgende Möglichkeit, die habe ich jetzt genutzt weil ich zwei identische USB-Gehäuse verwende und die Device-ID scheinbar identisch ist:

 

1. Alle angschlossenen Laufwerke mit dem Befehl lsblk anzeigen lassen

2. Die uuid des Laufwerks herausfinden mit dem Befehl “blkid /dev/sdx1”

3. In der fstab-Datei das Laufwerk mit /dev/disk/by-uuid/$UUID identifizieren.

   

Tag-Wolke

Monats-Liste