Proxmox- Erfahrungen mit zfs-storage, raidz ?

Hallo Gerd,

Noch ein Satz zu ZFS Raid vs Hardware Raid

ich hake hier doch noch mal ein, weil ich jetzt endgültig entscheiden
muss, ob ich den neuen Server mit oder ohne HW-RAID Controller bestelle.

Es spricht sicher nichts gegen einen vernünftigen HW Raidcontroller. Mit
den entsprechenden Festplatten bekomme ich hier eine hohe und recht
genau definierbare Performance.
Um allein in diese Richtung zu kommen, muss ich bei ZFS schon ganz schön
was für tun, zB Caches und Logs auslagern auf SSDs viel RAM usw.
HIer liegt für mich HW-Raid vorn.

Wenn ich also keine SSDs im Server habe, sondern nur ein RAID 5/10 auf
SSD/SAS, dann wäre ein HW-RAID performanter?

Das war es dann aber auch. Bei der Sicherheit überwiegen für mich klar
die Vorteile von ZFS.

Mal ne vielleicht blöde Frage:
Man kann doch sicher auch bei einem HW-RAID ZFS als Dateisystem wählen.
Dann hätte man doch die Vorteile von ZFS (Datenkonsistenz bis auf
Datei-Bitebene, Prüfsummen für 100% konsistente Daten) und die eines
HW-RAIDs (definierte Performance).

Oder anders gefragt:
Wenn man eine HW-RAID Controller nimmt, macht dann ZFS als Dateisystem
Sinn oder nimmt man dann ext4?

ZB habe ich jetzt einen großen Supermicro Server mit gutem HW-Raid
Onboard „unter-geschoben“ bekommen, hier setze ich selbigen natürlich
ein und arbeite mit LVM-thin und ext4

Ok, das beantwortet evtl schon meine Frage von oben.
Dann also ext4?

Wenn man ZFS hat, dann kommt das thin-LVM nicht zum Einsatz oder
verstehe ich das noch falsch?

Würde ich selbst auch den Server verantworten, würde ich gegenwärtig
ohne HW-Raid MIT ZFS arbeiten und -wenn mehr als 2 VMs laufen sollen-
nicht unter 64 GB ECC RAM anfangen

Hm, 64 GB sind eh geplant. Für 128 GB reicht’s aber wohl nicht, wenn man
den RAID-Controller spart.

Wie sieht das eigentlich mit der CPU aus? Braucht man da für ZFS-SW-RAID
auch mehr Power?

Ich glaub ich werd alt und bequem. Ein HW-RAID kommt mir aktuell viel
einfacher zu managen vor als ein ZFS-Software-Raid… da man weniger
bzw. über das Webinterface gar keine Syntax braucht.

Und sollte es mal doch noch XEN werden sollen, dann braucht man ja imho
auf jeden Fall ein HW-RAID.

Andererseits spart man sich ohne den Controller natürlich Geld und wird
HW unabhängiger. Gut, der aktuelle Server läuft jetzt seit 5-6 Jahren
ohne HW-Defekt (abgesehen von HDs) - Klopf auf Holz das das weiter so
bleibt.

Echt gar nicht einfach, da eine Entscheidung zu treffen, da ich sowohl
mit dem Software-RAID das ich früher hatte als auch mit dem aktuellen
HW-RAID nur gute Erfahrungen gemacht hatte.
Der Austausch einer defekten HD beim HW-RAID ist aber schneller und
einfacher gemacht.

Viele Grüße
Steffen

Hallo Gerd,

Mein Festplattentip sind die HGST Ultrastar 7K6000 mit 4kn Sektoren für
das ZFS Raid, von dem dann aber noch nicht ohne weiteres gebootet werden
kann.
Das macht bei mir ein separates mini Raid 1 auf zB SSDs oder eine NVMe SSD.

auch hierzu nochmal ne Frage:
Das sind doch SAS Platten, die HGST Ultrastar 7K6000. Imho braucht man
dafür doch einen SAS-Controller, was Boards in der Regel nicht haben,
sondern nur HW-RAID-Controller?!?

Und wie sieht es dann wieder performancemäßig aus, wenn man normale SATA
6 GB/s mit SAS 12 GB/s vergleicht.
Da müsste ein HW-RAID ein ZFS-RAID (gleicher RAID-Level) doch deutlich
hinter sich lassen?!?

Viele Grüße
Steffen

Hallo Gerd,

noch eine Frage :wink:

Ich hab jetzt hier nochmal hier https://wiki.ubuntuusers.de/ZFS_on_Linux
komplett gelesen, u.a.

