Eigenen file Storage auf sda zwecks Mountpoint setzen?

Aug 21, 2020
33
1
6
50
Einen wunderschönen guten Morgen,

als proxmox Anfänger bitte ich um deine Hilfe.

Nach einer Standardinstallation belegt Proxmox sda, was bei mir ein SSD Verbund im Raid 1 ist, der im folgenden SSD-LIN genannt wird. SSD-LIN (mit 2x 480 GB SSD Platten) habe ich für Proxmox und alle weiteren Linux VMs (nur die Systeme, die virtuellen Daten Festplatten sollen z.B. auf SAS-LIN) geplant. Proxmox belegt sda mit standard Storages local und local-tvm. Vermutlich ist es so gedacht, dass man sda nicht komplett für Proxmox lässt, sondern auch sonst nutzen darf und soll, z.B. in meinem Fall für weitere Linux VMs.

Mit
Code:
lsblk
kann man sich die default Partitionen auf sda anzeigen lassen: sda1 bis sda3. Auf sda3 und pve-data (TYPE lvm) ohne Mountpoint scheint noch Platz zu sein. local-lvm wird auch als Storage im proxmox Browser angezeigt. Und mit
Code:
parted
und dann
Code:
print devices
sieht man auch noch diverse "/dev/mapper/pve"* Infos.

Leider kann man im local-lvm VMs nur im Format raw erstellen. Und leider kann proxmox scheinbar nur VMs erstellen und nicht wie von VMware Workstation gewohnt sowohl neue VMS erstellen und bestehende VMs öffnen. Bitte wo findet man "bestehende VMs öffnen" in Proxmox und wie bekommt man vmdks kopiert? Zum Glück unterstützt Proxmox das Format vmdk. Da vmdk eine Datei ist, gehe ich davon aus, einen File Storage und nicht einen block Storage (LVM) zu benötigen. D.h. ich gehe davon aus, eine Partition wie z.B. sda4 mit ext4 zu benötigen, um diesen dann mit LABEL zu versehen und danach in fstab zu mounten. Leider ist dies standardmäßig auf sda wohl nicht vorgesehen? sda (480 GB) komplett für Proxmox zu verwenden ist etwas übertrieben.

D.h. wie kann ich jetzt eine Partition auf sda einstellen, um diese zu labeln und per label einen Mountpoint in fstab zu setzen?

Ich möchte gerne Folgendes in der shell machen können:
Code:
e2label /dev/sda4 SSD-LIN
Code:
mkdir /mnt/SSD-LIN

Und anschließend in fstab:
Code:
LABEL=SSD-LIN /mnt/SSD-LIN ext4 defaults 0 2

Danach würde ich gerne im Storage SSD-LIN eine bestehende VM im vmdk Format einspielen. D.h. nicht per ISO hochladen und dann neu erstellen, sondern kopieren und öffnen. Und passend dazu auch virtuelle (Daten, nicht System) Disks in SAS-LIN.

Also wie kann man sda neben Proxmox für weitere eigene VMs nutzen? Wie kann man einen eigenen File Storage auf sda sicher einrichten ohne den für mich vermutlich eher sinnlosen oder ungewohnten lvm default Storage zu verwenden bzw. ohne die proxmox Installation zu schrotten?

Vielen Dank im Voraus für eure Hilfe.

Sonnige Grüße aus dem Büro
Marco
 
Proxmox VE funktioniert ein wenig anders als ein ESXi wenn es um das Storage geht.

Es gibt verschiedene Typen von Storage [0] und je nach Typ werden die Festplatten der Gäste als Datei gespeichert oder anders.

In der Defaultinstallation, wenn kein ZFS als Dateisystem gewählt wird, hast du die 3 Partitionen und in der größten gibt es ein LVM mit mehreren LVs (logical volume). In einem ist PVE installiert, eines für Swap und das letzte ist ein thin LV. Das Storage das als `local` angezeigt wird ist das Verzeichnis /var/lib/vz das im Rootdateisystem liegt. Hier kann man z.B. ISO Dateien hochladen. Das thin LV ist für die Festplatten der Gäste gedacht. Diese bekommen keine Dateien, sondern ein thin provisioned volume pro Festplatte. Dieses wird dann als Blockdevice an die VM durchgereicht.

