HDD Speicher für Proxmox und Gastsysteme konfigurieren

Eisbahn

New Member
Dec 22, 2020
13
1
3
Hallo Forum,

über die Feiertage wollte ich mich ein wenig mit Proxmox beschäftigen, da ich einen ersten eigenen Server aufsetzen möchte das zwei Synology NAS ersetzen soll.
Letztendlich soll Proxmox als Untersatz dienen und darauf sollen vier Gastsysteme in jeweils einer VM laufen: 1*Zoneminder; 1*Nextcloud; 1*Windows; 1*Debian. Habe insgesamt acht HDDs a 4 TB zur Verfügung (aus den beiden NAS) und wollte diese nun als ZFS Raid Z2 nutzen, Proxmox selbst soll auf eine M2 SSD. Deduplikation o.ä. Geschichten brauche ich nicht, so viel RAM Speicher habe ich nicht (insgesamt kann Proxmox 16GB bekommen, die anderen 16 gehen für die Gastsysteme drauf). Handelt sich um einen "beruflich" genutzten Familienserver als Ablage für Fotos (beruflich und nimmt am meisten Platz ein) und ein wenig privater Kram (Kalender, Kontakte, To-Do Listen, Backups von Dokumenten...).

Dazu eine Grundsatzfrage: wo ist der Festplattenspeicher zu konfigurieren und wie wird dieser an die Gäste weitergereicht? Also kann ich unter Proxmox alles einem ZFS Pool zuordnen und dann z.B. Zoneminder 2TB zuweisen, Nextcloud 20TB, Windows und Debain jeweils 1TB? Oder benötige ich für jedes Gastsystem ein eigenes ZFS? Gibt es da irgendwo verständliche Anleitungen? Also ein ZFS in Proxmox anlegen schaffe ich (ist ja klick und fertig), aber ein paar Hintergründe, ob es überhaupt sinnvoll ist, wie man es aufteilt, Gastsystemen zuweist usw. würden mich interessieren.

Gruß, Hans
 
1*Debian. Habe insgesamt acht HDDs a 4 TB zur Verfügung (aus den beiden NAS) und wollte diese nun als ZFS Raid Z2 nutzen,
Tu dir einen Gefallen und mach besser ZFS mit "mirrored vdevs", also Raid10. Du erhälst (mit deinen vier Platten) nur 50% statt 75% Nettokapazität, aber dafür auch vierfache IOPS. Nachteil: es darf nur eine Platte in jedem Mirror zur selben Zeit sterben (also durchaus bis zu vier Stück), aber nicht zwei beliebige Platten.

Dazu eine Grundsatzfrage: wo ist der Festplattenspeicher zu konfigurieren und wie wird dieser an die Gäste weitergereicht? Also kann ich unter Proxmox alles einem ZFS Pool zuordnen und dann z.B. Zoneminder 2TB zuweisen, Nextcloud 20TB, Windows und Debain jeweils 1TB?
Ja, natürlich!
Man definiert im Web-Gui virtuelle Festplatten jür jeden Gast. Dass da drunter, auf dem Host, dann automatisch "ZFS Datasets" entstehen, wird elegant weg-abstrahiert :)

Viele Grüße
Nachtrag zur Kapazität: mit 8 Platten mit 4TB im "Raid10"-Modus hast du augenscheinlich 16TB brutto. Real eher 15! Diese 15TB sollten zu maximal 80% genutzt werden, sonst bekommt der Host Performance-Probleme! Wenn man gerne mit Snapshots arbeitet (ja, das will man), dann muss man auch dafür Kapazität vorsehen...
 
Last edited:
Hallo UdoB,

