Speicherlösungen die flexibel sind u. on-the-fly erweitbar.

  • Thread starter Deleted member 60612
  • Start date
D

Deleted member 60612

Guest
Hallo Zusammen,

am Wochenende merkte ich, das ich ein Problem habe.

Und zwar haben alle meine VM's die ich nutze insgesamt schon 14TB verballert (von 15).

Die Betriebsysteme selbst liegen auf einer Partition auf dem auch Proxmox liegt. Und die Daten die anfallen der VM's, liegen auf verschiedene Arrays die über ein 10Gbit Netzwerk den VM's und dem "echten Netzwerk" zu Verfügung stehen die über Openmediavault bereit gestellt werden. Da ich mein 10Gbit Netzwerk soweit wie möglich auslasten möchte, sind die zwei Arrays in RAID0 konfiguriert.

3x SSD's a 1TB per Passthrough an OMV und in OMV als RAID0 konfiguriert
2x HDD's a 6TB per Passthrough an OMV und in OMV als RAID0 konfiguriert

Das heißt jetzt beißt sich meine "Dummheit" in den Arsch. Denn wie bekannt, kann ich den Platz jetzt nicht erweitern (außer ich hänge neue Platten rein und mache ein neues Array, was jedoch nicht geht, da alle SATA-Ports belegt sind, und für ein RAID-Kontroller kein PCI Steckplatz frei ist).

Jetzt bin ich jedoch in der Zwickmühle: Denn ich möchte eine Lösung, bei der ich die 10Gbit auslaste. Und das tut nach meinem Wissen nach keine "Raid-Methode". Außer das aktuell genutzte RAID0.

Also fallen LVM u. somit Lösungen wie mit Unraid weg. Da Geschwindigkeit maximal die der schnellsten Platte ist. Reine SSD's RAID5/RAID6 oder ZFS Arrays fallen weg, da der benötigter Speicherplatz viel zu teuer ist.

Bin ich nun wirklich gezwungen ein neuen Server o. zumindest ein neues Mainboard zu kaufen mit mehr PCI-E Steckplätzen? (Aktuell ein ASUS p6t ws pro). Und wenn ja welche Lösungen gibt es real für den Ottonormalverbraucher denn?

ZFS funktioniert leider auch nicht, da ich nur 24GB RAM habe. Welche schon fast vollständig von den VM's genutzt werden.

Ich würde gerne 50TB an Speicherkapizität schaffen. Weiß jedoch nicht wie ich das am besten mache, so das ich die 10Gbit übers Netzwerk schaffe, und in Zukunft erweitern kann (wie bei RAID5 einfach eine Platte nach der anderen tauschen).

Ich weiß das es mit ZFS ginge, nur wäre da der benötigte Arbeitsspeicher alleine schon teurer als 5x10TB Festplatten zb...

Hätte auch nichts gegen Lösungsvorschläge, die ein komplett neues System benötigt.

Zusammenfassend habe ich aktuell folgende Hardware:

ASUS P6T WS Pro
24GB Kingston
XEON X5675
3x Samsung 850 Pro 1tb
2x WD Red 6TB
1x ASUS 10gbit Lan Karte
1x Intel 4-Port Lan Karte
1x Nvidia GPU (ka welche. per pci-e x1 -> x16 extender angeschlossen, da nur noch 1x PCI-E x1 frei gewesen ist)

Das würde ich natürlich um Kosten zu sparen, ehrlich gesagt auch weiter nutzen.

Edit:

So sieht das System aktuell von der Benutzung her aus:
2019-02-18 14_58_48-703020608 - AnyDesk.png
 
Last edited by a moderator:
Wenn du mit OMV arbeitest könntest du neue Arrays mit mergerfs (UnionFS) einfach übereinander legen.

Oder aber ich habe die Fragestellung nicht ganz verstanden :)

VG
nik
 
Theoretisch möglich. In der Praxis nicht umsetzbar, da kein PCIe noch Sata Ports frei um neue Arrays herzustellen.

Ich brauch eine flexible Lösung. Spiele mit dem Gedanken folgendes anzuschaffen: https://www.ebay.de/itm/Tyan-Mother...8:g:7JgAAOSweMVa30kU:rk:1:pf:1&frcectupt=true

Und noch einen Xeon X5675 u. nochmal 12 * 4GB RAM Riegel. Dann hätte ich insgesamt 18*4 = 72GB RAM welches mit VM's grade so ausreichen würde, wenn man die Faustregel 1GB RAM = 1TB Speicherplatz bei ZFS berücksichtigt.

Genügend PCI-E Steckplätze hätte ich dann auch. Weiß jedoch nicht ob das alles so performant ist wie ich es möchte bzw mir vorstelle. Das heißt das 10gbe Netzwerk schreibend wie auch Lesend (nie gleichzeitig) vollständig auszulasten.

