Erster Homeserver: Passthrough, ZFS, SSD Cache, Partionierung - Hilfe gesucht

2malH

New Member
Apr 20, 2017
10
0
1
39
Hi zusammen,

der Titel verrät es: Ich baue meinen ersten Homeserver zusammen, der vor allem als schneller Fileserver für die Foto- und Videobearbeitung und für eine Ubuntu und Windows VM mit entsprechenden Diensten (Plex, Nextcloud, Docker, Time Machine, etc.) dienen soll. Nun bin ich am überlegen, wie ich das System am besten aufsetze. An Hardware habe ich:
  • Fractal Design Define Mini Tower
  • 550W be quiet Dark Power
  • ASRock Rack C236M WS
  • Intel Xeon E3-1245V5
  • 2 x 8 GB Kingston Value RAM DDR4 ECC
  • 6 x 4 TB WD Red
  • 1 x 250 GB Samsung Evo M.2
  • 2 x 32 GB USB 3 Sticks
Da ich komplett neu im Geschäft bin, hoffe ich auf eure Hilfe. Hier meine Fragen:
  1. Wird das Mainboard von Proxmox komplett unterstützt? In der offiziellen Liste kann ich es leider nicht finden, was mich etwas beunruhigt. Im Netz finde ich für das Modell leider auch keine Auskunft. Sollte das der Fall sein, wäre das für mich ein Umtauschgrund. ESXi scheint leider auch nicht zu laufen.
  2. Kann ich Proxmox VM (bare metal) auf die USB-Sticks installieren diese zum booten nehmen? Ich möchte die eigentlichen Betriebssysteme (Ubuntu und Windows) gerne nur als VM laufen lassen.
  3. Muss ich (PCI/SATA) Passthrough aktivieren? Welchen Vorteil habe ich davon und wie mache ich das in meinem Fall?
  4. Meine Überlegung ist, alle 6 HDD als RAID-Z2 mit ZFS anlegen und die SSD-Festplatte als Cache (L2ARC und SLOG) und Speicherplatz für die VM (dann ohne Parity/Mirror) zu nutzen. Ist das umsetzbar und ist das sinnvoll?
  5. Da ich neu im Business bin: Ich habe die Möglichkeit, den gesamten ZPool den VM variabel zur Verfügung stellen? Kann ich die Zuteilung später noch ändern oder ist sie dann fest? Gibt es hier ein best case Szenario? Mache ich die komplette Verteilung der Partitionen/des ZPools über Proxmox oder bspw. über Ubuntu?
  6. Sind die Überlegungen bis hierhin nachvollziehbar oder übersehe ich etwas Grundsätzliches - bspw. dass Platten nicht angezeigt werden, da sie über einen SATA-Host laufen - die HDD und die M.2-SSD?
Das sind erstmal die Punkte, die mir momentan noch am meisten Unsicherheit bereiten. Ich freue mich über jeden Tipp und jede Hilfe.
 
Hi,

>1.
Wenn linux drauf läuft, dann geht PVE auch. Wir haben keine HW liste. Das wichtigste ist das du VT-x hast und das hast du.

>2.
Wir loggen sehr viel auf der root Partition also ich würde dir keine USB Sticks empfehlen, erfahrungsgemäß sind die nach paar Monaten Kaput.

>3.
Nein kann wenn man dezidierte HW in der VM will z.B. Grafikkarte zum rendern. Deine CPU und MB unterstützt auf alle fälle VT-d was du dazu brauchst.

>4.
Raid Zx (Raid 5 6) ist bei Virtualisierung immer suboptimal da langsam. Raid 10 ist normalerweise empfohlen. Aber bei einen Homesetup auch ok. Du wirst nur zuwenig Memory haben da du für ZFS wenn die platten 80% voll sind ca 18GB Memory braucht.

>5.
Beim anlegen der VM erstellst du ein vdisk, der du eine Größe geben musst.
Du kannst die vdisk auch später noch vergrößern oder verkleiner.
Shared VM disken gibt es nicht.
Ich nehme an das du das gemeint hast?
 
Hi Wolfgang,

das hört sich für mich erst einmal nach einer guten Nachricht an: Ich kann das Bord nutzen. Ein guter Start in den Tag. :)

Zu 2: Ist es möglich, Proxmox direkt auf der SSD mitsamt VM und Cache-Foldern zu installieren? Bei reddit bekam ich zu einem vorherigen Zeitpunkt, als noch ESXi zur Debatte stand, empfohlen, das System über USB laufen zu lassen und den Pfad für die Logs auf die SSD zu verlegen. Ich dachte, eine ähnliche Installation sei auch für Proxmox Best Case. Wenn ich alles über eine SSD und die HDDs laufen lassen kann, wäre mir das sogar noch lieber.