Wie macht das Proxmox? Wird da von ZFS gebootet?

Ich will eigentlich ein RAID 10 machen (oder ein RAID 5 aus
Kostengründen). Macht Proxmox da eine Boot/Root-Partition mit ext4 oder
wie läuft das?

Viele Grüße
Steffen

Hallo Steffen,

zZ bin ich gerade am Neuausstatten dreier Standorte, deswegen etwas stärker eingebunden.
Das sind ja jetzt alles sehr individuelle Fragen, viele davon habe ich schon beantwortet, aber machen wir es einfach: ruf mich an und wir gehen die Punkte einzeln durch, ich kann dir wohl alle beantworten…
Wenn ich deine Mail finde schicke ich dir eine PM mit Telefonnummer…

schöne Grüße,
gerd

Noch mal kurz eine Info zum “Verify” unter ZFS.
Um das bisher gesagte differenzierter darzustellen.
Bei ZFS werden zwei Formen der Daten-Konsistenzprüfung unterschieden:
1:
das “händische” Überprüfen des gesamten Pools auf Konsistenz der Daten, genannt "scrubbing"
# zpool scrub mypool
2:
das vollautomatisch ablaufende Wiederherstellen (resyncing) zB nach einem Ausfall/Austausch einer Festplatte, dieser Vorgang nennt sich “resilvering”

Mit dem Befehl:
# zpool status -v
Wird der Status beider Prozesse abgerufen und wird u.a. in % angezeigt.
Übrigens läuft Standardmäßig unter Proxmox ein cronjob für monatliches scrubbing,
siehe /etc/cron.de/zfsutils-linux
Wie lange der letzte komplette scrub Prozess lief und wann zeigt ebenfalls
# zpool status -v
an. (bei mir dauert er bei einem 2 TB Pool über 6h)
Wie lange im Vergleich dazu ein HW Raid Controller bräuchte müsste man direkt vergleichen. Da insbesondere beim resilvering unter ZFS nur die tatsächlichen Daten im Gegensatz zum HW Controller der immer die gesamte Festplattenstruktur synchronisiert, gilt hier ZFS als schneller.

Grüße
gerd

Hi.
Ich hänge mich nochmal an diesen Thread dran; ist zwar schon älter aber immernoch top-aktuell und interessant.

… auch wir bekommen demnächst einen neuen Server, genauergesagt einen IBM x3650 M4 mit reichlich Power und reichlich RAM. Der könnte dann locker ZFS ziehen – die Frage ist aber, ob es sinnvoll ist, da er einen HW-RAID-Controller an Bord haben wird und daher eigentlich alles wieder nach einem RAID-10 schreit. Was ich bei den IBM-Servern bisher auch nicht weiß ist, ob man gewisse Platten nicht über das HW-RAID laufen lassen kann. Man kann bei dem Server bis zu 8 Platten einbauen. Da könnte man ja z.B. nur 4 an den HW-RAID-Controller anschließen und ein RAID-10 basteln, 2 für ein Backup vorsehen und zB 2 für ZFS – mir geht es dabei unter Proxmox auch um die Möglichkeiten, die hier dargestellt werden: Storage Replication. Also ganz konrket zielt meine Frage darauf ab, wie man vorgehen kann, wenn man einen Backup-Server aufsetzt, dem im Desaster-Fall innerhalb möglichst kurzer downtime ein Storage zur Verfügung gestellt werden muss. Dafür scheint ZFS wie gemacht zu sein, wenn ich das richtig verstehe.
Hat da einer aktuellere Infos?
Schöne Grüße,
Michael

Hallo Gerd.
Ich komme auch nochmal auf diesen Artikel zurück:

Hallo Wolfgang, ja habe ich. Ich nutze das produktiv an mehreren Standorten, z. B. in einer größeren Artzpraxis. ZFS gilt als sehr ausgereift daher haben die Proxmox Leute damals und bisher ZFS den Vorzug vor BTRFS gegeben, weil zu der Zeit noch bei BTRFS noch nicht alle Raid Funktionionen als stabil galten. Es gibt einige klare Argumente einem ZFS Software Raid den Vorzug vor Hardware Raid zu geben, z. B. dass ZFS als Dateisystem sich bis auf Dateiebene um konsistente Daten kümmert und soga…

Wir haben einen Server bekommen, der genug Power für ZFS haben dürfte. Dennoch ist da bisher “nur” ein RAID-Controller eingebaut. Ich frage mich nicht zum ersten Mal, ob für uns nun ein Software-RAID mit ZFS oder das noch einzurichtende HW-RAID sinnvoller/besser/performanter ist.
Kannst du uns nochmal mit deinen Rat zur Seite stehen?
Schöne Grüße,
Michael


