Virtuelle Festplatte für mehrere Container

Daniel_WW

New Member
Feb 17, 2024
6
1
3
Hallo zusammen,
vielen Dank für die Aufnahme hier im Forum.

Ich bin seit einigen Wochen damit beschäftigt, meinen ersten Homeserver mit Proxmox aufzubauen. Nun möchte ich folgendes Design realisieren:
Auf bestimmte Daten sollen mehrere Container Zugriff erhalten. Ich möchte die Daten daher nicht innerhalb eines Containers speichern, sondern meine Vorstellung ist, dass ich in Proxmox eine "virtuelle Festplatte" (20Gb) anlege, die ich dann als Mount-Point in die jeweiligen Container einbinden kann. Dabei ergeben sich folgende Fragen:
  1. Wie kann ich solch eine virtuelle Festplatte anlegen?
  2. Welchen Storage-Typ muss ich verwenden?
  3. Ich verfüge über den (Standard-)Storage "local-lvm" als LVM-Thin. - Ist es richtig, dass eine virtuelle Festplatte innerhalb local-lvm angelegt werden müsst?
  4. Ich verstehe noch nicht ganz, was LVM und LVM-Thin bedeuten. Muss ich ein neues LVM-Thin anlegen, um eine virtuelle Festplatte zu erzeugen?
  5. Sollte ich ggf. den Storage-Typ "Verzeichnis" benutzen?
Ich habe bereits ziemlich viele Anleitungen gefunden, wie eine zusätzliche externe Festplatte an Container durchgereicht werden kann (HDD-Passthrough). Ich möchte jedoch von meinem vorhandenen Speicher eine virtuelle Festplatte erstellen.


Als Anfänger bin ich über jede Hilfe dankbar!
Viele Grüße - Daniel
 
Wie kann ich solch eine virtuelle Festplatte anlegen?
Du hast keine virtuelle Festplatte. Das würde ein Block Device voraussetzen. Du willst aber einen Ordner bind-mounten, also einen Ordner von einem Dateisystem durchreichen.

Welchen Storage-Typ muss ich verwenden?
Garkeinen, da das Dateisystem, wovon du die Ordner durchreichen willst am besten nicht von PVE verwaltet wird. Wenn du das trotzdem von PVE verwaltet haben willst, dann einen "Directoy" Storage, wo dir PVE dann aber auch eine Ordnerstruktur für ISOs, Backups, Templates etc aufzwingt.

Ich verfüge über den (Standard-)Storage "local-lvm" als LVM-Thin. - Ist es richtig, dass eine virtuelle Festplatte innerhalb local-lvm angelegt werden müsst?
Nein. LVM-Thin ist für virtuelle Disks also Block Storage. Was man machen kann:
A.) Einen Ordner vom Root-Dateisystem durchreichen. Ggf. vorher den Thin-Pool zerstören und kleiner neu erstellen, damit du mit dem freigewordenen Platz dann dein "root" LV vergrößern kannst.
B.) Eine beliebige weitere Disk mit dem Dateisystem der Wahl formatieren und das im PVE Host via fstab/systemd mounten.
C.) Den LVM-Thin Pool (dein "local-lvm") zerstören, kleiner neu erstellen damit du freien Platz in der VG bekommst, dann ein neues LV erstellen, das mit dem Dateisystem der Wahl formatieren und im PVE Host mounten.
D.) Du erstellst manuell ein neues Thin Volume auf deinem existierenden Thin Pool, formatierst das mit dem Dateisystem deiner Wahl und mountest es im PVE Host.
B, C und D muss alles manuell über die CLI gemacht werden. A ebenfalls, falls du das Root-Dateisystem vergrößern willst. Ich würde wohl Option D wählen.

Ich verstehe noch nicht ganz, was LVM und LVM-Thin bedeuten.
Da wirst du dich dann wohl oder übel einlesen müssen bis du die LVM Basics beherrschst.
Muss ich ein neues LVM-Thin anlegen, um eine virtuelle Festplatte zu erzeugen?
Nein, du hast keine virtuelle Festplatte.