kenne mich damit nicht wirklich aus, aber sind die HDDs da schon der limitierende Faktor? Dachte ein paar 100MB Fotos draufkopieren und Videostreams puffern passiert quasi "nebenbei". Die anderen Gastsysteme werden auch nicht sonderlich aktiv sein. Und warum vierfache IOPs? Raid10 spiegelt und teilt die Daten doch jeweils einmal auf, oder? Somit hätte ich real nutzbar die doppelte Anzahl an IOPs nach außen, die andere Verdopplung ist nur die Spiegelung ==> der Controller muss die vierfache Menge bewältigen, aber nach außen habe ich nur die doppelte IOP Leistung (so mien Grundverständnis).
Trotzdem danke für den Ratschlag, muss ich ggf. doch an größere HDDs denken. Denn bei 50% (=16TB) und davon auch nur noch 80% (=12,8TB) nutzbar und dann noch Umrechnung dezimal in binäre Zählweise (=11,9TB) wird es dann doch irgendwann zu wenig...
Würde es etwas bringen zwei SSDs als Cache hinzuzufügen? Hätte 10 Anschlüsse im Gehäuse verfügbar...
 
kenne mich damit nicht wirklich aus, aber sind die HDDs da schon der limitierende Faktor?
Das hängt zu 100% vom Anwendungfall ab. Wenn ich mir die Mühe mache, einen Virtualisierungs-Host aufzusetzen, dann will ich darauf auch mehrere VMs laufen lassen können, die sich möglichst wenig in die Quere kommen. In meiner persönlichen, nicht maßgeblichen, Wahrnehmung ist das *immer* das Festplattensystem. Niemals die CPU. (Wenn ich nicht 64 GiB Ram hätte, käme allerdings "Ram" als erstes.)

Wenn du nur ein paar Dateien lagerst und einen Stream schaust, ist meine Darstellung sicher übertrieben.

Und warum vierfache IOPs?
Alle VDEVs in einem Pool liegen "nebeneinander". Und jedes VDEV liefert die I/O-Performance einer Festplatte. (Beim Schreiben,. Beim Lesen von einem Mirror das Doppelte).

Vier Mirrored-VDEVs = so gut wie vier Festplatten (beim Schreiben).

Dein anderer Engpass ist eventuell (je nach Anspruch in den VMs) der Arbeitsspeicher: im Normalfall beansprucht ZFS die Hälfte des RAM, also 16 GiB. Du findest hier im Forum Anleitungen, diesen Wert zu verringern. Der Host alleine braucht selber vielleicht 1GiB. Somit bleiben 15 GiB für deine VMs. Insgesamt.


Viele Grüße
 
Du kannst einen großen Pool aus allen HDDs machen und dann virtuelle Festplatten auf dem speichern, welche dann die Gast-Systeme nutzen. Beachte dabei nur, dass da wieder viele Probleme durch die Virtualisierung entstehen können. Viel Overhead durch schlechtes Padding, alles muss durch den virtuellen SCSI Controller etc.

Wenn du die Festplatten wie ein NAS nutzen willst, dann wäre es eine Überlegung wert wenn du...:
1.) Proxmox selbst als dein NAS nutzt. Dann kannst du immer noch virtuelle Festplatten auf dem Pool anlegen und für VMs nutzen, wenn es dann mal nötig ist. Du kannst dann aber auch per CLI einen Samba-Server direkt auf dem Proxmox-Host einrichten, dass da dann Proxmox deinem ganzen Netzwerk und allen VMs Speicherplatz über SMB-Shares zur Verfügung stellt. Halt wie mit einem NAS, nur das dann Proxmox selbst dein NAS ist. Wenn der Großteil der Daten dann auf SMB-Shares liegt, dann ersparst du dir damit auch den zusätzlichen Virtualisierungs-Overhead.
2.) Du holst dir noch einen PCIe HBA, schließt die 8 HDDs an den an und reichst den HBA mit allen Festplatten exklusiv per PCI PAssthrough an eine VM durch, auf der du dann ein NAS-Betriebsystem wie TrueNAS oder OpenMediaVault laufen lässt. Dann hättest du ein virtuelles NAS auf dem Server, was sich sehr leicht per GUI konfigurieren lässt. Die VM könnte dann allen anderen VMs und Rechner daheim per SMB-/NFS-Shares Speicherplatz zur Verfügung stellen. Vorteil bei der PCI Passthrough Methode ist, dass da die NAS-VM dann direkt physisch ohne Virtualisierung auf die HDDs zugreifen kann. Die HDDs würden dann aber auch wirklich nur der VM zur Verfügung stehen und dein Proxmox-Host oder andere VMs könnten die HDDs dann nicht mehr direkt nutzen (außer halt über Netzwerk-Shares).

