Hilfe beim einrichten von Plex mit einem Fileshare unter Proxmox

SgtYoshi

New Member
Jul 19, 2022
2
0
1
Guten Tag,


erst einmal möchte ich erwähnen das ich sehr neu bin und erst seit ein paar Wochen mit Proxmox "arbeite" oder zumindest versuche damit zu arbeiten. Meine Ansprüche oder Ziele sind nicht sehr hoch, fürs erste zumindest, auch wenn ich weiß das man mit Proxmox EXTREM viel umsetzen kann und ich mich auch auf die Zukunft freue. Allerdings bin ich momentan ziemlich gefrustet da es im Internet tausend unterschiedliche Lösungen für meinen Einsatzweg gibt und keiner hat so richtig funktioniert.

Ich gehe erst einmal drauf ein was ich erreichen will. Ich möchte einen Plex Server hosten, der in der Lage ist mit Hardwarebeschleunigung meine Videos, zum späteren Zeitpunkt, außerhalb meines Heimnetzes zu streamen. Da ich meine ganzen Aufnahmen auf meinem Hauptrechner mache, auf diesem läuft Windows, will ich die Möglichkeit haben per Netzwerkordner die Dateien auf meinen Server hochzuladen. Auf diesen Ordner soll Plex dann ebenfalls zugreifen können, um die Videos in die Mediathek einzubinden.

Mein Specs sind

cpu: i7-6700k
Motherboard: Asus z179 pro Gaming
RAM: Corsair16 GB 3000MHZ ,CMU16GX4M2C3000C15
GPU: gtx960
Netzteil: Corsair 700W non modula
HDD: 4x4TB WD Red EFRX

Ich habe mit meinen 4x4TB HDDS per Proxmox eigenem ZFS einen zfspool erstellt den ich plex-storage nannte mit 11.48 TB an Platz.

File Server

Ich wollte als aller erstes einen File Server, um meine lokale HDD auf meinem Hauptrechner endlich zu entlasten. Dabei bin ich über dieses Video gestolpert was erklärt wie man einen Turnkey Linux based Fileserver in einem LXC Container erstellet.