Du kannst diese zB mit dem Befehl lvs auflisten. Der Befehl lsblk hilft in dem Fall auch weiter, um sich einen Überblick zu verschaffen, zeigt aber normalerweise nur aktive LVs an.

Leider kann man im local-lvm VMs nur im Format raw erstellen. Und leider kann proxmox scheinbar nur VMs erstellen und nicht wie von VMware Workstation gewohnt sowohl neue VMS erstellen und bestehende VMs öffnen. Bitte wo findet man "bestehende VMs öffnen" in Proxmox und wie bekommt man vmdks kopiert?

Wie man VMs von anderen Systemen migriert, ist in unserer Wiki erklärt [1]. Wenn du nur die vmdk Dateien migrieren willst, kannst du die VM zuerst erstellen, die automatisch erstellte Festplatte wieder entfernen und dann mit

qm importdisk <VMID> /pfad/zur/vmdk/datei.vmdk <name des storages, zB `local-lvm`>

importieren. Die Festplatte wird als "Unused disk" in der Konfiguration auftauchen. Du musst sie noch konfigurieren (Bus Type, SSD ja nein, Discard, ...) und dann nicht vergessen in den Optionen der VM die Boot Reihenfolge anzupassen.

Ich hoffe das hilft als schneller Einstieg. Ansonsten gibt es die Dokumentation die du auch aus der GUI einfach aufmachen kannst. Oben rechts gibt es einen Button auf die gesamte Dokumentation und in vielen Dialogen gibt es unten links einen Hilfe Button der dich zu der relevanten Stelle in der Dokumentation bringt.

[0] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_storage
[1] https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE
 
  • Like
Reactions: Marco Reichel
Wie gesagt, würde ich gerne einen Mountpunkt auf sda setzen. Die Planung ist, SSD-LIN als file storage mit Mountpoint zu haben wie auch bei den Festplatten sdb, sdc und sdd (alles vom Prinzip her gleich):

EinsatzzweckRAID Verbund BezeichnungRaid LevelRaid Verbund Nr.Gerät / Linux PartitionMountpoint
SystemSSD-LINRAID 10sda / sda1 bis sda3?
SystemSSD-LINRAID 10sda / sda1 bis sda3?
SystemSSD-WINRAID 11sdb / sdb1mnt/SSD-WIN
SystemSSD-WINRAID 11sdb / sdb1mnt/SSD-WIN
DatenSAS-LINRAID 12sdc /sdc1mnt/SAS-LIN
DatenSAS-LINRAID 12sdc /sdc1mnt/SAS-LIN
DatenSAS-WINRAID 13sdd /sdd1mnt/SAS-WIN
DatenSAS-WINRAID 13sdd /sdd1mnt/SAS-WIN

D.h. wie kann man SSD-LIN mounten? Ansonsten müsste ich die vmdk Datei für die bestehende VM in SAS-LIN einspielen. Das sollte an sich gehen, weil Proxmox in file storages vmdk unterstützt. Ich würde allerdings bevorzugen VMs auf SSDs und nur die virtual disks (Daten) auf SAS Platten laufen zu lassen.

Wenn ich wie von dir beschrieben auf sda in lvm-thin importiere dann habe ich auf sda ein prinzipiell anderes Setup als auf den anderen Geräten. Letzlich wäre es mir auch lieber, eine vm zu kopieren, d.h. einfach die vmdk Datei zu kopieren und nicht in ein anderes Format zu migrieren. vmdk wären dann einfach ein Standard Format für alle VMs, egal ob in Proxmox oder VMware Workstation (unterwegs am Laptop z.B.). RAW Format möchte ich lieber vermeiden.