Und ich weiß halt nicht wie ich den Storage am besten aufbaue um mindestens 50TB zu erreichen. Ich könnte natürlich mehrere RAIDZ2 erstellen und diese dann zu RAID0 zusammenfassen. Alles mit ZFS. Nur habe ich keine Ahnung ob diese Lösung A) das kosteneffizienteste für mein Vorhaben ist und B) auch tatsächlich schafft das 10gbe Netzwerk auszulasten.

Das wären jetzt nach meiner Rechnung 10x 10TB Festplatten. Jeweils 5x 10TB in einem RAIDZ2 Verband. Also ca 60TB. Meine Erfahrung mit "normalen" RAID5 (egal ob Hardware oder Software) sagt mir, das reicht locker um 10GBe auszulasten. Nur erstens ist das schon gut 10 Jahre her, und das war mit mdadm und nicht ZFS.

ZFS ist absolutes Neuland für mich. Und die Versuche die ich mit Proxmox unternommen habe (gibt es irgendwo ein Thread hier) waren absolut enttäuschend mit der aktuellen Konstellation.

Ich weiß aber auch nicht wie ich das testen soll bevor ich ca 3000€ investiere. Deswegen suche ich nach Erfahrungen, Vorschläge und Tipps wie ich das am besten umsetzen soll.

Ich weiß auch, sollten alle Stricke reißen, könnte ich die Sache mit ZFS umsetzen und die 3x SSDs z.B als Cachedisks in ZFS verwenden. Das würde dann ohne Aufwand die 10GBe auslasten beim schreiben. Bei lesen halt erst nachdem der "Cache gelernt" hat.
 
Ich weiß auch, sollten alle Stricke reißen, könnte ich die Sache mit ZFS umsetzen und die 3x SSDs z.B als Cachedisks in ZFS verwenden. Das würde dann ohne Aufwand die 10GBe auslasten beim schreiben. Bei lesen halt erst nachdem der "Cache gelernt" hat.

Bei nur 72 GB-RAM für ZFS und VMs würde ich kein L2ARC einsetzen, das macht das System eher langsamer, da du weniger ARC zur Verfügung hast. Und eine Samsung Prosumer-SSDs taugen nicht für ZIL und sind viel zu groß. ZIL benötigt nur ca. 5-10 GB. Da solltest du dir eine gebrauchte, kleine Enterprise-SSD zulegen.

Auch wenn ich ZFS liebe und so weiter, aber das schnellste System wirst du wohl haben, in dem du bei so einem "kleinen System" ein RAID60 (als vergleich zum RAIDz2) mit den SSDs als Multi-Tiering Storage mit dem entsprechenden Batterie-Betriebenem Raid-Controller verwendest - auch der ist nicht billig, aber wahrscheinlich wesentlich schneller, da du dann mehr Power in deinem System für deine VMs hast. Ob du damit die 10 GBE auslastet weiß ich nicht, das ist immer von den Daten und den Übertragunsprotokollen abhängig. Als Beispiel bringe ich hier immer sicheres Kopieren via scp. Ich habe noch keinen Server gesehen, der in der Lage gewesen wäre überhaupt ein 5 GBE auszulasten, da die Übertragung via scp immer Single-Threaded-CPU-Bound ist. Die CPU packt es nicht die Daten schneller zu verschlüsseln mit den Standardeinstellungen.

Da du ja auch nach Alternativen gefragt hast:

Kauf die gebrauchte Server-Hardware, die ist billig und kann auch ohne großen Probleme mit mehr Hardware bestückt werden als das normalerweise der Fall ist. Einziger Haken ist, dass dort meistens 2,5'' Zoll-Platten verbaut werden und du wahrscheinlich ein externes Shelf dranhängen müsst, was aber auch immer geht. Ein anständiger gebrauchter SAS-Controller ohne RAID-Funktionalität kostet 80 Euro, Shelf nochmal so um 80, dann brauchst du noch die Caddies dazu und schon hast du 12 Steckplätze für 3,5 '' Platten an jedem Server dranhängen. Die Sind Daisy-Chain-bar, sodass du bei Bedarf einfach ein komplettes Shelf an das alte hängst und nochmals 12 Platten hast. Der SAS-Controller kann bis 255 Geräte pro Kanal und da hast du erstmal Ruhe.

Das alles hängt natürlich von deinen Gegebenheiten ab und ob du die Server auch irgendwo so verbauen kannst - zur Not ein Lack-Rack :-D
 
