Installation Proxmox, hier Einrichten Hostsystem & Data Storage

sharbich

New Member
Nov 7, 2024
18
1
3
Hallo Ihr Lieben,

ich habe mir ein Proxmox Server installiert. Dieser Server hat 2 nvme Disk mit jeweils 1TB. Auf einer Disk ist das Hostsystem installiert. Dann habe ich noch 2 Stück 12TB SATA Festplatten die in den HotSwap Schacht stecken. Diese sollen als Data Storage dienen. Weitere 10 Schächte sind noch frei die zur Erweiterung des Storage genutzt werden soll.

Nun zu meinen UseCase. Ich möchte gerne die 2 nvme als Spiegel für das Hostsystem verwenden. Macht das überhaupt Sinn? Es ist in naher Zukunft geplant eine 2 identische Hardware einzurichten und als Cluster zu verwenden.

Das Data Storage möchte ich so verwenden das wenn 1 Festplatte defekt ist die anderen Festplatten die Daten übernehmen. Ich Denke das ich dazu ein Raid System mit einer Spare Platte einrichten muss, oder? Ggf. muss ich mir dann noch zwei 12TB SATA Festplatten kaufen, oder? Ein RAID mit Spare geht glaub ich erst mit 3 oder 4 Festplatten, oder?

Ich hoffe das ihr mich mir hier ein wenig unterstützen könnt? Wo ich mich einlesen kann?

Beigefügt zwei Bilder aus dem Datacenter. Ich verwende Proxmox in der Version 8.3.0. Was möchte ich auf den System in mehreren virtuellen Systemen in unterschiedlichen VLAN's installieren?

- Netzwerk Dienste (DHCP, DNS, Multicast Proxy, OpenVPN Server)
- Zentrale Dienste (SelfSigned CA, LDAP, Mailserver, PostgreSQL, MariaDB, Nextcloud, MediaServer, Homeassistant, CUPS, Webserver)

Lieben Gruß von Stefan Harbich

2025_05_22_psme02-system.png2025_05_22_psme02-disk.png
 
Last edited:
Das Data Storage möchte ich so verwenden das wenn 1 Festplatte defekt ist die anderen Festplatten die Daten übernehmen. Ich Denke das ich dazu ein Raid System mit einer Spare Platte einrichten muss, oder?
Die beiden Platten musst mindestens als RAID1 einrichten, dann kannst du eine dritte Platte als Spare für den Fall eines defektes einrichten.
Aber daran denken das ein RAID System kein Backup ersetzt!
 
Dieser Server hat 2 nvme Disk mit jeweils 1TB. ... . Dann habe ich noch 2 Stück 12TB SATA Festplatten

Ohne weitere Hardware zu kaufen gibt es für mich nur eine sinnvolle Variante:

Installation auf die beiden Blechplatten, als ZFS mirror. Nach der Installation hinzufügen der beiden NVMe als "Special Device", manuell auf der Kommandozeile.

Auf dem SD werden ohne Weiteres ausschließlich Metadaten gespeichert. Dafür sind die beiden NVMe aber zu schade bzw. schlicht zu groß - weniger als 1 Prozent vom Datenbereich genügt. Darum kann man per "zfs set special_small_blocks=xyz rpool" dafür sorgen, dass dort auch kleine Daten-Blöcke gespeichert werden.

Falls du diesen Ansatz verfolgen möchtest, solltest du recherchieren, wie man diese Parameter dimensioniert.

Jedenfalls versucht diese Konstruktion beide Vorteile (schnelle NVMe + große Blechplatte) zu kombinieren. Natürlich gelingt das nur teilweise, aber das Ergebnis ist immer wesentlich schneller als "nur Blech" - einfach weil die zusätzlichen (vielfachen!) Kopfbewegungen für die Metadaten wegfallen.

Solange ausschließlich "mirrors" vorhanden sind, kann man das SD auch wieder entfernen und erneut anlegen, man darf also experimentieren...

Viel Spaß :-)
 
  • Like
Reactions: news and Johannes S
Solange ausschließlich "mirrors" vorhanden sind, kann man das SD auch wieder entfernen und erneut anlegen, man darf also experimentieren...

Wieder was gelernt, ich dachte man kann das special device grundsätzlich nicht entfernen?

In der Doku steht ja folgendes:
Was stimmt nun?

@sharbich Ich würde etwas anders vorgehen: Deine beiden HDDs aufsplitten als Laufwerk für das Betriebssystem und Rohdaten (also die Daten, die deine anwendungen verarbeiten sollen, z.B. Videos, Bilder, etc) nehmen, die SSDs als schnellen Storage für die VMs. Envtl. die SSD partionieren, um einen kleinen Teil als mirror für ein special device (siehe Udos Post) zur Beschleunigung deines HDD-Pools nehmen und den großen Teil für die VMs.
Grundsätzlich würde ich aber eher dazu raten auf den Gebrauchtmark zwei kleine Enterprise SSDs zu kaufen und die dann als Specialdevice für den HDD Pool nehmen, das wäre relativ kostengünstig (da für das special device 2% der Kapazität der HDDs, also ca 256 GB mehr als ausreichend sind (viele Leute kommen mit deutlich weniger, im Extremfall 0,02 -1% aus) möglich und erspart dir den Hassle mit der Partionierung. Solche SSDs mit minimalen Kapazitäten kriegt man schon für 30-40 Euro pro SSD ;) Kann man natürlich auch grundsätzlich als Storage fürs Betriebssystem nehmen, Proxmox VE braucht nicht viel (gibt Leute, die dafür lediglich 16-32 GB nehmen und damit locker auskommen!)
 
  • Like
