NFS Share in previligiertem Lxc Container einbinden

InShield

Member
Nov 20, 2020
34
2
13
45
Ich will in einem privilegiertem Lxc Nextcloud Container einen NFS Share einbinden, auf welchen dann die eigentlichen Daten liegen sollen.

Jetzt habe ich ja schon gelesen, dass es mit unpreviligierten Container zwar auch möglich sein soll, es aber nicht mehr "so einfach" sein soll.
Daher hab ich mir mal einen previligierten Container gebaut und die NFS Share Option aktiviert.

Ich kann im laufenden Container den Mount auch einbinden mit:
Code:
sudo mount 192.168.178.202:/mnt/dump/nextcloud /mnt/test

Aber ich brauche den Mount ja dauerhaft und nicht einmalig. Eine Fstab ist in dem Nextcloud Lxc nicht auffindbar.

Jetzt gibt es ja die Möglichkeit das ganze über die Container Config Datei zu machen. Das klappt auch soweit. Hier der Code den ich eingefügt habe:
Code:
mp0: /mnt/pve/Nextcloud,mp=/mnt/nextcloud

Nach einem Reboot des Containers ist das Ding dann auch unter /mnt/nextcloud im Container auffindbar wie gewünscht.

Ich muss aber wenn ich den Storage unter Proxmox einbinde zwingend angeben, welche "Inhalte" ich dort speichern will. Ich will aber dort keine VM-Images ablegen oder ähnliches. Ich verwende es quasi nur, um diesen Bind in den Lxc Container zu bekommen, was ich auf anderen Wege leider bisher nicht geschafft habe.


Wie wäre daher hier die korrekte Vorgehensweise? Ich bekomme sonst auch immer die Ordnerstruktur je nach Inhaltsangabe von Proxmox in den Share reingeschrieben, was ich ja nicht will. Der Mount innerhalb von Proxmox ist bei mir ja nur Mittel zum Zweck, damit der NFS Share im Container dauerhaft gemountet bleibt.

Kann man einen Storage in Proxmox "blanko" einbinden, ganz ohne irgendwelche "Inhaltsangaben"?


Ich hoffe ihr versteht mein Anliegen und könnt mir weiter helfen :)



EDIT: Ich habe auch damit schon rumgespielt, hatte bisher damit aber keinen Erfolg und mir ist leider auch nicht klar, wo die Unterschiede zur mpß Option liegen:
Code:
lxc.mount.entry = //192.168.178.202/mnt/dump/nextcloud nextcloud none bind,create=dir 0 0

Der Container ist gestartet, aber ich habe keine Ahnung, was wohin dann gemountet wird und ich habe weder in Proxmox noch im Nextcloud Container dazu dann den Einhängepunkt gefunden ?!


Ich habe wohl noch generelle Verständnisprobleme mit NFS Shares und den Lxc Containern :D
 
Last edited:
Ich würde echt nicht raten einen privilegierten LXC für Nextcloud zu nehmen. Dann hast du einen Webserver frei vom Internet aus zugänglich auf dem weit verbreitete Software läuft. Machst du da was aus Unwissenheit falsch ist da schnell der LXC gehackt und ein privilegierter LXC ist nur minimal isoliert, dass das dann nicht so schwer ist auch gleich noch den kompletten Proxmox-Server zu übernehmen. Würde bei Webservern wegen der Sicherheit echt zur VM raten. Wenn da dann was schiefgeht, dann bleibt das wenigstens auf die VM beschränkt.

Hast du schon an einen Cron-Eintrag oder Systemd-Dienst gedacht der dir den NFS share beim starten des LXC einhängt?

Wenn du das mit dem bind-mount machst (mp0) kannst du z.B. auch einen NFS share direkt auf dem Proxmox-Host einbinden ohne die ProxmoxGUI, wo man immer einen Storage-Typ wählen muss. Hier geht auch wieder fstab, systemd, cron etc.
 
Last edited:
Danke Dunuin für deine Antwort :) Wenn ich nur halb so viel wüsste wie du, würde mir das wohl schon reichen :D


Mir war nicht bewusst, dass es "soo" unsicher ist einen privilegierten Container zu betreiben. Ok dann ist diese Option schon mal raus :)

Aber vom Grundprinzip ist es so, dass ich wenn ich diesen "Bind-Mount" machen will in einem Container, dass der NFS Share also erst im Proxmox Host gemounted sein muss? Ein Bind-Mount direkt auf die Serveradresse geht nicht ohne den Umweg? Also so in der Art:

Code:
mp0: //SERVERIP/SERVER_ORDNER,mp=/mnt/nextcloud


Und wo ist der generelle Unterschied von mp0 und lxc.mount.entry? Soweit ich das jetzt gelesen habe, sollte heutzutags wohl immer mp0 verwendet werden und lxc.mount.entry wurde früher oft verwendet?!