Sollte ich ggf. den Storage-Typ "Verzeichnis" benutzen?
Ja, kann man, aber das alleine wird wohl nicht reichen, da üblicherweise 3/4 von deiner Disk rein für den LVM-Thin Pool belegt wird und dir dann nur 1/4 für das Root-Dateisystem bleiben.
 
Hallo,
Vielen Dank für die ausführliche (und geduldige) Antwort zu meinen Anfängerfragen.

Die zu speichernden Container-Daten sollen zudem mit einem Verzeichnis auf einem NAS synchronisiert werden. Hintergrund für dieses geplante Vorgehen ist, dass die Daten auf dem NAS automatisch in einem täglichen Backup berücksichtigt werden.

Meine ursprüngliche Vorstellung war daher, dass die Daten zunächst auf dem Home-Server, auf dem gleichen physischen Laufwerk (virtuelle Festplatte) gespeichert werden, damit die Container beim Zugriff eine gute Performance erreichen können. Im Anschluss oder parallel sollte die Synchronisation mit dem NAS laufen.

Da ich eigentlich keine zusätzliche Festplatte an den Home Server anschließen möchte, würde ich jetzt die oben genannte Option D prüfen.

Alternativ stellt sich mir die Frage, ob ich direkt ein Verzeichnis vom NAS auf PVE mounten sollte, um das dann wiederum im Container verfügbar zu machen. Die Daten würden dann direkt auf das NAS-Verzeichnis geschrieben.
Führt das erfahrungsgemäß zu Abstrichen bei der Performance? Ist es sinnvoll unmittelbar ein Netzlaufwerk einzubinden?

Was sollte man dabei beachten?

Vielen Dank im Voraus!
 
Was Du auch noch beachten musst, wenn mehrere Container auf einen Ordner/Dateisystem Zugriff bekommen sollen, musst Du dafür sorgen das nicht konkurrierende Zugriffe passieren. Entweder über das entsprechende Filesystem (z.B. Ceph bei Proxmox) oder über entsprechende Netzwerkfreigaben, Mit den default Filesystemen wirst Du früher oder später Datenmüll produzieren. NFS vom NAS sehe ich nicht als die schlechteste Idee an. Die Performance ist da natürlich von vielen Faktoren abhängig, Netzwerkanbindung, was kann das NAS, wie ist Dein Proxmox-Host ausgerüstet....
 
Last edited:
Führt das erfahrungsgemäß zu Abstrichen bei der Performance?
Ja. Ist halt die Frage was für Daten das sind. Wenn das nur deine Plex-Bibliothek mit Filmen ist, dann wäre das weniger tragisch. Sowas wie eine Datenbank würde ich aber nicht so laufenlassen wollen, weil die IOPS Performance ja schon erheblich einbricht, wenn da zu jeder IO noch der Overhead vom NFS/SMB sowie die Netzwerk-Latenz draufkommen.
Und beim unprivilegierten LXC, den man ja bevorzugen sollte, weil ein privilegierter LXC weniger sicher ist, musst du dich dann noch mit dem User Remapping herumschlagen, was auch nicht gerade einfach sein kann, wenn man NFS nutzt und dann verschiedene LXCs mit verschiedenen Users auf die selben Daten zugreifen können sollen.
 
Last edited:
Hallo,
D.) Du erstellst manuell ein neues Thin Volume auf deinem existierenden Thin Pool, formatierst das mit dem Dateisystem deiner Wahl und mountest es im PVE Host.

ich denke, ich habe es geschafft ein neues LVM-Thin-Volume im existierenden Thin Pool zu erstellen, es mit ext4 zu formatieren und auf dem Host unter /dev/mapper/pve-docker zu mounten.
Im Webui wird mir das Volume allerdings nicht angezeigt. Mein Ziel wäre es ja nun das Volume an einen Container durchzureichen. Kann mir dabei jemand behilflich sein? - Vielen Dank im Voraus! ;-)
 

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!