Reactions: UdoB
Guten Morgen in die Runde, aus meiner Erfahrung kann man keinen special device entfernen. Das sagt einem dann auch schon die Kommandozeile, dass das nicht geht. Was man machen kann ist aber einfach attache und detech von ZFS device von weiteren SSDs bzw HDDs, mit gleichen Parametern der Größe. Das ist dann ein dreifach oder höhere zfs mirror, die man als Special device anlegen könnte. So kann man dann auch eine ZFS RaidZn in mit n-fach zfs mirror als Special device abbilden.
 
Zum Setup, ein ganz andere Vorgehensweise: alles basiert natürlich auf ZFS, als Datenträger sind natürlich immer nur SSDs bzw HDDs aus dem Enterprise Bereich zu nehmen. Und für das Betriebssystem setze ich in den meisten Fällen ZFS mit VDEV Mirror auf und hier kann man kleine sata3 ssds einfachen preiswert kaufen, z.B. Kingston DC 600 M. Für die VMs kann man auch noch einen anderen Weg gehen: zweimal zwei HDD 7200 Umdrehungen für die rohrdaten, zweimal SSD und, das ist neu, zweimal nvme als read-cash, das ist nur ein lesecache der dann auch wieder entfernt werden könnte. So erhält man die am meisten benutzten Daten automatisch auf der nvme vor. Auf den nvms wird natürlich massiv geschrieben und da verändert, deshalb sollten Sie auch einen DRAM cache und PLP haben. Editor von die Spracheingabe hat doch mehr Fehler verursacht als erwartet.
 
Last edited:
  • Like
Reactions: UdoB
ich dachte man kann das special device grundsätzlich nicht entfernen?
Ja, ich auch!

Das momentan ausgerollte ZFS 2.2.7 sagt allerdings:

Code:
DESCRIPTION
     zpool remove [-npw] pool device…
             Removes the specified device from the pool.  This command sup‐
             ports removing hot spare, cache, log, and both mirrored and non-
             redundant primary top-level vdevs, including dedup and special
             vdevs.

             Top-level vdevs can only be removed if the primary pool storage
             does not contain a top-level raidz vdev, ... .

Also ja, man kann das SD entfernen, mit der Einschränkung, dass KEIN raidz vorhanden sein darf.