(Antwort kam zunächst per PM, kann genauso gut öffentlich laufen…)
Hallo Michael,

bin gerade etwas am rotieren, daher jetzt erst die Antwort, sorry.
Damit ich die Entscheidung nicht treffen muss, setzte ich zZ immer auf Suprmicro Boards mit ausreichend SATA oder noch besser zusätzlichen SAS Ports (X11SP[i|m|h])
Die letzten Wochen habe ich mich ausführlich mit ZFS Snapshots beschäftigt, so dass ich sie gegenwärtig produktiv auch bei den KundenServern einsetze, dazu habe ich eine Anleitung veröffentlicht:
zfs-snapshot-synchronisierung
siehe dazu auch die “ZFS rocks! - YouTube” Videos.
Das kann man alles so wie beschrieben nur mit ZFS machen und da ist ein Raid Controller per se erst mal im weg. Man müsste den Raid Controller -falls möglich- umkonfigurieren Stichworte hierzu sind zB
“IT mode or IR Mode” wie zB hier beschrieben: flashing-lsi-hba-to-it-mode-or-ir-mode
Hab’ ich auch schon gemacht, zB oft bei onboard SAS Controllern nötig.
ABER:
Hat man einen wirklich guten Raid-Controller, bietet der natürlich auch gegenüber ZFS Vorteile:
Um bei ZFS auf hohe Performance zu kommen, benötige ich allein für ZFS ausreichend RAM und CPU Leistung, besser noch teuren SSD Cache Speicher.
Das alles brauche ich bei einen Raid Controller nicht in dem Masse
Hier musst du Abwegen, auch bis in den HighEnd Rechnezentrums-Bereich wirst du beides finden, ZFS und/oder HW-Raid.

Apropos Raid10: natürlich Raid10, das ist die bevorzugte und empfohlene ZFS Raid Konstellation, je nach Anzahl der Festplatten natürlich. Bei mehr als 6 geht die Empfehlung Richtung Raid-Z2
ZFS ohne Raid hatte ich bisher nur zu Testzwecken am Start.
Guck dir mal den “ZFS rocks! - YouTube” Videos bezüglich Ransomware und Snapshots an… :wink:
Das funktioniert genau so wie in dem Video gezeigt, sowas geht mit keinem Raidcontroller
Wie in meiner Anleitung geschrieben, schiebe ich mittlerweile die ersten ZFS Snapshots übers Internet…

Mach doch den Artikel öffentlich, oder spricht da was gegen?
Grüße,
gerd

push
Ich schiebe diesen Thread nochmal nach oben: ZFS ist wirklich der Knaller :slight_smile:
Dazu ein Video, wohin die Reise gehen kann, wenn man’s mit Proxmox/KVM macht:

Sehenswert ist aber auch dieses hier:

Schönes Wochenende,
Michael

Hallo Michael,
ich hab’ mich mal mit dem Thema ZFS auseinandergesetzt. Proxmox bringt ja schon alles mit, was man für ZFS benötigt :slight_smile:
Heute wollte ich es mal ausprobieren:
Leider habe ich einen RAID ctrl sas 6g 1gb (d3116c) in einem primergy tx2540 m1 - Server. Da hängen 6 1 TB HDs drin. Ich hab’s nicht geschafft die ohne der RAID anzusprechen.
Weist du (oder jemand anderer aus dem Forum), wie man die Raid-Funktionalität deaktivieren kann und direkt auf die Platten zugreifen kann?

Gruß,
Mathias

Hi Mathias.
Ja, Proxmox bringt 'ne Menge mit – aber nicht alles. Das Paket pve-zsync kann zwar schon einiges, was man sich von ZFS verspricht, aber noch besser macht es scheinbar Zrep?!
Hast du den oben verlinkten Thread im Nachbarforum mitverfolgt? Ein (inkrementelles) “Backup” / Restore einer VM dauert mit ZFS dann nur ein paar Sekunden. Ist echt irre…

Was den RAID-Controller angeht: Das gleiche Problem haben wir auf unserem Produktivsystem auch. Da ist ein dicker RAID-Controller drin, der auch gute Arbeit leistet. Wenn man ZFS haben will, muss man sich daher einen HBA besorgen. Wir haben z.B. den Wald- und Wiesen HBA LSI 92xx-8i gekauft und konnten damit völlig problemlos 4 Platten in einen ZFS-Verbund aufnehmen. Da das ganze aber im Moment nur im Testsystem und nicht produktiv läuft, kann ich über die Performance (über die man ja überall etwas liest) nicht wirklich was sagen. Die Hauptregel bei ZFS lautet bekanntlich: RAM – RAM – und noch mehr RAM. DIe zweite Regel: Niemals ZFS über einen RAID-Controller laufen lassen … aber das hast du ja auch nicht vor.