Noch eine Frage zum Verständnis. Virtual Disks kann man in VMware Workstation in verschiedene VMs einhängen. D.h. wenn man eine neue VM erstellt, weil man ein aktuelleres System neu installiert, können die gesonderten Daten in eigenen virtuellen Disks in den neuen virtuellen Computer eingebaut werden. Ist dies bei Proxmox auch möglich? Etwas irritiert hier, dass die System Disk und die Daten Disk bei Proxmox den gleichen Namen haben (vm-<nr>-disk.0.vmdk). Unterscheiden kann man es nur durch die zwei Laufwerke:

Code:
scsi0: SSD-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=800G,ssd=1
scsi1: SAS-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=10000G

Beim NAS wird via NFS auch schön gemounted:
Mountpoint
mnt/pve/NAS-LIN
mnt/pve/NAS-LIN
mnt/pve/NAS-WIN
mnt/pve/NAS-WIN

Wie löst man die Frage nach dem ? D.h. wie macht man einen eigenen file storage auf sda?

Alternativ könnte man natürlich VMware Workstation auf einer Windows VM, die in proxmox läuft, installieren. Eine VMware Virtualisierung innerhalb einer proxmox Virtualisierung ist bestimmt möglich und würde auch shares folders erlauben. Ist so etwas sinnvoll? Dann jedenfalls würde die Debian VM indirekt auf einer SSD laufen. Zwar nicht auf SSD-LIN wie geplant, aber immerhin auf SSD-WIN. :cool:
 
Last edited:
Du kannst die `data` LV in der VG `pve` löschen (das ist was als local-lvm angezeigt wird) und in dem freien Platz eine neue LV erstellen und diese mit dem Dateisystem deiner Wahl formatieren und dann mounten. In der Storage Config musst du dann noch `local-lvm` löschen und ein neues Directory Storage auf den Mountpoint hinzufügen.

In dem Fall aber bitte nachträglich die folgenden zwei Parameter beim Storage manuell in der /etc/pve/storage.cfg hinzufügen:
Code:
is_mountpoint 1
mkdir 0

Damit wird PVE gesagt, dass es das Verzeichnis nicht erstellen muss und warten soll, bis an dieser Stelle etwas gemountet ist bevor das Storage aktiviert wird.

Alternativ, wenn dir überhaupt nicht passt wie der Installer die Storages aufsetzt kannst du auch zuerst ein Debian installieren und darauf PVE [0].

Noch eine Frage zum Verständnis. Virtual Disks kann man in VMware Workstation in verschiedene VMs einhängen. D.h. wenn man eine neue VM erstellt, weil man das System updated, können die gesonderten Daten in eigenen virtuellen Disks in den neuen virtuellen Computer eingebaut werden. Ist dies bei Proxmox auch möglich? Etwas irritiert hier, dass die System Disk und die Daten Disk bei Proxmox den gleichen Namen haben (vm-<nr>-disk.o.vmdk). Unterscheiden kann man es nur durch die zwei Laufwerke:
Das Namensschema für Festplatten ist immer `vm-<vmid>-disk<disk nr>`. Anhand dieses Schemas wird auch zugeordnet zu welcher VM eine Festplatte gehört und welche Festplattenimages gelöscht werden müssen, wenn man eine VM löscht.

Die Disk Nr bezieht sich auf das Storage auf dem sie liegt. Wenn du also zwei Festplatten in einer VM mit der gleichen Nummer hast, sollten diese auf anderen Storages liegen. Das sieht man in der Config daran, dass vor dem Festplattennamen der Name des Storages steht und das ganze die Volume ID bildet.
In deinem Fall sieht man den Unterschied in der Volume ID
Code:
scsi0: SSD-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=800G,ssd=1
       ^^^^^^^
scsi1: SAS-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=10000G
       ^^^^^^^

Um eine virtuelle Festplatte einer anderen VM zuzuordnen, muss man im Moment noch manuell vorgehen und das Image entsprechend dem Namensschema umbenennen und dann ein qm rescan laufen lassen damit die Storage gescannt werden und die Festplatte in der Config der neuen VM auftaucht.

Ich bin allerdings gerade dabei ein Feature zu implementieren, dass einem die manuelle Arbeit abnimmt und man mit einem Klick oder CLI Kommando eine Festplatte einer anderen VM zuordnen kann.