Option 2 ist etwas schwer mit dem PCI Passthrough einzurichten und du brauchst erst einen freien HBA, aber dafür sind die Netzwerkfreigaben dann später viel leichter konfigurierbar, da du die GUI des NAS-Betriebssystem nutzen kannst.
Option 1 hat da keine extra Hardware-Anforderungen aber man sollte schon etwas fit mit Linux und Administration sein. Weil das geht nicht per GUI und du musst alles selbst über Kommandozeile machen und auch alle Shares usw. manuell einrichten, indem du da die Konfig-Dateien entsprechend selbst erstellst.

Wenn du Angst hast, dass da die HDDs an ihre Grenzen kommen (ich musste meine HDDs ausbauen weil die einfach mit den IOPS überfordert waren), dann kannst du die HDDs auch einfach nur mit raidz2 als NAS nehmen um nicht zu viel Speicherplatz zu verlieren. IOPS kommen dann ja vorallem von den VMs und da könntest du dann 1 SSD (oder zwei wenn du raid1 willst) kaufen auf denen dann nur die virtuellen Festplatten der VMs laufen würden. Dann hättest du die schnellen SSDs für die Betriebsysteme der VMs und die langsamen aber großen HDDs für deine Daten.
 
Vielen Dank an euch für die Erfahrungen und Tipps.
Passthrough habe ich (verzweifelt) erst einmal aufgegeben. Wollte zwei (von vier) NICs von einem onboard Controller (auf Supermicro Board) direkt durchreichen. Habe ich nicht geschafft (entweder alle vier NICs oder gar keine bekomme ich hin). Aber habe jetzt noch ein paar Tage zum Spielen und Testen, vielleicht werde ich damit noch warm. Schön wäre es und die HDDs hängen alle an einem (SAS) Controller.
Der Tipp bzgl. der SSD Nutzung hört sich aber gut an, bin ich so nicht drauf gekommen. Würde ggf. auf eine SSD (oder zwei im Raid1) ausweichen und dort die VMs unterbringen. Ihre Daten können sie dann ja auf die HDDs der NAS VM schieben. Muss dann zwar alles durch die internen (virtuellen) Netzwerkkarten, aber das sollte hoffentlich passen.
Danke euch und schöne Feiertage vorab
 
Muss dann zwar alles durch die internen (virtuellen) Netzwerkkarten, aber das sollte hoffentlich passen.
Ja, Festplatten sollten die virtuelle NIC eigentlich nicht ausreizen und wenn da eh nur große Daten draufkommen und keine VM von denen läuft, dann ist die Latenz ja auch nicht mehr so wichtig. Gerade schreibend bekommst du mit den 6 HDDs zusammen ja eh nicht mehr als 200MB/s hin. Und über die Bridge sollten dann ja intern auch 10Gbit laufen.

Aber wenn du alle 4 Funktionen der NIC erfolgreich durchreichen konntest, dann sollte das ja eigentlich auch mit dem HBA haben. Den muss man ja glaube immer komplett durchreichen. Wenn du keine einzelnen Funktionen der NIC durchreichen kannst, dann hast du vielleicht nur VT-d und nicht VT-x? Bei VT-d hast du keine eigenen Gruppen für jede Funktion und dann geht das immer nur komplett am Stück weil alle Funktionen in der selben Gruppe sind.
 

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!