HDD in LXC einbinden

Master67

Active Member
Mar 18, 2020
70
2
28
57
https://pve.proxmox.com/wiki/Linux_Container#pct_settings a bit down on "Mount Points"

Hmmm..... könnte Ihr mir das mal übersetzen :)

Ich möchte meine Window 10 VMs in Rente schicken, bei mir liegen die Serien und Filme alle auf NTFS HDDs und diese habe ich mit folgenden Befehl an die VM durchgereicht Code:
Code:
qm set  200  -virtio2 /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K3YVNX33

Nun mit dem Mounten direkt in einem Linux Verzeichnis habe ich so meine Probleme weil ich nicht so genau weis was für Parameter ich da alle setzten muss (ich kenne mich einfach zuwenig mit Linux aus)

Wenn ich die o.g. HDD an den LXC Container durchreichen möchte, wie würde die Befehlszeile denn aussehen?
 
Hallo,

ich habe mir selbst eine Anleiung geschrieben :


Proxmox HDD an LXC durchreichen

parted /dev/sdb "mklabel gpt"


Partition erzeugen

parted /dev/sdb "mkpart primary ext4 1M -1"


Dateisystem erzeugen

mkfs -t ext4 /dev/sdb1


Mount-Point erstellen

mkdir /media/disk


HDD mounten in fstab

nano /etc/fstab

/dev/sdb1 /media/disk ext4 defaults 0 1

Vielleicht benötigst du nur den Fstab-Eintrag auf NTFS abgeändert und den Mountpoint.
 
Okay.... erstmal danke, also die Platte muss natürlich im NTFS Format bleiben, ein Formatieren würde ja alle Daten löschen.

Ich glaube das ist für mich doch einfach zu Kompliziert und die zwei Windows 10 VMs müssen doch noch weiterarbeiten (1.PVE mit Plex Win10 - 2.PVE mit Win10 als Nas dort liegt die HDD)... es läuft ja.... also besser nichts verändern... bevor ich mir den Cluster zerstöre ;-)

Dennoch Danke für den versuch mir zu Helfen
 
Das hat mir keine Ruhe gelassen, also nach ein paar Videos und rumprobieren konnte ich die HDD mit dem NTFS Format, Mounten aber ich bekommen die nicht in den Container, weil die Platte im Host PVE2 liegt und der Container in Host PVE1 liegt das durchreichen per
Code:
 pct set 114 -mp0 /mnt/ssdi/,mp=/mnt/drive1
schlägt dann natürlich fehl.

Was muss ich als "mp0" Ersatz eintragen einfach nur "pve2"? also so...
Code:
 pct set 114 -pve2 /mnt/ssdi/,mp=/mnt/drive1
????

Und müsste ich den "mp" nicht auch ändern.. in "pve1"?... Fragen über Fragen :)
 
Last edited:
weil die Platte im Host PVE2 liegt und der Container in Host PVE1 liegt das durchreichen per
in dem fall kann man die platte nicht direkt dem container geben, da sie ja nicht auf dem gleichen host ist
was man machen kann ist das verzeichnis im netzwerk teilen (mit nfs zb) und das auf dem richtigen host mounten + durchgeben
 
Danke... dachte ich mir schon fast so.
Meine Überlegung war das ich so die Speicherhunrigen Windows VMs sparen könnte, ich muss aber mit meinen Möglichkeiten Arbeiten die ich habe und da ist es die einfachste Variante die wie es jetzt ist.
Die HDDs auf Pve2 nach Windows 10 durchzureichen, diese dann in Win10 freigeben und dann im Pve1 in Windows 10 einzuholen.

Ich werde mich dann mal anderen Baustellen zuwenden , Danke dir
 
Okay.... ich bin immer noch am "Umstellen"... meine nächste Überlegung ist/war eine OMV VM zu erstellen und die dort (PVE2) freigegebenen HDDs an Plex auf PVE1 freizugeben, die Platten sind ja für das komplette "Netzwerk" freigegeben.
Nur wie Mounten ich den diese jetzt schon wieder in Ubuntu 20.04 (Konsole), ich finde hierzu keine wirklich verständliche Anleitung per Google (ggf. sind meine Suchbegriffe auch nur falsch gewählt).
Hintergrund auch hier eine OVM VM gegen zwei Win10 VMs tauschen :)
 
Echt schwer die passende Anleitung für das Mounten von Netzwerk HDDs zu finden ich habe da mal was zusammen gestellt, und bevor ich das in die CT haue könnt ihr das mal kurz prüfen!?

Ip = OMV - srv/ usw. ist der Eintrag der Platte in OMV fstab...... den Rest dazwischen habe ich übernommen und die Platte soll in "/mount/data" gemountet werden.
Code:
mount -t ext4 192.168.1.10:/srv/dev-disk-by-label-SSD110/SSD110/export/SSD110  none    bind,nofail     0 0 /mount/data

