Samba-Server in unprivilegierten LXC einbinden

Probleme mit Samba, NFS, FTP und Co.
Antworten
flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 25.09.2020 13:14:10

Hallihallo,

ich möchte einen SMB1-Server (Fritz-Box unterstütz nichts neueres) in einen meiner Proxmox LXCs einbinden, folgenden zwei Möglichkeiten habe ich versucht:
1. Direkt im LXC einbinden: geht nicht da es ein unprivileged Container ist und dieser Probleme mit den Rechten hat
2. Im Hostsystem einbinden: funktioniert gut (z.B um Backups drauf zu spielen) aber lässt sich nicht als Festplatte an den Container anbinden, es kommt die Fehlermeldung:

Parameter verification failed. (400)
mp1: unable to apply pending change mp1 : command 'mkfs.ext4 -O mmp -E 'root_owner=100000:100000' /mnt/smb/images/100/vm-100-disk-0.raw' failed: exit code 1

sieht für mich so aus als kann auf der virtuellen Festplatte nichts geschrieben werden...

Hat jemand eine Lösung für das Problem oder ne Idee es zu umgehen?

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 25.09.2020 17:29:31

flo1005 hat geschrieben: ↑ zum Beitrag ↑
25.09.2020 13:14:10
2. Im Hostsystem einbinden: funktioniert gut (z.B um Backups drauf zu spielen) aber lässt sich nicht als Festplatte an den Container anbinden, es kommt die Fehlermeldung:

Parameter verification failed. (400)
mp1: unable to apply pending change mp1 : command 'mkfs.ext4 -O mmp -E 'root_owner=100000:100000' /mnt/smb/images/100/vm-100-disk-0.raw' failed: exit code 1
Was treibst du da? Du willst eine Datei, die auf einem Samba-Share liegt, in einem Container als Image verwenden und darin via mkfs.ext4 ein Dateisystem erzeugen?

Vielleicht erklärst du, was du eigentlich bezweckst – möglicherweise gibt es bessere Lösungen als durch die Brust ins Auge zu stechen :-)

flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 25.09.2020 18:33:22

Also eigendlich geht es mir nur darum ein Samba-Server als Backup-Server(der ist aktuell lehr) einzubinden.
Da die Dateien aber mehrere hundert GB groß sind dauert das "normale" Proxmox-Backup halt zu lange, daher die Idee mit rsync das ganze kurz zu halten.
Rest steht ja in meinem ersten Beitrag

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 25.09.2020 21:37:31

flo1005 hat geschrieben: ↑ zum Beitrag ↑
25.09.2020 18:33:22
Also eigendlich geht es mir nur darum ein Samba-Server als Backup-Server(der ist aktuell lehr) einzubinden.
Da die Dateien aber mehrere hundert GB groß sind dauert das "normale" Proxmox-Backup halt zu lange, daher die Idee mit rsync das ganze kurz zu halten.
Nutze was anderes als rsync oder rsnapshot. Meine LXC-Container sichern sich selbst über Debianborgbackup, da ist das Dateisystem auf der Zielseite relativ egal. Da borgbackup auf Chunk-Ebene dedupliziert und komprimiert, ist das m.E. auch effizienter als rsync/rsnapshot, das immer nur komplette Dateien vergleichen kann.

Das erscheint mir einfacher als über CIFS gemountete Abbilddateien.

flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 26.09.2020 10:38:59

Das Programm werde ich auf jedenfall nehmen, danke...
Jedoch bleibt das Problem das ich aus dem Container kein Zugriff auf das Samba Verzeichnis habe...

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 26.09.2020 14:32:04

flo1005 hat geschrieben: ↑ zum Beitrag ↑
26.09.2020 10:38:59
Jedoch bleibt das Problem das ich aus dem Container kein Zugriff auf das Samba Verzeichnis habe...
Versuch folgendes:
  • Mounte das Samba-Share in das Dateisystem des Hosts, siehe Wiki-Artikel zum Thema Netzlaufwerke einbinden
  • Mounte den Mountpoint wiederum in das Dateisystem des Containers, siehe lxc.mount.entry/man 5 lxc.container.conf

flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 27.09.2020 21:52:40

Scheint nicht zu funktionieren :(
müsste eigendlich kein Fehler drin sein:

lxc.mount.entry: /mnt/smb /mnt/smb none bind 0 0

aber der Ordner bleibt lehr und Dateien die ich erstelle werden nicht auf dem Samba-Server angezeigt

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 27.09.2020 23:28:03

flo1005 hat geschrieben: ↑ zum Beitrag ↑
27.09.2020 21:52:40
müsste eigendlich kein Fehler drin sein:

lxc.mount.entry: /mnt/smb /mnt/smb none bind 0 0
Doch, ist ein Fehler drin. :P Der Mountpoint muss relativ (d.h. ohne führenden Slash) angegeben werden. Das überliest man leicht in der Manpage und ist m.E. auch ziemlich unintuitiv.

So sollte es klappen:

Code: Alles auswählen

lxc.mount.entry = /mnt/smb mnt/smb none bind 0 0
Wichtig: der Mountpoint ist nur innerhalb des Containers funktional. Wenn du von außerhalb des Containers in den Pfad innerhalb des Containers schaust, wirst du nur ein leeres Verzeichnis sehen.

flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 28.09.2020 23:08:35

Wow, das hab ich jetzt nicht erwartet :D
Hat tatsächlich funktioniert, danke dir.
Das überliest man leicht in der Manpage und ist m.E. auch ziemlich unintuitiv.
Überlesen hab ichs nicht aber mit meinem Englisch nicht verstanden und gehofft ohne das Argument relative unwichtig zu sein xD
bei dem ganzen gelaber von fstab format hätte man schon denken können das es wie ein Eintrag in fstab funktioniert...

Wär cool wenn du mir noch kurz erklären könntest ob das immer einfach ohne / ist oder wo da der Sinn ist

Edit: Ich seh grad auf der Man-Page ist ein Beispiel mit / ... komisch:

Code: Alles auswählen

lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 29.09.2020 17:54:48

Nur bei LXC wird der Mountpoint ohne führenden Slash angegegen – ich weiß auch nicht, warum.

Die Manpage ist tatsächlich fehlerhaft. Bei der Erklärung der Option wird der führende Slash weggelassen, beim Beispiel gegen Ende der Manpage ist er wieder da.

Code: Alles auswählen

       lxc.mount.entry
              Specify  a mount point corresponding to a line in the fstab format.  Moreover lxc supports mount propagation, such
              as rslave or rprivate, and adds three additional mount options.  optional don't fail if mount does not work.  cre‐
              ate=dir  or  create=file to create dir (or file) when the point will be mounted.  relative source path is taken to
              be relative to the mounted container root. For instance,

              dev/null proc/kcore none bind,relative 0 0
              .fi

              Will expand dev/null to ${LXC_ROOTFS_MOUNT}/dev/null,
              and mount it to proc/kcore inside the container.

flo1005
Beiträge: 14
Registriert: 20.09.2020 19:40:08

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von flo1005 » 02.10.2020 09:37:32

haptsache es funktioniert :D

Benutzeravatar
jph
Beiträge: 1049
Registriert: 06.12.2015 15:06:07
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Greven/Westf.

Re: Samba-Server in unprivilegierten LXC einbinden

Beitrag von jph » 03.10.2020 09:50:01

Ein letzter Nachtrag: wenn es nur um Backups via Borgbackup geht und du ssh-Zugriff auf den SMB-Server hast, dann kannst du auch ssh verwenden und dir den „Umweg“ über SMB sparen. Borg lässt sich, eine entsprechende Konfiguration vorausgesetzt, sicher mit root-Zugriff per ssh verwenden.

Antworten