Sollten Sie Plex in LXC oder einer VM auf Proxmox betreiben?
Plex Media Server lässt sich sowohl in einem Proxmox-LXC-Container als auch in einer virtuellen Maschine erfolgreich betreiben. Beide Optionen können eine Medienbibliothek organisieren, an lokale Geräte streamen, Remote-Nutzer unterstützen und Hardwarebeschleunigung nutzen, sofern das benötigte Grafikgerät verfügbar ist.
Der Unterschied liegt darin, wie die Betriebsumgebung isoliert wird und wie Hardware, Storage und Backups verwaltet werden.
LXC verbraucht in der Regel weniger Ressourcen und kann effizienten Zugriff auf eine integrierte Intel-Grafikeinheit bieten. Eine virtuelle Maschine bietet stärkere Isolation, einen eigenen Kernel und eine klassischere Linux-Umgebung.
Für viele Homelabs ist Plex in einem unprivilegierten LXC-Container die effizienteste Wahl. Eine virtuelle Maschine ist meist die bessere Option, wenn betriebliche Einfachheit, Portabilität und Isolation wichtiger sind als das Einsparen von etwas Arbeitsspeicher.
Worin unterscheidet sich LXC von einer virtuellen Maschine?
Proxmox nutzt LXC für Systemcontainer. Ein LXC-Container hat ein eigenes Dateisystem, eigene Prozesse, Benutzer und Netzwerkschnittstellen, teilt sich aber den Linux-Kernel mit dem Proxmox-Host.
Ein unprivilegierter Container bildet das Root-Konto innerhalb des Containers auf einen unprivilegierten Benutzer auf dem Host ab. Das verringert die potenziellen Auswirkungen vieler Container-Sicherheitsprobleme. Proxmox empfiehlt unprivilegierte Container, wo immer möglich.
Eine Proxmox-VM nutzt KVM und führt ein vollständiges Gastbetriebssystem mit eigenem Kernel aus. Die VM sieht von Proxmox bereitgestellte virtuelle Hardware und bleibt stärker vom Host getrennt.
Beide Umgebungen können eine unterstützte Linux-Distribution ausführen. Plex veröffentlicht Media-Server-Pakete unter anderem für Debian und Ubuntu, wodurch beide Architekturen technisch möglich sind.
Warum ist LXC bei Plex so beliebt?
Der Hauptvorteil ist die Ressourceneffizienz.
Ein LXC-Container muss keinen eigenen Kernel ausführen. Er kann deshalb schnell starten und mit weniger Arbeitsspeicher und Storage auskommen als eine vollständige Linux-VM.
Plex selbst kommt mit bescheidener Hardware aus, wenn die meisten Clients Direct Play nutzen. Direct Play sendet das Originalmedium unverändert an das wiedergebende Gerät, ohne das Video zu konvertieren. Der Prozessorbedarf steigt, wenn Plex Medien wegen eines nicht unterstützten Formats, begrenzter Bandbreite oder inkompatibler Untertitel transkodieren muss.
Ein kleiner LXC-Container funktioniert gut, wenn Plex hauptsächlich kompatible Fernseher und Streaming-Geräte bedient. Die eingesparten Ressourcen bleiben dann für andere Proxmox-Workloads verfügbar.
LXC ist außerdem attraktiv für Intel Quick Sync. Der Proxmox-Host kann Grafik-Gerätedateien im Container verfügbar machen, ohne die komplette Grafikeinheit exklusiv an Plex zu vergeben.
Dadurch können der Host oder andere geeignete Container dieselbe integrierte Grafikhardware weiterhin nutzen. Die genaue Konfiguration hängt von Geräteberechtigungen, Benutzerzuordnungen und dem auf dem Proxmox-Host installierten Grafiktreiber ab.
Ist Hardware-Transcoding in LXC einfacher?
Der Hardwarezugriff kann in LXC effizient sein, ist aber nicht immer einfacher zu konfigurieren.
Hardwarebeschleunigtes Streaming nutzt bei Plex unterstützte Videohardware, um Video mit geringerer Prozessorlast zu decodieren und zu codieren. Plex unterstützt unter Linux offiziell Intel Quick Sync und kompatible NVIDIA-Hardware. Die Funktion setzt ein aktives Plex-Pass-Abonnement voraus.
Ein LXC-Container kann Zugriff auf ausgewählte Host-Geräte erhalten. Die aktuellen Proxmox-Container-Werkzeuge unterstützen Device-Mount-Points, wobei diese Geräte an den Host gebunden bleiben und nicht wie gewöhnliche virtuelle Festplatten verwaltet werden.
Bei Intel-Grafik geben Administratoren die benötigten Geräte üblicherweise unter /dev/dri an den Plex-Container weiter. Anschließend müssen sie sicherstellen, dass das Plex-Dienstkonto die Berechtigung hat, das Render-Gerät zu nutzen.
Unprivilegierte Container erfordern unter Umständen zusätzlichen Aufwand bei der Benutzer- und Gruppenzuordnung. Eine falsche Zuordnung kann dazu führen, dass Plex die Option für Hardware-Transcoding zwar anzeigt, beim Start der Wiedergabe aber auf prozessorbasiertes Transcoding zurückfällt.
LXC gibt erfahrenen Administratoren feine Kontrolle. Nutzer, die mit Linux-Geräteberechtigungen nicht vertraut sind, kann es dagegen frustrieren.
Kann eine VM Hardware-Transcoding nutzen?
Eine VM kann die Hardwarebeschleunigung von Plex nicht über einen gewöhnlichen generischen virtuellen Grafikadapter nutzen. Plex erklärt, dass virtuelle Grafik in der Regel nicht die Low-Level-Funktionen für Video-Encoding und -Decoding bereitstellt, die für beschleunigtes Streaming erforderlich sind.
Proxmox bietet mit PCI-Passthrough eine weitere Option. PCI-Passthrough gibt einer KVM-VM die Kontrolle über eine physische Grafikkarte oder ein anderes PCI-Gerät.
Das bedeutet, eine Plex-VM kann Hardware-Transcoding nutzen, wenn eine kompatible physische GPU durchgereicht und die passenden Gast-Treiber installiert sind. Diese Schlussfolgerung verbindet die Hardware-Anforderungen von Plex mit der Passthrough-Fähigkeit von Proxmox.
Der Nachteil ist die Exklusivität. Vollständiges Passthrough weist das Gerät normalerweise einer einzigen VM zu und verhindert damit, dass der Proxmox-Host oder andere Gäste es gleichzeitig nutzen.
Passthrough verringert außerdem die Flexibilität bei der Migration. Eine Plex-VM, die von einer bestimmten Grafikkarte abhängt, lässt sich nicht ohne Weiteres auf einen Proxmox-Node ohne gleichwertige Hardware und Konfiguration verschieben. Die Proxmox-Dokumentation zur Hochverfügbarkeit warnt, dass Dienste, die an lokale Hardware gebunden sind, nicht frei zwischen Nodes wandern können.
Was bietet die bessere Isolation?
Eine virtuelle Maschine bietet die stärkere Sicherheitsgrenze.
Plex ist ein Netzwerkdienst, der Mediendateien, Metadaten und Anfragen von Client-Geräten verarbeitet. Remote-Zugriff kann den Dienst zusätzlich über das lokale Netzwerk hinaus exponieren.
Läuft Plex in einer VM, trennt ein dedizierter Gast-Kernel den Dienst vom Proxmox-Host. Eine Kompromittierung innerhalb des Gasts muss erst die Virtualisierungsgrenze überwinden, bevor sie den Hypervisor erreicht.
Ein unprivilegierter LXC-Container bietet weiterhin nützliche Isolation, teilt sich aber den Host-Kernel. Eine schwerwiegende Kernel-Schwachstelle könnte sowohl den Container als auch den Host betreffen.
Das macht LXC nicht ungeeignet für Plex. Viele selbst gehostete Dienste laufen zuverlässig in unprivilegierten Containern. Das Risiko sollte lediglich bekannt sein.
Vermeiden Sie privilegiertes LXC, sofern kein konkreter Grund es rechtfertigt. Einen Container zu privilegieren, um Probleme mit Geräteberechtigungen zu lösen, schwächt einen der wichtigsten Sicherheitsmechanismen von LXC.
Wie sollten Sie die Medienbibliothek speichern?
Halten Sie die Anwendungsdaten von Plex getrennt von der Medienbibliothek.
Das Datenverzeichnis von Plex enthält die Datenbank, Metadaten, Artwork, Einstellungen und den Wiedergabeverlauf. Bei einer Standardinstallation unter Debian oder Ubuntu liegen diese Informationen normalerweise unter /var/lib/plexmediaserver. Ein Docker-Deployment nutzt den persistenten Pfad, der bei der Einrichtung gewählt wurde.
Filme, Serien und Musik können auf einem separaten Proxmox-Storage-System, einem NAS oder einem Dateiserver liegen. Der Plex-Gast kann über einen Bind-Mount, eine NFS-Freigabe oder eine SMB-Freigabe darauf zugreifen.
In LXC lässt sich ein Host-Verzeichnis direkt in den Container einbinden. Das ermöglicht effizienten Zugriff, aber über Bind-Mounts eingebundene Daten verhalten sich möglicherweise nicht wie Storage, das dem Proxmox-Container gehört. Proxmox weist darauf hin, dass Bind- und Device-Mounts nicht vom eigenen Storage-Subsystem verwaltet werden.
Eine VM greift auf externe Medien normalerweise über eine Netzwerkfreigabe oder eine angehängte virtuelle Festplatte zu. Netzwerk-Storage bringt etwas Overhead mit sich, schafft aber eine klarere Grenze zwischen dem Proxmox-Host und Plex.
Geben Sie Plex nur lesenden Zugriff auf die Medien, wenn die Originaldateien nicht verändert werden müssen.
Was lässt sich leichter sichern?
Proxmox kann sowohl LXC-Container als auch virtuelle Maschinen sichern. Backup-Archive lassen sich über die Proxmox-Oberfläche oder mit den Wiederherstellungswerkzeugen für Container und VMs zurückspielen.
Ein VM-Backup ist oft leichter nachzuvollziehen, da die virtuellen Festplatten normalerweise als vollständige Block-Devices enthalten sind.
Ein LXC-Backup kann ebenfalls das Root-Dateisystem des Containers schützen. Extern über Bind-Mounts eingebundene Medien und Device-Mounts benötigen unter Umständen einen separaten Schutz, da sie nicht zwangsläufig Teil des normalen Container-Backups sind.
Plex empfiehlt, das Hauptdatenverzeichnis zu sichern. Das schützt Servereinstellungen, Datenbankinformationen, Metadaten und weitere wichtige Anwendungszustände.
Gehen Sie nicht davon aus, dass ein Backup des Plex-Gasts auch die Medienbibliothek schützt. Große Mediensammlungen benötigen in der Regel eine eigene Storage- und Backup-Strategie.
Was lässt sich leichter warten?
Eine VM bietet die klassischere Verwaltungserfahrung.
Sie können Debian oder Ubuntu aktualisieren, Plex über das unterstützte Paket-Repository installieren und mit den üblichen Linux-Anleitungen Probleme beheben. Änderungen am Kernel des Proxmox-Hosts wirken sich mit geringerer Wahrscheinlichkeit direkt auf die Gastumgebung aus.
LXC hat weniger Schichten und benötigt unter Umständen weniger laufende Wartung. Änderungen am Host-Kernel können jedoch das Container-Verhalten, Geräte-Zuordnungen und den Grafikzugriff beeinflussen.
Schlägt Hardware-Transcoding in einer VM fehl, untersuchen Sie normalerweise PCI-Passthrough und Gast-Treiber. Schlägt es in LXC fehl, müssen Sie unter Umständen Host-Treiber, Container-Berechtigungen, Benutzerzuordnungen und den Zugriff des Plex-Dienstes prüfen.
Die VM verbraucht mehr Ressourcen, spart aber oft administrative Zeit.
Sollten Sie LXC oder eine VM wählen?
Wählen Sie LXC, wenn Ihr Proxmox-Host über begrenzten Arbeitsspeicher verfügt, Sie effizienten Zugriff auf Intel Quick Sync möchten und Ihnen die Verwaltung von Linux-Geräteberechtigungen und Mount-Points vertraut ist.
Das ist eine ausgezeichnete Option für einen privaten Medienserver, bei dem Ressourceneffizienz wichtig ist und kurze Wartungsunterbrechungen akzeptabel sind.
Wählen Sie eine virtuelle Maschine, wenn Sie stärkere Isolation, klassische Linux-Verwaltung und eine klarere Trennung vom Proxmox-Host möchten.
Eine VM ist außerdem die sicherere Standardwahl für den geschäftlichen Einsatz, öffentlich erreichbare Deployments und Umgebungen, in denen später ein anderer Administrator das System betreuen muss.
Für die meisten erfahrenen Proxmox-Homelab-Nutzer bietet ein unprivilegierter LXC-Container die beste Effizienz. Nutzern, denen vorhersehbare Fehlerbehebung und Isolation wichtig sind, ist eine kleine Debian- oder Ubuntu-VM den zusätzlichen Ressourcenverbrauch wert.
Die richtige Wahl hängt weniger von Plex selbst ab als davon, wie Sie den Grafikzugriff bereitstellen, die Medienbibliothek einbinden und den Dienst nach einem Ausfall wiederherstellen wollen.