Würde das funktionieren?
 
Warum nicht einfach die NTFS-Festplatte auf dem einen Node in einer VM als SMB-Share bereitstellen und dann denn SMB-Share in der VM im anderen Node mounten? Das muss doch von Haus aus gut mit NTFS umgehen können, da es für NTFS entwickelt wurde.
NFS hätte bessere Performance, aber da wird es komplizierter wenn man Authentifikation will.

Ich mag das Ubuntuusers-Wiki. Das meiste was da steht kann man 1-zu-1 für Debian übernehmen, da ja Ubuntu auch nur ein Debian-Fork ist.
Für NFS: https://wiki.ubuntuusers.de/NFS/#Auf-Freigaben-zugreifen
Für SMB: https://wiki.ubuntuusers.de/Samba_Client_cifs
 
Sorry was ist eine "Node" und einen SMB Share habe ich ja schon per OMV... Ubuntuusers-Wiki kennen ich, Persönlich finde ich es nur Bedingt Nutzbar weil es sehr oft auf einer Seite unzählige Anleitungen z.B. zum Thema "mouten" mit wirklich sehr ausführlichen Beschreibungen gibt, ein mehr "Authentischere Beispiel Code" wäre oft besser.

Aber, ehrlich ich Persönlich habe auch keine Lust mehr auf einen LXC Container in dem Plex läuft, wenn das so kompliziert ist das ich nun schon über eine Woche versuche das Einzurichten.

Ich habe mich dazu entschlossen das so zu machen wie ich es kann, die Windows VM wird durch die OMV VM ersetzt (benötigt etwas weniger Server Power), die dort "Freigegebenen" HDDs können ja ganz leicht in die dann noch verbleibende Windows VM (LXC "Plex" wird gelöscht) eingebunden werden.
Ist dann zwar nur ein Teilerfolg, aber für mich machbar :)

P.S. das Thema kann Geschlossen werden, Danke
 
Last edited:
Also SMB-Share in einen unprivilegierten LXC einbinden hatte ich hinbekommen. Du musst den SMB-Share halt per fstab direkt in Proxmox selbst einbinden und dann den Mountpoint vom Proxmox-Host in den LXC durchreichen. Dann das UserMapping per Hand für den LXC anpassen, da du sonst im LXC keine rechte mehr hast etwas auf dem SMB-Share zu tun. Ich weiß nicht ob du einen priviligierten oder unprivilegierten LXC erstellt hast, aber bei einem unpriviligierten kannst du generell nicht im LXC selbst mounten. Egal ob NFS, SMB oder sonst was.

Das hatte ich hier letztens erklärt: https://forum.proxmox.com/threads/homeserver-hardwareberatung.76868/post-348251

Aber ja, das ist schon ziemlich viel Gefrickel wenn man einen Netzwerk-Share in einem LXC einbinden will. VMs sind mir da im Normalfall auch viel lieber.
 
Last edited:
@Dunuin... tolle Arbeit... aber (ich glaube hier Denken viele, der lässt Proxmox laufen also Kennt er sich aus) ich verstehe ggf. grade mal 20% von dem was du da im Howto schreibst, für mich nicht nachzubauen ohne erst Tage- oder Wochen lang mich mit der Sache auseinander zu setzten.

Proxmox ist ein Hobby das mir grade in den letzten Wochen viel Zeit (leider zu viel Zeit, meine Arbeit leidet schon ein bisschen...) gekostet hat, ich brauche eine Lösung die ich Realisieren kann und das ohne weiter Wochen damit zu verbringen etwas zu wollen was ich nicht Herstellen kann, aber ein Kompromiss der läuft ist vorhanden... wofür soll ich mich entscheiden?... hatte ich ja oben schon genannt für den Kompromiss.

@all... Ihr macht hier tolle Arbeit, weiter so.. ich bin einfach nur noch nicht soweit dem folgen zu können!
 
Einen hab ich noch, wollt eben den Container löschen und dachte mir "egal, spiele ein bisschen in der fstab rum, willst das ja eh löschen",
ich hatte mir vorher einfach was aus Ubuntuusers-Wiki rauskopiert und zusammen gebaut (mit voll Geheimer PW Datei :) )

Code:
//192.168.178.10/ssd110 /mnt/ssd120 cifs credentials=/root/.smbcredentials  0 0

Ich denke ich bin da gar nicht soweit weg, aber dennoch erhalte ich eine Fehlermeldung:

"mount: /etc/fstab: parse error at line 2 -- ignored"

Okay was habe ich da falsch Eingetragen?