Zu 4: Guter Hinweis. Da ich versehentlich registered ECC-RAM gekauft habe, muss ich eh umtauschen. Aktuell habe ich 2 x 8 GB gekauft. Macht es einen Performance- oder sonstigen Unterschied, ob ich 2 x 8 oder 1 x 16 GB drin habe? Würde sonst letzteres favorisieren, da ich einen Steckplatz weniger belege. In diesem Zuge werde ich evtl. direkt upgraden.

Zu 5: Angenommen ich möchte primär zwei VMs laufen lassen (Ubuntu und Windows). Dazu kommt noch der Cache-Speicher, der auf der gleichen Platte liegt. Wie würdest du die 250GB aufteilen? 75GB je VM + 100GB für Cache und Proxmox?
Die noch größere Unklarheit besteht allerdings bei der Nutzung/Verteilung meines HDD-Speicherplatzes, dem ZPool. Mit Raid-Z2 habe ich ganz grob 12-14 TB nutzbaren Speicher. Mit welchem OS muss ich den partitionieren und wie stelle ich den so bereit, dass sowohl Ubuntu als auch Windows darauf Zugriff haben? Muss ich hier ein OS favorisieren und dort die Partition mounten und dann via Samba, NFS, FTP, etc. mit dem anderen OS sharen - oder läuft das über Proxmox, was auch ZFS verwaltet?

Vielen Dank dir, du hast mir schon sehr geholfen.
 
Last edited:
Ist es möglich, Proxmox direkt auf der SSD mitsamt VM und Cache-Foldern zu installieren?
Ist möglich aber nicht empfohlen den ZFS cache auf eine Platte mit einem anderen FS zu legen.
 
Ist möglich aber nicht empfohlen den ZFS cache auf eine Platte mit einem anderen FS zu legen.

In Ordnung. Wie würde dann eine optimale Installation aussehen, wenn ich als Festplattenkonfiguration eine SSD und sechs HDDs zur Verfügung habe? USB Sticks könnte ich jederzeit einfach dazuholen, sofern es einen Vorteil bringt. Ich bräuchte nur liebenswerterweise einen Schubser in die richtige Richtung. Danke! :)

Edit/Nachtrag: Oder sollte ich fürs erste ohne Cache arbeiten? Überlegung: zu einem späteren Zeitpunkt zwei SSD als RAID 1 einbauen und Proxmox + VMs dorthin portieren und die M.2 Platte als Cache verwenden. Besser?
 
Last edited:
Meiner Meinung nach hast du 2 Möglichkeiten .
Alles auf ZFS pool installieren und die SSD komplett als ZIL und L2ARC.

oder eben
zfs ohne ZIL und L2ARC(du kannst die ZIL und L2ARC auch später hinzufügen) und m2 als ext4 mit thin-lvm.

Ich persönlich würde variante 2 nehmen.

Du hast selber gesagt dein 2 haupt VM sind am LVM(m2) also schnell.
ZFS ist für den Rest Datengrab VM die müssen nicht schnell sein.
 
Zu Punkt 4 hätte ich auch eine Frage:
Wie sollte man am besten 3 gleichgroße HDDs arrangieren, damit man eine hohe Verfügbarkeit und Geschwindigkeit hat? Aktuell habe ich die im ZFS-RAIDZ1. Die Datenrate im Host ist super, aber die Weiterleitung zu den Gästen ist extrem langsam.
 
Zu Punkt 4 hätte ich auch eine Frage:
Wie sollte man am besten 3 gleichgroße HDDs arrangieren, damit man eine hohe Verfügbarkeit und Geschwindigkeit hat? Aktuell habe ich die im ZFS-RAIDZ1. Die Datenrate im Host ist super, aber die Weiterleitung zu den Gästen ist extrem langsam.
Kannst du das bitte etwas detailliertes darstellen? Ich habe ähnliches vor und mich würde das sehr interessieren wie viel Leistung dann wirklich noch bei der VM ankommt.
In Ordnung. Wie würde dann eine optimale Installation aussehen, wenn ich als Festplattenkonfiguration eine SSD und sechs HDDs zur Verfügung habe? USB Sticks könnte ich jederzeit einfach dazuholen, sofern es einen Vorteil bringt. Ich bräuchte nur liebenswerterweise einen Schubser in die richtige Richtung. Danke! :)