[0] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_install_proxmox_ve_on_debian
 
  • Like
Reactions: Marco Reichel
Hi Aaron,

vielen Dank für die Infos. Hier nochmal langsam Schritt für Schritt:

Schritt 1: Konfiguration anpassen
In der Proxmox GUI bzw. im Browser unter Rechenzentrum / Storage habe ich local-lvm entfernt, was zugleich die Datei /etc/pve/storage.cfg anpasst. So weit, so gut.

Schritt 2: `data` LV in der VG `pve` löschen
Mit vg sehe ich die Volume Group pve bzw. mit pvs sda3, wie auch im Handbuch beschrieben, Kapitel 3.7 Logical Volume Manager (LVM).

Creating a Volume Group wird beschrieben, aber nicht wie man eine VG löscht, was hier ja auch nicht passieren soll. Die VG pve soll bleiben, nur data soll entfernt werden. Wie macht man das? Ich bin jetzt mal vorsichtig und frage lieber, um das stabil laufendende System nicht zu schrotten. lvcreate wird im Handbuch beschrieben.

lvs
und
lvdisplay

gibt schon mal mehr Informationen.

lvremove /<LV Path>/<VG Name>/<LV Name>
sollte an sich funktionieren. Nur hat data in vdisplay keinen Path so wie die anderen logical volumes.

Code:
lvremove pve/data
hat funktioniert:

Code:
Do you really want to remove and DISCARD active logical volume pve/data? [y/n]: y
  Logical volume "data" successfully removed

Schritt 3: neues lv erstellen
Code:
lvcreate -n filedata -l100%FREE pve
  Logical volume "filedata" created.

hat funktioniert, aber die LV ist jetzt größer als vorher? Ca. 7% Unterschied. Sollte man evtl. etwas Platz freilassen?

Schritt 4: Dateisystem anlegen
Code:
mkfs.ext4 /dev/pve/filedata
hat ein filesystem erstellt.

Schritt 5: Label vergeben
Code:
e2label /dev/pve/filedata SSD-LIN

Schritt 6: Mount Verzeichnis anlegen
mkdir /mnt/SSD-LIN

Schritt 7: fstab editieren und ausführen
LABEL=SSD-LIN /mnt/SSD-LIN ext4 defaults 0 2

Code:
mount -a

Schritt 8: kontrollieren
Code:
lsblk
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                8:0    0 446.6G  0 disk
├─sda1             8:1    0  1007K  0 part
├─sda2             8:2    0   512M  0 part /boot/efi
└─sda3             8:3    0 446.1G  0 part
  ├─pve-swap     253:0    0     8G  0 lvm  [SWAP]
  ├─pve-root     253:1    0    96G  0 lvm  /
  └─pve-filedata 253:2    0 342.1G  0 lvm  /mnt/SSD-LIN
sdb                8:16   0 893.8G  0 disk
└─sdb1             8:17   0 893.8G  0 part /mnt/SSD-WIN
sdc                8:32   0  10.9T  0 disk
└─sdc1             8:33   0  10.9T  0 part /mnt/SAS-LIN
sdd                8:48   0  10.9T  0 disk
└─sdd1             8:49   0  10.9T  0 part /mnt/SAS-WIN

Ein Unterschied verbleibt, "lvm" statt "part" für SSD-LIN. Wahrscheinlich könnte man alternativ sda3 verkleinern und sda4 anlegen? Allerdings wird dieser Weg jetzt nicht verfolgt.

Schritt 9: Storage Konfiguration
In der GUI (Rechenzentrum / Storage / hinzufügen) kann das Storage für SSD-LIN wie sonst auch angelegt werden. Dies schreibt dann in die Konfigurationsdatei:

nano /etc/pve/storage.cfg

Code:
dir: SSD-LIN
        path /mtn/SSD-LIN
        content rootdir,images
        shared 0


"Zwei Parameter noch manuell hinzuzufügen" verstehe ich allerdings nicht?

