Proxmox- Erfahrungen mit zfs-storage, raidz ?

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

Hallo Michael,

ja das stimmt. Ich finde aber dass es sich relativiert, ab dem Moment, wo man mit Snapshots arbeitet.
Proxmox arbeitet ja auch an einem eigenen Tool “PVE-zsync”
Alles im oben verlinkten Thread dargestellt. Seit ich mit ZFS Snapshots arbeite, erstelle ich vzdumps deutlich seltener, oft nur noch manuell, wenn ich was dauerhaft “einfrieren” oder Installationen migrieren will…
EDIT:
jetzt habe ich noch mal zwei Links rausgekramt, für alle, die sich für die Grundlagen von ZFS interessieren, zwei gute Videos. Der erste allein dauert allerdings fasst anderthalbstunden


und - der beste Einstieg in snapshots:
https://www.youtube.com/results?search_query=%23zfsrocks

Grüße,
gerd

Hallo allerseits,
ich habe am Wochenende unseren Server auf 64 GB RAM aufgerüstet und den RAID-Controller durch einen LSI SAS2308-IT ersetzt.
Dann habe ich Proxmox neu installiert und habe den Installer die sechs Platten zu einem zfs rpool (Einstellung: RAIDZ-1) zusammenfassen lassen.
Beim zurückspielen der virtuellen Maschienen gab’s dann schon die erste Überraschung:
Die Netzwerkgeschwindigkeit war statt der gewohnten 70-80 MB/s 120 MB/s (bis dahin wusste ich gar nicht, dass meine NAS so schnell sein kann :grinning:)
Ob’s nur am ZFS liegt oder ob die 32GB mehr Speicher die Ursache sind, kann ich nicht sagen.

Leider gab’s noch eine Überraschung:
Die 6 Festplatten haben nur 4 verschiedene Slot-Nummern?!? Siehe Bilder…
Auflistung vom BIOS:


Auflistung im BIOS-Setup:

Ist das Normal oder hab’ ich da was falsch gemacht?

Für Tips wäre ich dankbar.

Gruß,

Mathias

Hallo Mathias,
ich kann dir leider die Frage nicht beantworten, denke aber dass es besser wäre du machst mit deiner Frage ein neuen Thread auf.
Wichtig ist auf jeden Fall, dass der Controller im IT Mode (initiator target) arbeitet und dass ZFS damit wirklich direkt auf die Festplatten zugriefen und schreiben kann und nicht auf ein durchgereichtes Controller-Volume, das wäre nämlich bei ZFS ein “No-Go”.
Und das scheint ja der Fall zu sein.
Ich würde mal bei LSI im Handbuch nachgucken, was da bei “Slots” so steht :wink:

Hallo Peter,
vielen Dank für deine schnelle Antwort.

Es ist wie verhext. Da finde ich nichts. Es sieht so aus, als ob man die Slotnummer nicht verändern kann.
Naja, in der Zwischenzeit läuft das System stabil und schnell.

Was will man mehr…

Nochmals vielen Dank für’s mitdenken,

Mathias