Kauf die gebrauchte Server-Hardware, die ist billig und kann auch ohne großen Probleme mit mehr Hardware bestückt werden
Hi,
da sollte aber (neben Stromverbrauch) auch auf den Lärmpegel geachtet werden. Bei so einigen, besonders 1HE-Maschinen, hast Du noch in einiger Entfernung (ich meine da eher Räume als Meter) eine echte Lärmbelästigung. Schliesst den privaten Einsatz gerne aus.

Udo
 
Danke für die Tipps!

Lautstärke ist egal. Meine ganze Technik habe ich in einem ehemaligen Besenkammer verbaut.

@LnxBil du hast mich jetzt mit jede Menge Infos zugeballert.

Ich habe in den letzten Tagen seit meinen Post mit mehreren Menschen gesprochen die da viel weiter bewandert sind als ich. Einer von denen hatte ein ähnliches Problem wie ich, und hat es mit Unraid gelöst. Indem er seine Platten ganz normal angebunden hat, inkl 2 Parity-Platten. Und damit er aber weiterhin das Netzwerk auslasten kann, hat er 2 250gb SSD's als RAID0 als Cache eingerichtet. Als er mir das vorgeführt hat, war ich schon beeindruckt.

Ich möchte aber nicht Unraid nutzen. Klar weil es was kostet, das ist aber nicht die Welt. Sind nur paar Euros. Sondern weil es auch nicht so einfach zu realisieren ist Unraid in ne VM zu fassen.

Außerdem mag ich Proxmox einfach und bin durch die letzten Jahren einfach fasziniert wie zuverlässig das läuft :)

Durch Internetrecherchen habe ich schon erfahren das ich bei ZFS ebenfalls sowas realisieren kann. Kann ich da nicht einfach die 3x SSDs die ich habe in RAID0 zusammenfassen, und diese dann auf zwei Partitionen zerteilen? Um dann Partition A als Schreibcache und die Partition B als Lesecache zu nutzen? Klar der Lesecache muss lernen, aber da der Schreibcache z.b ca 1.3TB groß wäre, hätte ich geschwindigkeitstechnisch beim Schreiben keine Probleme (denke ich, aktuell machen die ca 980mb/s übers Netzwerk als RAID0. Oder ist es bei ZFS langsamer?). Und lesend wäre nicht so dramatisch, da bei RAID5 oder RAID6 die Lesegeschwindigkeit mit jeder Platte steigt (aktuell ~350mb/s lesend RAID0).
 
Ich möchte aber nicht Unraid nutzen. Klar weil es was kostet, das ist aber nicht die Welt. Sind nur paar Euros. Sondern weil es auch nicht so einfach zu realisieren ist Unraid in ne VM zu fassen.

Unraid ist ne super Lösung, ist aber eben kein PVE, sondern hat seinen eigenen Markt.

Und damit er aber weiterhin das Netzwerk auslasten kann, hat er 2 250gb SSD's als RAID0 als Cache eingerichtet. Als er mir das vorgeführt hat, war ich schon beeindruckt.

Mal abgesehen davon, dass dir hier im Forum keiner zu RAID0 raten würde, denn PVE steht für Enterprise und Hochverfügbarkeit, hat unraid BTRFS intern verbaut und dort kann man sehr einfach Caching-Disks anlegen, die anders funktionieren als es ZFS der Fall ist. BTRFS hat gut angefangen als Dateisystem aber es ist immer noch in dem Status, dass offiziell RAID5/6 immer noch nicht freigegeben ist und niemals ernsthaft dem Dateisystem vertraut - nichtmal die Entwickler selbst. Das ist sehr schade, dass es als super Alternative zu ZFS angefangen hat und von Oracle sehr gepusht wurde. Fast die gesamte Manpower von Seiten Oracles arbeitet mittlerweile an ZFS, da sich Oracle ja vor fast 10 Jahren SUN und somit auch ZFS einverleibt hat.

https://en.wikipedia.org/wiki/Btrfs#Implemented_but_not_recommended_for_production_use

Durch Internetrecherchen habe ich schon erfahren das ich bei ZFS ebenfalls sowas realisieren kann. Kann ich da nicht einfach die 3x SSDs die ich habe in RAID0 zusammenfassen, und diese dann auf zwei Partitionen zerteilen? Um dann Partition A als Schreibcache und die Partition B als Lesecache zu nutzen? Klar der Lesecache muss lernen, aber da der Schreibcache z.b ca 1.3TB groß wäre, hätte ich geschwindigkeitstechnisch beim Schreiben keine Probleme (denke ich, aktuell machen die ca 980mb/s übers Netzwerk als RAID0. Oder ist es bei ZFS langsamer?).

Technisch ist das kein Problem, bringt dir bei ZFS aber nicht den gewünschten Erfolg. Erstmal werden nur alle synchronen Schreibvorgänge bei ZFS durch ein SLOG-Gerät beschleunigt, nicht aber alle anderen, sodass die Geschwindigkeit abhängig ist von dem was du machst.