( https://www.youtube.com/watch?v=UnXxJMjW4LE&list=PLFQPFZlQefZgTV--TcdSa1EfgbMbGgjVy&index=24&t=8s )

Dies hatte auch ohne Probleme funktioniert. Samba aktiviert, in Windows wurde mir mein Share auch angezeigt, nur war es mir anfangs nicht möglich mein zfspool richtig zu mounten so das mir auch die 11TB angezeigt werden. Ich bin darauf auf einen Proxmox Forum Post gestoßen, der folgendes nahe legte, Zitat:


[ Hello prolab:

I tried several different CLI methods before I realized the PVE GUI method was the easiest and best solution for me. To mount a Turnkey Linux File Server CT within Proxmox:

After creating the TKLFS CT, go to Datacenter>[node name]>[TKLFS CT]>Resources>Add>Mount Point.

Mount Point ID: accept default number
Storage: select your ZFS pool name created within PVE CLI
Disk size (GiB): convert the TiB of your ZFS pool size to GiB
Path: /srv/storage

The path is the trick here. PVE's mount point must match that of TKLFS's default path to its storage path (/srv/storage). ]


und hier ist der link, falls man die komplette Konversation nachvollziehen will:

( https://forum.proxmox.com/threads/h...d-turnkey-fileserver-to-share-zfs-pool.56275/ )

das was im Zitat beschrieben wurde habe ich so dann auch nachgemacht und es hatte alles funktioniert.

Plex

Anschließend ging es mit Plex weiter, soweit kein großes Problem. Anfangs konnte ich den Plexmediaserver nicht per command installieren, aber nachdem ich die Ubuntu 3- oder 4-mal geupdatet habe, hatte es dann endlich mal funktioniert. Weiteres einrichten war relativ simpel da ich im Großen und ganzem nur dem unten eingefügtem Video gefolgt bin.

( https://www.youtube.com/watch?v=-HCzLhnNf-A&list=PLFQPFZlQefZgTV--TcdSa1EfgbMbGgjVy&index=6&t=307s )

Nun kommen wir zum Problem wo ich schon gefühlt alles versucht habe was ich zum Thema gefunden habe. Ich hatte sogar auf reddit bereits nachgefragt aber wegen gewissen Sprachbarrieren konnte ich mein Problem nicht so detailliert erklären wie hier. Die Lösungsvorschläge von reddit haben aber ebenfalls nichts gebracht.

Im Video wird ein Network Share gemountet, dies soll die Videos beinhalten die dann in der Plex Anwendung angezeigt werden. Im Video wird dieser mount per /etc/fstab gemacht.


Mit folgendem Commando:



--- //192.168.178.200/upload /PlexMedia cifs username=root,password=123456 0 0 ----



Anschließend habe ich mit mkdir den Ordner /PlexMedia erstellt. Da dies der Ort ist wo der Network Share gemountet werden soll (laut Video)



Aber danach geht nichts mehr, im web UI von Plex tauchen nicht meine Videos auf, die hochgeladen wurden.



Ich habe alles Neu gestartet.
Ich habe alle verschiedenen Variationen vom Commando ausprobiert, mit und ohne smbcredentials, mit sudo mount, mit echo.. alles…



Ich habe versucht einen Share zu kreieren der nicht auf dem zfspool sondern auf der "internen" Festplatte des LXC Containers liegt, hat auch nichts geändert.



Ich habe versucht das selbst zu mounten, mit sudo mount -a, den Befehl hat er nicht mal anerkannt.



Ich bin am Ende mit meinen Nerven und mit meinem Wissen, dieser Forum Post ist wirklich meine letzte Hoffnung irgendwie eine Lösung zu bekommen. Wenn es eine andere Möglichkeit gibt meine oben genannten Ziele umzusetzen dann teilt sie bitte mit mir. Ich bin gerne bereit neues auszuprobieren um das zum Laufen zu bekommen. Da es für mich nicht unbedingt eine VM sein muss, oder ein File Server oder ein LXC Container, Himmel es muss nicht mal unbedingt Proxmox sein, so verzweifelt bin ich.


Ich hatte mich nur für Proxmox entschieden da es so extrem lightweight ist im Gegensatz zu z.b. TrueNAS aber ich wäre auch bereit zu wechseln wenn es mein Leben einfacher machen würde.


Einen Minecraft Server der per LXC Container mit MineOS laufen sollte konnte ich aufsetzen und dieser hatte an sich auch ohne Probleme funktioniert.

Ich bin wirklich JEDEM unendlich dankbar der mir zumindest ein bisschen mit Rat und Tat zur Seite stehen wird und seinen Senf dazu gibt, um einer Lösung näher zu kommen. Ich freue mich sehr auf eure Beiträge.

MfG Yoshi
 
Last edited:
Hallo Yoshi,

Ich weiß nicht, ob ich wirklich helfen kann, ich hänge mich aber mal mit an den Thread, da ich auch das Projekt "Plex" noch vor mir habe. Vielleicht schaffen wir es ja gemeinsam.

Du hast also einen LXC-Container "Turnkey File Server", der die Samba-Freigabe Deiner Filme für Dein Netzwerk macht. Da hast Du richtig festgestellt, dass ein unter Proxmox verfügbarer Ordner per bind mount an den LXC Container durchgereicht und dort verwendet werden kann. Das mache ich auch so für den Zugriff bei mir im Heimnetzwerk.

Dann hast Du eine Ubuntu-VM mit Plex, in der dieser Samba-Share gemountet und dann von Plex genutzt werden soll. Da es bei VMs keine "bind mounts" wie bei Containern gibt, ist die Nutzung über Samba oder NFS schonmal der richtige Weg.

Dein Problem ist jetzt, dass in Plex die Videos nicht auftauchen. Damit Plex diese findet, muss das mounten des Shares erst funktionieren.
Umeinen Share zu mounten gibt es zwei Optionen:
- temporär manuell und
- permanent beim booten der VM:
Beim letzteren muss die Datei "/etc/fstab" editiert werden, wie Du es in Deinem Beispiel getan hast. Ich hoffe die Bindestriche sind nicht enthalten und statt Leerzeichen solltest Du sicherheitshalber den Tabulator verwenden (bin mir nicht sicher, ob das notwendig ist). Die IP ist die von Deinem Turnkey File Server, der den share "upload" zur Verfügung stellt. Der User "root" muss in Deinem Beispiel Zugriff drauf haben.

Voraussetzung fürs CIFS mounten ist, dass die CIFS-Tools installiert sind (Sind vermutlich bei Ubuntu dabei, aber sicher ist sicher):
Dazu per Shell/Console auf die VM gehen und folgenden Befehl ausführen, um benötigte root-Rechte zu erhalten, muss vor die Befehle jeweils ein "sudo " gesetzt werden:
Code:
apt-get install cifs-utils
Wenn er was installiert hat, könnte dies schon Dein Problem nach einem reboot der VM beheben.

Ansonsten bitte den Befehl
Code:
mount
eingeben, dieser sollte Dir alle gemounteten Ordner der VM anzeigen, da sollte also etwas von /PlexMedia stehen, da Du in der /etc/fstab stehen hast, dass der Ordner gemountet werden soll.
Wenn nicht, dann weiter beim nächsten Punkt "Temporär mounten:", ansonsten weiter bei "Mountinhalt prüfen"
Achtung: In Linux sind die Ordner "PlexMedia" und "Plexmedia" zwei verschiedene, also immer auf die gleiche Schreibweise achten!

Temporär mounten:
Code:
mount -t cifs //192.168.178.200/upload /PlexMedia -o username=root,password=123456
Die IP ist die von Deinem Turnkey File Server, der den share "upload" zur Verfügung stellt. Der User "root" muss in dem Beispiel Zugriff drauf haben.

Mountinhalt prüfen:
Lass Dir die im Ordner PlexMedia enthaltenen Dateien anzeigen:
Code:
ls /PlexMedia
Sind die gewünschten Videos da?

Erst wenn die Videos da angezeigt werden, macht es Sinn mit Plex weiterzumachen (da kann ich aber tatsächlich noch nichts dazu sagen.

Ich hoffe, ich habe nicht noch mehr Verwirrung gestiftet...

Viele Grüße
Daniel
 
Also erst einmal vielen vielen Dank für deine Antwort und Lösungsvorschläge. Ich habe nachdem Post noch einmal alles frisch gemacht: VM neu aufgesetzt, LXC Container neu aufgesetzt und ZFS pool neu aufgesetzt. Der einzige Unterschied ich habe diesmal ÜBERALL das gleiche Passwort genutzt (was unsicher ist aber zum reinen Testen war mir das Egal). Beim Turnkey File Server habe ich diesmal allerdings einen Benutzer erstellt und diesem dann alle nötigen Rechte für die Ordner und den Share gegeben (Meine Hoffnungen war relativ gering, dass dies irgendwas ändern wird.


Dann wieder den ZFS pool eingebunden (bin froh, dass man das so an sich auch macht, fühlte sich extrem sketchy an :D). File Server lief, Filme wurden im WebGUI angezeigt. Dann ging es mit Plex weiter, dort erst einmal alles doppelt und dreifach geupdatet.

Abschließend dann die fstab bearbeitet und zu meiner kompletten Überraschung. es hatte funktioniert. Ich war komplett begeistert aber verwirrt zu gleich. Ich habe 2 Theorien eine ist mehr möglich als die andere.

Theorie 1: Der File Server kommt vielleicht mit root nicht ganz klar, beim ersten Versuch hat es auch erst nach mehrmaligem Container Neustart
funktioniert das root ein Passwort zugewiesen wurde. Diesmal habe ich einen Benutzer erstellt und diesen auch genutzt, war zwar nervig diesem die ganzen Rechte für die Ordner zu geben ABER vielleicht war dies meine Lösung.

Theorie 2: Da ich vielen englischen Tutorials gefolgt bin, habe ich nicht unbedingt drauf geachtet, ob ich jetzt Englische Sprache oder Deutsche auswähle, so auch beim Layout der Tastatur. Nun hatte ich bei MineOS z.b. festgestellt das die # Taste im Englischen ein / ist. Also kann ich mir gut vorstellen das ich die ganze Zeit das falsche Passwort eingegeben habe.

Aber alles was zählt ist das es jetzt doch funktioniert hat, worüber ich sehr glücklich bin. Da du geschrieben hattest das du Plex auch noch vor dir hast würde ich dir gerne mal Jellyfin ans Herz legen dir das anzuschauen. Ich habe es leider erst entdeckt, NACHDEM ich bereits einen Plex pass gekauft hatte. Jellyfin war für mich weniger mit den Shows von Plex überladen und bot eine cleane und saubere Oberfläche. Ebenfalls hat das Updaten der Metadaten RICHTIG gut funktioniert. Also ich war echt richtig begeistert von Jellyfin.

Leider bin ich aber nach all dem auf mein nächstes Problem gestoßen. Ich würde gerne meine Filme auch unterwegs schauen, dafür will ich Hardwarebeschleunigung nutzen, um diese besser zu transcodieren. Ich habe mir dafür viele Guides, Tutorials und Forum Posts durchgeschaut, um mein GPU passthrough zum Laufen zu bringen, aber kein Glück. Jedes Mal, wenn ich einer meiner VM meine GPU zur Verfügung stellen will, hat Proxmox einen totalen Ausfall, so hart, dass ich den Server manuell abschalten und wieder hochfahren muss. Ich bin diesen Guides gefolgt:

https://www.reddit.com/r/homelab/comments/b5xpua/the_ultimate_beginners_guide_to_gpu_passthrough/
https://www.reddit.com/r/Proxmox/comments/lcnn5w/proxmox_pcie_passthrough_in_2_minutes/

Wenn du zu diesem Thema auch noch Input hast, würde mich das sehr freuen.

Nichtsdestotrotz möchte ich mich nochmal vielmals für deine Antwort und deine Lösungsvorschläge bedanken.

MfG Yoshi
 
Prima, dass Du mit der Freigabe erfolgreich warst! :)
Beim Thema Hardwarebeschleunigung kann ich tatsächlich nicht weiterhelfen. Hab den Plex pass schon länger, allerdings auch schon länger nicht mehr in Nutzung gehabt. Diese Woche habe einen einen Plex-Container mit folgendem Skript erstellt, welches auch Hardware-Acceleration bieten soll (hab nur keine gfx um das zu testen). Hat grundsätzlich reibungslos funktioniert. Ein Jellyfin Containerscript gibts da auch:
https://tteck.github.io/Proxmox/

Viele Grüße und viel Erfolg,
Daniel

PS: Ein Tip für spätere Leser: Statt der Samba-Freigabe über einen Container, kann auch direkt über ZFS mit dem setzen entsprechender Attribute eine NFS oder SMB Freigabe eines Datasets bereitgestellt werden. Hat dann meinem Verständnis nach weniger Overhead, ist aber nicht so filigran zu administrieren.
 
ZFS macht da auch nichts anderes als den SMB/NFS server zu benutzen den du installierst. ZFS setzt da nur die Konfigs für dich, dass man da nicht selbst die NFS/SMB Konfig-Dateien editieren muss.

Bezüglich PCI Passthrough musst du gucken, dass da die GPU in einer eigenen IOMMU Gruppe ist. Man reicht keine einzelnen Geräte in eine VM durch, sondern immer eine ganze IOMMU Gruppe die aus etlichen Geräten bestehen kann. Ist deine GPU dann z.b. in einer Gruppe mit dem Disk Controller, RAM Controller oder ähnlichem, dann werden die ebenfalls in die VM durchgereicht und der Rechner schmiert ab, da dein PVE Host dann plötzlich kein RAM oder Disks mehr hat.

Ob da PCI Passthrough überhaupt klappt hängt stark von der GPU, dem Mainboard, dem verwendeten PCI Slot und dem BIOS ab.
 
@DanielEis: Wie setzt man das genau um in Proxmox?
PS: Ein Tip für spätere Leser: Statt der Samba-Freigabe über einen Container, kann auch direkt über ZFS mit dem setzen entsprechender Attribute eine NFS oder SMB Freigabe eines Datasets bereitgestellt werden. Hat dann meinem Verständnis nach weniger Overhead, ist aber nicht so filigran zu administrieren.
 
@DanielEis: Wie setzt man das genau um in Proxmox?
Hat nichts speziell mit Proxmox zu tun, nur mit ZFS und eben SMB oder NFS Server. Ich gebs mal verkürzt in eigenen Worten am Beispiel von NFS wieder:
Auf Proxmox muss (über die Shell) der NFS Server installiert sein:
Code:
apt install nfs-kernel-server
Um jetzt beispielsweise eine NFS Freigabe direkt von dem zfs dataset tank/data für das Heimnetzwerk 192.168.0.0 mit Schreibzugriff freizugeben, muss folgendes Attribut gesetzt werden:
Code:
zfs set sharenfs=rw=@192.168.0.0/24,no_root_squash tank/data
Mit zfs get sharenfs tank/data kann man nachsehen, ob das Attribut richtig gesetzt wurde.

Je nachdem was man genau machen will, und um was für Daten/Freigaben es sich handelt, kann das halt eine gute Option sein.

Mit Samba geht das auch so, nur eben mit dem zfs Attribut "sharesmb".

Weitere Infos z.B. unter:
https://linuxhint.com/share-zfs-filesystems-nfs/#I
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!