"In dem Fall aber bitte nachträglich die folgenden zwei Parameter beim Storage manuell in der /etc/pve/storage.cfg hinzufügen:"
Code:
is_mountpoint 1
mkdir 0

Wo soll das hin und warum? Der Storage SSD-LIN ist doch an sich gleich wie die anderen (SSD-WIN, etc.), nur dass Type "lvm" und nicht direkt "part" ist.

Beste Grüße
Marco

Quellen:
https://wiki.ubuntuusers.de/Logical_Volume_Manager/
https://www.thomas-krenn.com/de/wiki/LVM_Grundkonfiguration
 
Last edited:
Beim Erstellen der VM im Storage SSD-LIN wird nur der kleine Storage von ca. 94 GB, vermutlich root, angezeigt? Hey Leute, warum kann der proxmox Installer nicht gleich ein richtiges sda4 zur freien Verwendung erzeugen? So ein Aufwand mit LVM, etc. und jetzt geht es doch nicht so wie geplant. Muss ich jetzt den Server von der Hardware umplanen, komplett neu anfangen und proxmox eine eigene kleine Platte geben und gut ist?
 
Meine Debian 10 Installation ist schon in einer virtuellen Maschine mit virtuellen Disk(s) erfolgt, im VWware Format. Insofern brauche ich einen Hypervisor drunter, der das VMware Format lesen kann. Die Wahl zwischen dem VMware Hypervisor und dem Proxmox Hypervisor ist mit Lizenz für Promox ausgefallen. Im Prinzip habe ich jetzt gelernt, dass man für Proxmox einfach eine eigene Festplatte einplanen sollte, wo sonst keine weiteren VMs laufen.
 
Ich glaube da hat sich ein Missverständnis eingeschlichen. PVE setzt auf Debian auf. Man kann dann laut verlinkter Anleitung PVE nachträglich installieren.

Abgesehen vom Festplatten / partitionslayout sollte es kaum von einer PVE Installation mit dem PVE eigenem Installer unterscheidbar sein.
 
Wie schon gesagt, Proxmox läuft am neuen Server (und kann dabei gerne auf Debian aufsetzen, was super ist). Nur ich habe unter Windows nativ und VMware Workstation für Windows (Host) einen voll eingerichten Debian 10 Gast (mit Apache Server und Datenbank, etc.) im VMware Format vmdk. Das wollte ich an sich unter SSD-LIN am neuen Server als Gast für Proxmox einspielen, was sich bisher als praktisch nicht wie geplant umsetzbar erwiesen hat, siehe Schritt für Schritt Versuch oben. Evtl. hängt es nur noch an einer Kleinigkeit, weil an sich gibt es jetzt genügend Platz in sda3 pve-filedata. Aber beim Erstellen einer neuen Debian VM in proxmox zeigt sich vermutlich nur der local Platz. Evtl. muss man flexibler sein und seinen Plan ändern, aber normalerweise sollte man schon einen Installationsplan auch umsetzen können. Und da lv bisher nicht verwendet wird, und mir Einheitlichkeit in den Systemen lieber ist, wäre mir sda4 lieber statt lv in sda3, was aber auch akzeptabel wäre bei entsprechender Speicherausstattung beim Erstellen der VM.
 
Guten Morgen,

neuer Tag, neuer Anlauf. Da es einfacher ist, den Plan zu ändern als die Realität, ist der neue Plan, sda für Proxmox (und ggf. ein VPN Gateway) zu lassen und sonst nichts weiter damit zu machen. Die Kosten für zwei kleine für Proxmox dedizierte SSDs im Raid 1 sind geringer als der Zeitaufwand, das passend z.B. auf größeren SSDs einzurichten. Insofern gebe ich es auf, einen eigenen Mountpunkt auf sda zu setzen, um bestehende virtuelle Maschinen im VMware Format dort hin zu kopieren und zu öffnen. D.h. jetzt erst mal: proxmox neu installieren mit den Standardeinstellungen und gut ist. Damit ist das Thema für mich erledigt. Für native Hypervisor werden jetzt immer eigene kleine Festplatten eingeplant und fertig, dann muss man nicht im Hypervisor System rumtun. Soll doch der Hypervisor sein System insb. Partitionen einrichten wie er mag, da muss man sich als Anwender nicht näher mit beschäftigen.