Einen Schreibcache so zu verwenden wie du vor hast - und ich lese hier Write-Back-Cache heraus - ist grob fahrlässig, denn egal welche SSD auch kaputt geht, du hast immer Datenverlust. Ich würde - wenn du schon Write-Back machst - immer ein RAID1 am besten von zwei verschiedenen Herstellern verwenden und ja, dann ist dein System schnell. Solche Systeme kannst du prima mit flashcache, bbcache und Konsorten realisieren und auch z.B. mit ZFS paaren, auch wenn sehr viele der coolen Features von ZFS dann flöten gehen.

Und lesend wäre nicht so dramatisch, da bei RAID5 oder RAID6 die Lesegeschwindigkeit mit jeder Platte steigt (aktuell ~350mb/s lesend RAID0).

Nicht so einfach bei ZFS, da dort der Durchsatz mit den vdevs steigt.
 
Mal abgesehen davon, dass dir hier im Forum keiner zu RAID0 raten würde, denn PVE steht für Enterprise und Hochverfügbarkeit

Ja nur die 3 Disks fürs Cache. Man könnte die natürlich auch einzeln betreiben und somit ist es halt nur so schnell wie die SSDs selbst.

Technisch ist das kein Problem, bringt dir bei ZFS aber nicht den gewünschten Erfolg. Erstmal werden nur alle synchronen Schreibvorgänge bei ZFS durch ein SLOG-Gerät beschleunigt, nicht aber alle anderen, sodass die Geschwindigkeit abhängig ist von dem was du machst.

Soweit bzw tief bin ich leider mit dem Thema nicht bewandert. Wie du sagtest stell ich es mir wie typisches Write-back vor. Wie bbcache oder Primocache (windows) es tut.

Solche Systeme kannst du prima mit flashcache, bbcache und Konsorten realisieren und auch z.B. mit ZFS paaren, auch wenn sehr viele der coolen Features von ZFS dann flöten gehen.

Welche coole Features wären das denn? :) Wie meinst du das genau mit ZFS paaren? In dem man mit ZFS die Disk zu nem Tank zusammenfügt und diese mit bbcache zb bedient? Wäre auch möglich, sicher. Bei der Caching Lösung ist die Geschwindigkeit der mechanischen Platten ja nicht so wichtig. Da wäre ZFS nur wegen RAIDZ bzw RAIDZ2 da.

Wie sieht es eigentlich mit der Erweitbarkeit bei ZFS aus? Bei Unraid kann ich ja einfach eine Platte nach der anderen reinhängen (oder gegen größere ersetzen) und die wird dazugerechnet und ist solange die Parityplatte in Ordnung ist auch vor Schaden geschützt (solange die Parityplatte nicht kaputt ist/geht).
 
Wie du sagtest stell ich es mir wie typisches Write-back vor. Wie bbcache oder Primocache (windows) es tut.

Genau so arbeitet ZFS halt nicht, da musst du schon auf eine andere Lösung greifen, wenn du solch ein Write-back-Cache-Tierung verwenden möchtest. Der L2ARC macht ähnliches, aber hat gegenüber andere Lösungen technologische Beschränkungen, die ZFS-spezifisch sind. Genaueres kannst du z.B. hier Nachlesen:
https://www.ixsystems.com/community/threads/zil-und-l2arc-für-meine-konfigutration-sinnvoll.53617/

Welche coole Features wären das denn?

Der Einsatz von externen Caching-Lösungen macht die selbstheilenden Features inkl. Checksummenprüfung sinnlos - in gleichem Maß wie wenn man es auf einem RAID verwendet.

https://pve.proxmox.com/wiki/ZFS_on_Linux

Wie sieht es eigentlich mit der Erweitbarkeit bei ZFS aus? Bei Unraid kann ich ja einfach eine Platte nach der anderen reinhängen (oder gegen größere ersetzen) und die wird dazugerechnet und ist solange die Parityplatte in Ordnung ist auch vor Schaden geschützt (solange die Parityplatte nicht kaputt ist/geht).

Kommt bei ZFS drauf an was du für eine System hast. RAID-z ist generell nicht erweiterbar, zumindest nicht wie btrfs erweiterbar ist. Aber wie bereits gesagt, btrfs ist für RAID größer als 1 nicht sicher und sollte nicht verwendet werden. Parityplatten gibt es bei ZFS auch nicht - bei normalem RAID übrigens auch nicht. Die Parity-bits werden meistens immer verteilt.

Generell solltest du dich mal einlesen was ZFS alles anders macht. Kurzfassung bei Wikipedia, Langfassung hier https://static.ixsystems.co/uploads/2018/10/ZFS_Storage_Pool_Layout_White_Paper_WEB.pdf
 

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!