Edit/Nachtrag: Oder sollte ich fürs erste ohne Cache arbeiten? Überlegung: zu einem späteren Zeitpunkt zwei SSD als RAID 1 einbauen und Proxmox + VMs dorthin portieren und die M.2 Platte als Cache verwenden. Besser?
Auch das habe ich mir ähnlich überlegt. Mein Plan sieht folgendes vor. Ich habe 2 SSD, diese werden partitioniert, mit Raid 1 verbunden und PVE wird installiert. Log bleibt also mit auf dem Raid 1. Der restliche Platz wird als Raid0 für den Cache bereit gestellt.
Parallel zu dem Ganzen läuft dann ein RaidZ1 aus 3x3TB für die VMs.
Ganz ehrlich, ich hoffe damit für das bestehende Material ein Optimum gefunden zu haben.
 
Ich bin dazu übergegangen alle VMs in LXC-Container zu migrieren. Die Weiterleitung der HDD-Datenraten an die VMs ist einfach grottig schlecht im Vergleich.
VM: 5-30mb/s (egal welche cache-Einstellungen)
LXC: 250-300mb/s.
Ich habe "nur" ein ZFS-Raidz1 am laufen mit 3 HDDs. Kein SSD-Cache.
 
Die Weiterleitung der HDD-Datenraten an die VMs ist einfach grottig schlecht im Vergleich.
Das kannst du auch nicht vergleichen weil du nutzt den cache und hast nicht 2 kernel die eventuell syncen und oder barriers verwenden.

Du hast bei zvols ca 20% verlust bei VM's. Es kann shon sein das du so testest das solche Unterschiede rauskommen das ist aber Appel mit Birnen vergleichen.

Die frage ist wie du das getestet hast?
 
Hi zusammen,

da ich leider nur sporadisch mit denn Serverausbau vorankomme und in unterschiedliche Sackgassen gelaufen bin, hier ein paar Punkte, die mir noch unklar sind:

Proxmox ist installiert, ZFS-Pool angelegt und nun stehe ich davor, den Pool per Fileserver für LXC Container verfügbar zu machen. Mein Wunsch: Turnkey Fileserver, da so NFS, Samba, FTP usw. installiert und per Webmin ohne großen Aufwand verwaltet werden können. Den Turnkey Fileserver möchte in einem Container installieren, um alles schlank zu halten und bei Misskonfiguration ihn neu aufsetzen zu können. Den ZFS-Pool würde ich gerne komplett per Mount Point an den Container weitergeben, allerdings verwirrt mich, da das so nicht möglich scheint, da ich immer angeben muss, wie groß der Share (Disk Size) sein soll.

Einfache Frage: Was ist die best practice, um den Pool komplett an einen LXC Container weiterzugeben, um ihn dort zu verwalten und für das System freizugeben? Mount Point? Ist das performanteste Lösung? Sollte ich den ZPool in einem weitergeben und per Keyturn verwalten oder vorher in einzelne Datasets aufteilen (z.B. /tank/shared/media, /tank/shared/backups, usw.) und einzeln mounten? Dann habe ich aber auch das Problem, dass nicht rekursiv freigegeben wird und Unterordner nicht freigegeben werden? - Oder sollte ich ganz anders denken und unbedingt auf Proxmox-Ebene per Samba den Pool freigeben?

Sobald das funktioniert, wie binde ich die Freigaben in den anderen Containern am besten ein bzw. greife auf sie zu? Und wie ist die Performance? Empfiehlt es sich, ein VLAN einzurichten oder hat das hiermit nichts zu tun?

Zu den oben genannten Punkten habe ich leider auch nach mehrmaliger Recherche keine guten Infos gefunden, deshalb baue ich auf eure kompetente Hilfe! ;)

Danke im Voraus!

Edit: Leider bin ich noch immer nicht schlauer, wie ich der Lage am besten beikommen kann. In der Dokumentation wird von Storage Backed Mount Points und Bind Mount Points gesprochen, wobei bei letzteren keine Größe angegeben werden muss. Bringt mir das was? Darauf aufmerksam geworden bin ich durch: https://www.reddit.com/r/homelab/comments/64n92p/proxmox_and_zfs_bind_mounting/ und https://blog.felixbrucker.com/2015/...t-directories-inside-a-proxmox-lxc-container/

Die nächsten geplanten Schritte sind ein Container mit pfSense, einer mit Plex und dann geht es darum, alles sicher an das Netz anzuschließen, so dass ich eines Tages auf alles z.B. per VPN zugreifen kann.
 
Last edited:

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!