D.h. der neue Plan lautet:

Einsatzzweck (VM = Virtual Machine, VD = Virtual Disk)RAID Verbund BezeichnungRaid LevelRaid Verbund Nr.Gerät / Linux PartitionMountpoint
Proxmox Hypervisor, OPNsense VPN GatewaySSD-HYPRAID 10sda / sda1 bis sda3ohne weitere Verwendung
Windows System (proxmox VM, Virtuelles C, VMware Workstation)SSD-WINRAID 11sdb / sdb1mnt/SSD-WIN
Windows Daten (proxmox VD, Virtuelles D, VMware VMs und VDs)SAS-WINRAID 12sdc /sdc1mnt/SAS-WIN
Linux Systeme und Daten (proxmox VMs, VDs)SAS-LINRAID 13sdd /sdd1mnt/SAS-LIN

Ich verliere jetzt SSD-LIN an SSD-HYP, insofern ist bei max. 4 möglichen Raid Verbünden eben kein SSD-LIN mehr möglich. Aber dann laufen alle bereits erstellten Linux Systeme und Daten als proxmox VMs eben auf SAS-LIN statt wie geplant auf SSD-LIN (und ggf. unter VMware Workstation auf SSD-WIN).

Ciao
Marco
 
"Das Namensschema für Festplatten ist immer `vm-<vmid>-disk<disk nr>`. Anhand dieses Schemas wird auch zugeordnet zu welcher VM eine Festplatte gehört und welche Festplattenimages gelöscht werden müssen, wenn man eine VM löscht.

Die Disk Nr bezieht sich auf das Storage auf dem sie liegt. Wenn du also zwei Festplatten in einer VM mit der gleichen Nummer hast, sollten diese auf anderen Storages liegen. Das sieht man in der Config daran, dass vor dem Festplattennamen der Name des Storages steht und das ganze die Volume ID bildet.
In deinem Fall sieht man den Unterschied in der Volume ID
Code:
scsi0: SSD-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=800G,ssd=1
       ^^^^^^^
scsi1: SAS-WIN:100/vm-100-disk-0.vmdk,discard=on,iothread=1,size=10000G
       ^^^^^^^
"

Es wäre schön, wenn man die Dateien so bennenen könnte wie man möchte (bei VWware Workstation ist das möglich). Zwei unterschiedliche Disks mit dem gleichen Namen halte ich für gefährlich, insb. bzgl. Verwechslungsgefahr beim Sichern. Weil ich sichere z.B. SSD-WIN (vm) und SAS-WIN (vd) auf NAS-WIN (vm und vd). Mit dem Backup Tool mag es kein Problem sein, nur wenn man durch Kopieren von Dateien sichert, ist der gleiche Dateiname riskant. Und bei mehreren virtuellen Disks möchte man die Disks durch sprechendende Namen unterscheiden.
 
Bei der Neuinstallation könnte man die Advanced LVM Configuration Option nutzen wie im Handbuch beschrieben.

Allerdings finde ich nirgends wieviel GB an Festplatte Proxmox möchte? Hier könnte man vermutlich über hdsize die SSD aufteilen in Partitionen sda1 bis sda3 für Proxmox (SSD-HYP) und eine eigenen Teil der Festplatte (doch noch SSD-LIN).

Aber wenn man nicht weiß, wieviel Platz Proxmox aktuell möchte, bleibt es vermutlich bei der Standard Installation auf der gesamten SSD. Da sich die Proxmox Anforderungen bzgl. Festplatte auch ändern können (siehe Quelle), sollte die gesamte SSD mit 480 GB mehr als ausreichend (vermutlich der totale Overkill) und die Standardinstallation ohne advanced lvm configuration am einfachsten sein. Also: KISS Proxmox ;-)

Quellen
https://pve.proxmox.com/wiki/Installation
https://www.taste-of-it.de/proxmox-ve-5-x-installation-partitionen/
 

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!