Ansonsten ist das wohl nur per zurückrollen zu einem Checkpoint möglich. ( https://forum.proxmox.com/threads/high-i-o-delay-fluctuating-transfer-rates.165798/#post-771719 )
 
  • Like
Reactions: Johannes S
Alles basiert natürlich auf ZFS, als Datenträger sind natürlich immer nur SSDs bzw. HDDs aus dem Enterprise-Bereich zu nehmen.
Hallo, ich bin ein Neuling. Vieles sagt mir noch nichts. Dann fange ich mal mit meinen Fragen an:

- Woran erkenne ich Enterprise SSDs und HDDs (Schreib /-und Lesegeschwindigkeit)?

- ZFS erstellen (Ich denke über die zwei SATAIII Festplatten (HDDs). Hier über das Datacenter oder über die Console? Gibt es hierzu hilfreiche Dokumentation?) Im Ziel Ausbau (3-5 Jahre) möchte ich gerne 10* 12TB HDDs verbauen. Kann ich die zusätzlichen HDDs einfach im ZFS aufnehmen / erweitern (Vorausgesetzt ist das die HDDs nicht als RAID konfiguriert werden, richtig?)

- Muss ich dann eine neue Installation von Proxmox durchführen? (Oder kann ich die Installation von den Nvme sichern und im ZFS-Bereich wiederherstellen?)

- Die Nvme (SSDs) nehme ich als Read-Cache. Wie groß müssten die Nvme SSDs sein (bezogen auf den Endausbau)? Reicht eine oder muss ich diese noch durch eine zweite absichern?

- Wenn ich später eine zweiten Proxmox Server installieren möchte und diesen mit dem ersten als Cluster betreiben möchte, muss ich dann bei der Installation des ersten etwas Grundlegendes beachten?

Dann fange ich mal an, mich in ZFS einzulesen...

Nochmals vielen Dank für die Feldinformationen. Gruß von Stefan Harbich
 
Last edited:
- Woran erkenne ich Enterprise SSDs und HDDs (Schreib /-und Lesegeschwindigkeit)?
Am Vorhandensein einer "Power-Loss-Protection". Damit ist ein Stromausfall ungefährlich. Als Folge steigt die Schreibrate immens, weil nicht immer auf "fertig" gewartet werden muss. Auf Geizhals kann man sehr gut filtern: https://geizhals.de/?cat=hdssd&xf=4643_Power-Loss+Protection~4832_1~4836_2

- ZFS erstellen (Ich denke über die zwei SATAIII Festplatten (HDDs). Hier über das Datacenter oder über die Console?
"Normale" Dinge gehen alle per GUI. Das oben erwähnte "Special Device" gehört leider nicht dazu.

Kann ich die zusätzlichen HDDs einfach im ZFS aufnehmen
Du kannst "vdev"s hinzufügen. In diesen vdevs steckt die Redundanz und viel der Magie von ZFS. Meine Empfehlung ist im PVE-Kontext eindeutig "immer gespiegelt", also als Mirror. Daher kannst du anschließend einfach weitere solche Pärchen hinzufügen. (Vereinfacht ausgedrückt.)

Die Nvme (SSDs) nehme ich als Read-Cache.
Ja, das kannst du machen. Ich empfehle das ausdrücklich nicht.


Viel Spaß am Gerät :-)
 
  • Like
Reactions: Johannes S
Hallo Stefan, bewegen wir uns im Hobbybereich == Geld ist wichtig, oder im geschäftlichen Bereich?
Hilfreich ist immer geizhals.de, bei SSD DRAM cache und PLP und bei HDD CMR mode, 7200 RPM.

Der Hobbyist und Pro kann diese Hardware nutzen:
Kingston DC600M, Seagate Ironwolf Pro NAS (4 TB, ST4000NE001)
 
Noch ein Wichtiger Hinweis zur Planung eines ZFS Datapool.

Die maximale nutzbare Datenmenge ist durch ein globales Quota auf dem ZFS Datapool auf ca. 80 % zu begrenzen. Die verfügbare Kompression verbraucht keine Rechenleistung (auf modernen CPUs) und steigert sogleich auch die Leseraten.

Von einem ZFS Datapool leitet man dann ein ZFS Dataset (Verzeichnis mit eigenen Eigenschaften) ab, sowie auch ZFS Volumes, das sind Blockdevice unter /dev/zvol/<zfs-pool-name>/../<zfs-volume-name> (mit eigenen Eigenschaften).

Man muss nicht auf NVMe SSD setzen, die sind teuerer und lassen sich schlechter kühlen. SSDs mit SATA3 Interface ist im Heimbereich brauchbar.

Ich nutze gerne für ZFS Datenpool 4x SSD Sata3 in der Konfig ZFS VDEV0 2x Mirror und ZFS VDEV1 2x Mirror.
So liegen die ZFS VDEV0 und VDEV1 als Stripe-Set vor und die IOPs werden weiter gesteigert.
Ca. 2x IOPs 4k random write und 4x IOPs 4k random read.

Dann sollte man dem ZFS Pool auch genügend Ram zuordnen, 1 GByte Ram pro 1 TByte realer Daten sind ein Richtwert.
Mehr Ram bringt immer einen weiteren boost, auch ein NVMe Read Cache wird im Ram verwaltet - 1 GByte Ram pro 1 TByte Daten.

Heute sind System mit 64 - 128 GByte DDR4 oder 192 GByte DDR5 keine seltenheit mehr.

Nutzt man AMD Epyc CPU und Platform, gibt es "fast" keine Grenzen mehr.
 
Last edited:
  • Like
Reactions: Johannes S and UdoB
Dazu noch eine Nachfrage:

- Wenn ich SATAIII-Festplatten einsetze, die kein PLP habe und diese im ZFS konfiguriere, wie kann ich bei einem Stromausfall dafür sorgen, dass keine Daten verloren gehen? Wozu benötige ich das „Spezial Device“ (Schreibe /-und Lese Einheit)? Wird dieses Gerät vorgeschaltet, das bei einem möglichen Stromausfall die Daten hält, oder verwechsele ich da was? Ich bin im Moment durcheinander?

- Sollte das "Spezial Device" zwingend PLP unterstützen?

- Gibt es einen Befehl, um zu prüfen, ob meine SSD / HDD PLP unterstützt?
 
Last edited:
SSD haben möglicherweise DRAM cache und PLP, bei HDDs findet man kein PLP und hier ist ein noch eine vorgeschaltete USV mit Statuskontrolle per USB2, Serialdevice notwendig.

z.B. USV APC Back-UPS CS 350 BK350EI für 1-2 PCs.

Ein keiner Rechner, wie ein Raspberry Pl B, kann hier das monitoring übernehmen und als Server den Status an die Client PC-Promxox VE Server bereitstellen.

Das ZFS Special Device, hier über SATA Flashspeicher hat schnellen Zugriff auf die Meta-Daten und liefert u.a. die Speicherort der ZFS Blöcke (128k) auf den HDDs.
Suche Dir dafür mal die IOPs der unterschiedlichen Geräte heraus und vergleiche diese.
Eine ZFS Mirror mit 2x Datenspeicher verdoppelt ca. die IOPs beim random 4k lesen.
 
Last edited:
  • Like
Reactions: Johannes S