Ob man deinen Controller im IT-Mode laufen lassen kann bzw ob man damit einzelne Platten auch ohne RAID ansprechen kann, weiß ich nicht. Hast du mal ins Manual geschaut?

Ich bin auch weiterhin sehr an ZFS interessiert. Langfristig finde ich auch die Lösung via iSCSI und Storage im eigenen Gehäuse und dann via SAS-Kabel angebunden sehr gut.

Ach ja – sehr gut gefallen hat mir auch noch diese Anleitung:
https://deepdoc.at/dokuwiki/doku.php?id=server_und_serverdienste:linux_zfs

So long,
Michael

Hallo Michael,
das hört sich gut an. Speicher kann man ohnehin nicht genug haben. Da rüste ich unseren Server von 32 GB auf 64 GB auf und hol mir den HBA LSI 92xx-8i. Der kostet auch nicht die Welt :slight_smile:

Danke nochmals für den Tip.

Gruß,

Mathias

Hi. Bei mir ist das Problem mit den Platten nicht die Versorgung mit SAS/SATA-Kabeln sondern mit der Spannungsversorgung. Auf dem Serverboard könnte eine zusätzliche Backplane installiert werden… dann aber nur für 2.5 Zoll Platten. Daher bin ich auf den Testserver ausgewichen und habe zum Ausprobieren zunächst “alte” 3.5 Zoll Platten benutzt…
Eigentlich hätte ich lieber 5 Platten (eine kleine SSD als Log), aber das geht in dieser Konstellation im Moment noch nicht …
Michael

Hallo zusammen,

gibt es dafür auch schon eine alltagstaugliche Backup und Disasterrecovery Strategie?

Viele Grüße
Thomas

Hi Thomas,
was meinst du mit “alltagstauglich”?
pve-zsync ist bisher nicht (noch nicht?) in das GUI von Proxmox eingebaut und muss daher auf der Konsole ausgeführt werden. Andere Lösungen wie Zrep natürlich erst recht …

Es ist aber auch nicht so gedacht wie ein Cluster – wenn man einen Cluster betreibt, kann man natürlich auch per GUI die VMs von einem Node zum anderen verschieben/kopieren/migrieren aber das Szenario ist ein anderes, da dann ständig mind. 2 (besser >=3) Server/Nodes laufen müssen. Es ist “irgendwann” auch eine Frage des Stromverbrauchs, ob man das will?!?

Dieses Szenario ist eher so gedacht: Ein Server läuft produktiv 24/7. Dann schaltet man (möglicherweise nur temporär) einen zweiten Notfall-Server dazu, auf den alle VMs per ZFS synchronisiert werden. Wenn dann der Hauptserver ausfällt, kann man innerhalb sehr kurzer Zeit auf den Backup-Server wechseln und muss nicht erst stundenlang die gepackten VMs einzeln wiederherstellen. Das geht dann innerhalb von wenigen Augenblicken. Natürlich muss man trotzdem vor Ort sein, da man die Leitungen umstecken müsste aber der Zeitdruck verringert sich doch um ein Vielfaches, da ZFS hier seine Stärken ausspielt …

Schöne Grüße,
Michael

Hallo Thomas,

gibt es dafür auch schon eine alltagstaugliche Backup und Disasterrecovery Strategie?

Dafür nutze nicht den Server sondern eine NAS. Da wird jeden Abend ein rsnapshot des Systems auf eine NAS abgelegt. Und wenn ich mal eine größere Änderung am System mache, lass ich Proxmox eine Sicherung auf die NAS machen.

Das funktioniert ganz gut. Hab’ ich erst gestern zurückgespielt, nachdem ich ein bisschen mit RAID 5 und RAID 10 herumgespielt habe.
Einziger Schöheitsfehler ist, dass wenn man einen rsnapshot zurückspielt, dass man den Server mit einem Knoppix-Linux booten, die Partitionen (inklusive NFS-Share der NAS) einhängen, und zurücksyncronisieren muss.
Das geht dann aber richtig schnell.

Hallo Michael,