Hast du schon an einen Cron-Eintrag oder Systemd-Dienst gedacht der dir den NFS share beim starten des LXC einhängt?

Du meinst im LXC Container selbst?
 
Aber vom Grundprinzip ist es so, dass ich wenn ich diesen "Bind-Mount" machen will in einem Container, dass der NFS Share also erst im Proxmox Host gemounted sein muss? Ein Bind-Mount direkt auf die Serveradresse geht nicht ohne den Umweg? Also so in der Art:

Code:
mp0: //SERVERIP/SERVER_ORDNER,mp=/mnt/nextcloud
Denke nicht das das geht. Ein Bind-Mount ist ja kein normaler Mount sondern nur eine Art Verweis auf einen anderen Ordner. Würde denken, dass da das der Quellordnern auch ein normaler lokaler Ordner sein muss.
Und wo ist der generelle Unterschied von mp0 und lxc.mount.entry? Soweit ich das jetzt gelesen habe, sollte heutzutags wohl immer mp0 verwendet werden und lxc.mount.entry wurde früher oft verwendet?!
Das weiß ich leider auch nicht. Ich habe bisher nur mp0, mp1 etc benutzt.
Du meinst im LXC Container selbst?
Ja. Bei mir haben die LXCs alle eine Crontab.
 
Aha, wie sieht denn ein Crontab für einen Mount bei Containerboot aus?

Ich kenne nur die "normalen" Crontabs die etwas in bestimmten Zeitabständen machen. Was anderes habe ich bisher nicht benutzt.
 
Du kannst "@reboot" nutzen, damit ein Befehl einmalig beim Start des Systems von root ausgeführt wird. Also z.B. sowas wie @reboot /bin/mount -t nfs 10.10.0.10:/share /mnt/share. Im Gegensatz zu Systemd kann man da aber glaube ich nicht bestimmen wann genau das zum Start ausgeführt wird bzw nicht checken, ob das Netzwerk z.B. schon fertig hochgefahren ist. Das wird halt immer dann ausgeführt, sobald cron initialisiert wird.
 
Last edited:
Also wäre es besser per systemd. Wie ginge das da? Also inklusive hochgefahrenem Netzwerk, sonst bringt es ja nichts :D

Aber das von dir beschriebene geht jetzt nur in VM´s, oder? Denn in Containern ginge das ja nur als privilegierter was ich ja in diesem Fall vermeiden sollte.
 
Also wäre es besser per systemd. Wie ginge das da? Also inklusive hochgefahrenem Netzwerk, sonst bringt es ja nichts :D

Aber das von dir beschriebene geht jetzt nur in VM´s, oder? Denn in Containern ginge das ja nur als privilegierter was ich ja in diesem Fall vermeiden sollte.
Für Systemd muss man sich einen eigenen Systemd-Service erstellen der dann das mounten übernimmt
Und ja, würde dann höchstens im privilegierten LXC gehen. Unprivilegierter LXC kann ja selbst keine Shares mounten. Da geht das dann ja nur über den Umweg, dass da der Host den Share mountet und man den per bind-mount durchreicht.
Bei VMs sollte ja alles gehen. Fstab, systemd, cron, ...
 
Ah ok ich glaube jetzt habe ich das soweit alles verstanden :)

Wie immer vielen Dank für deine superkompetente und schnelle Hilfe ;-)

Ich werde jetzt tatsächlich lieber eine VM nehmen bei Diensten die auch im Internet hängen. Und dann ist auch der NFS Mount kein Problem :)
 
Eine Frage ist mir doch noch unklar: die MP0 also diese Mount Point Binds nenne ich jetzt mal; das geht dann quasi auch in einem unprivilegierten Container, da es ja aus Containersicht kein NFS Mount ist, weil der NFS Mount ja auf dem Proxmox passiert und dann eben nur dieser Mount Point in den Container gereicht wird, oder?

Und das wäre dann quasi wieder "sicher"?!
 
Eine Frage ist mir doch noch unklar: die MP0 also diese Mount Point Binds nenne ich jetzt mal; das geht dann quasi auch in einem unprivilegierten Container, da es ja aus Containersicht kein NFS Mount ist, weil der NFS Mount ja auf dem Proxmox passiert und dann eben nur dieser Mount Point in den Container gereicht wird, oder?
Jup
Und das wäre dann quasi wieder "sicher"?!
Wenigstens sicherer. Ist auch immer etwas die Frage bezüglich des Sicherheitsanspruches. Aber Container sind halt nie wirklich isoliert und den VMs immer in Bezug auf Sicherheit und Zuverlässigkeit unterlegen. Wenn du nicht suuuper knappe Ressourcen hast, dann würde ich persönlich für Webserver etc immer VMs nehmen.
 
Last edited:
Wenn du nicht suuuper knappe Ressourcen hast, dann würde ich persönlich für Webserver etc immer VMs nehmen.
So wird´s gemacht ;-)

Vielen Dank für deine super Hilfe ;-)
 

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!