Edit: bin ein Stück weiter jetzt "mount: /mnt/ssd120: permission denied." ich hab hier die Rechte schon auf 777 gesetzt bleibt aber gleich!
 
Last edited:
Wie gesagt, ist bei dem LXC "unprivileged" aktiviert oder nicht? Falls ja wird da immer "permission denied" kommen, da man in einem solchen unprivilegierten LXC nichts mounten kann. Dann müsstest du den Share in Proxmox selbst in der fstab eintragen und nicht in der fstab vom LXC und danach müsstest du den Ordner von Proxmox zum LXC (geht über die GUI des LXC) durchreichen.

Hast du die Datei "/root/.smbcredentials" angelegt und für root lesbar gemacht?
Hast du den Ordner "/mnt/ssd120" vorher angelegt und root für den als Besitzer gesetzt?
 
Last edited:
Okay.. der Container ist unprivilegiert, ich habe die .smbcredentials im root verzeichnis erstellt und dann die Rechte mit "chmod 600 ~/.smbcredentials " gesetzt und ja das Verzeichnis "/mnt/ssd120" vorher angelegt und das sollte auch für "root" sein den es gibt keinen anderen Nutzer im Container.

Also muss der Container auf Privilegiert umgestellte werden?...
 
Okay.. der Container ist unprivilegiert, ich habe die .smbcredentials im root verzeichnis erstellt und dann die Rechte mit "chmod 600 ~/.smbcredentials " gesetzt und ja das Verzeichnis "/mnt/ssd120" vorher angelegt und das sollte auch für "root" sein den es gibt keinen anderen Nutzer im Container.

Also muss der Container auf Privilegiert umgestellte werden?...
Ja. Sonst geht das definitiv nicht so wie du das versuchst. Unprivilegierten Containern werden die meisten Rechte, inkl. dem Recht etwas zu mounten, wegen der Sicherheit und Isolation entzogen. Das würde sonst dann nur so indirekt, wie ich das in dem Link beschrieben habe, funktionieren. Hängt halt auch etwas davon ab was du im LXC machen willst. Docker geht z.B. glaube ich nur im unprivilegierten LXC.
 
Last edited:
Gut.... aber wie ändere ich das?
In den "Optionen" lässt sich das nicht Umstellen muss ich den Container noch mal Erstellen?, was überhaupt kein Problem ist :)
 
Ich sehe da zwar unter Options -> Features einen Punkt "Unprivileged container = Yes" aber darf den bei mir über die GUI nicht ändern. Kann aber auch daran liegen, dass da bei mir Nesting aktiviert ist und das "unprivileged" erfordert. Falls das kein Problem ist erstell den LXC doch einfach neu und setze dann keine Checkbox bei "unprivileged".
Wenn der LXC dann privilegiert ist, dann kannst du unter "DeinLXC -> Options -> Features -> CIFS/NFS" erlauben dass da SMB-Shares erlaubt sind. Bei unprivilegierten LXCs ist das ausgegraut weil verboten.
 
@Dunuin..... danke für deine tolle Unterstützung :)
Ich kann Vermelden es läuft genauso (eine "Schei..egal Einstellung Hilft doch hin und wieder, denn zum Schluss war mir egal ob ich was "kaputt" mache) wie ich das haben wollte.

Für alle die so ein Problem auch haben, zähle ich kurz auf was ich jetzt getan habe:

1. LXC Container mit Ubuntu 20.04 als "Privilegiert" (haken bei "Unprivilegiert" bei der Installation entfernt) erstellt, und unter Optionen "Features
und CIFS / NFS angehakt.

2. OMV IP der VM und Freigabename (nicht den AbsolutenPfad) der HDD ermittelt z.B. //192.168.178.10/ssd110

3. Dann im LXC Container einen mountpunkt erstell für die HDD die das OMV Freigibt z.B /mnt/ssd120 das sieht dann zusammen schon mal so aus:
//192.168.178.10/ssd110 /mnt/ssd120

4. Dann den Anweisungen in der wiki.ubuntuusers, also hier zuerst
Code:
apt-get install cifs-utils keyutils
auf den LXC installiert dann weiter zum Absatz "Eintrag in /etc/fstab" gesprungen https://wiki.ubuntuusers.de/Samba_Client_cifs/ den Absatz durchgearbeitet und mich hierbei für
die PW Datei ".smbcredentials" entschieden.

5. Nun nur noch den restlichen Code zum mounten zusammengefügt und das ergab dann folgenden Eintrag:
Code:
//192.168.178.10/ssd110  /mnt/ssd120  cifs  credentials=/root/ .smbcredentials  0 0
der auch funktioniert ;)
 
  • Like
Reactions: Dunuin

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!