alltagstaugliches Backups heißt:
1.) Ich kann sowohl eine komplette VM, wie auch Teile (einzelne Parttionen, Festplatten oder auch nur eine einzige Konfig-Datei) aus meinem Backup zurücksichern, ohne einen kompletten Snapshot zurückspielen zu müssen und damit ALLE Änderungen rückgängig zu machen.
2.) Im Falle das mein Server in Flammen aufgeht, oder fünf von sechs Festplatten gleichzeitig den Geist aufgeben (ich spreche von physikalischer Zerstörung bzw. entsprechnder Defekte), kann ich das ZFS aus meinem Snapshot-Backup ohne weiteres Wiederherstellen? Wie lang wäre etwa die Ausfallzeit bis zur vollständigen Wiederherstellung, wenn man von Null aus dem Backup zurücksichern müsste.
3.) Wie wird gesichert? Fullbackup mit inkrementellen Snapshots? Wird dann irgendwann ein neues synthetisches Fullbackup generiert aus gemergden Incrementals oder gib es active Fulls? Gibts eine Konsistenzprüfung? Sind Revers-Inkrementelle Backups möglich?

Jede Lösung ist nur so gut, wie sie im Bedarfsfall auch wiederherstellbar ist und zwar nicht dann, wenn man mal eine Konfig-Datei verfriemelt habe oder irgendwer eine Excel-Tabelle gelöscht hat, sondern, wenn einem das Ding um die Ohren fliegt und man NICHTS mehr hat außer das Backup. Wenn das dann nix taugt, weil es für diesen Anwendungfalls nicht gedacht war, wird es sehr schnell ganz ungemütlich. Daher frage ich.

Viele Grüße
Thomas

Nachtrag:

Mit interessieren hierbei die konkreten Erfahrungen die ihr damit bislang gemacht habt.
Was in der Theorie möglich ist, dass kann ich selbst irgendwo nachlesen.
Theoretisch ist jedes Backup-Konzept super und kann alles und es gibt da auch nie Probleme…

Was mich juckt: Funktioniert das auch so in der Praxis wenns gilt?

Viele Grüße
Thomas

Hi.
Also ich bin jetzt nicht der Ober-Experte, aber nach allem was ich gelesen habe, klingt da immer durch “ZFS geht nicht kaputt”.

In einem der Beiträge wird auch erklärt, dass bei ZFS alle Änderungen immer nur hinten dran gehängt werden und vorher alles auf Konsistenz geprüft wurde.

Ob alle Fälle, die du ansprichst, abgedeckt sind kann ich dir nicht zu 100% beantworten aber ich nehme es sehr stark an. Ich habe mit pve-zsync eine VM vom Produktiv-Server auf den Backup-Server gespiegelt. Die kann ich selbstverständlich starten. Das besondere ist dann aber: ändert sich jetzt was auf dem Produktivsystem und ich werfe pve-zsync neu an, werden nur noch die Änderungen übertragen. Und wenn das Produktivsystem dann wieder läuft (und die Platten nicht völlig abgeraucht sind), werden auch nur die Änderungen wieder zurück geschoben. Daher ist das auch so schnell in diesen Fällen. Aber korrigiert mich, wenn ich falsch liege…

Schöne Grüße
Michael

Hi,
ich habe jetzt den Thread nicht mehr komplett durchgelesen und hoffe ich wiederhole nichts…
Zwei Infos zu Proxmox ZFS und Snapshots:
sucht mal bei YouTube nach “ZFS Rocks”, die Videos sind hilfreicher als die von “Nick”

Ich habe ein Einsteigertutorial für Proxmox + ZFS + Snapshots geschrieben, hier:
zfs-snapshot-synchronisierung
als PDF und DokuWiki Rohtext, in Post Nr. 9 u. 16

viel Spaß damit. das Läuft bei mir jetzt seit Monaten so wie beschrieben Produktiv.
Ich werde es leider kaum zeitlich schaffen hier auf Fragen immer sofort zu antworten.
(Bekomme gerade eine grössere Schule dazu, auf Linuxmuster umzustellen…
natürlich unter Proxmox mit ZFS usw. ;-))

Grüße,
gerd

Hallo Gerd. Was ich echt schade finde ist, dass vzdump nicht selbst dazu in der Lage ist, differentielle Backups zu erzeugen. Das wäre in Sachen Größe und Dauer der Backups hier echt nicht schlecht. Das Feature wird im Nachbarforum ja auch immer wieder angefragt. Mir sind die Gründe, warum es abgelehnt wurde, allerdings nicht ganz klar (außer dass ein Backup und Restore natürlich “rock solid” sein muss…)
Schöne Grüße
Michael