Bräuchte ein bisschen hilfe bei ersten gehversuchen mit ZFS

dogma2k

Enthusiast
Thread Starter
Mitglied seit
25.12.2006
Beiträge
479
Ort
Berlin
Hi, wie oben schon steht möchte ich mich an das ZFS-Filesystem heranwagen. Habe schon eine menge gelesen und habe es soweit ganz gut verstanden.
Im moment habe ich ein ESXi 6.0 am laufen und eine 9201-16i an eine Windows VM durchgereicht. Läuft guit und rund.
Allerdings erhoffe ich mir von ZFS ein wenig mehr sicherheit was Datenkorruption angeht.
Ich habe mir zum testen ein napp-it VM erstellt und alles soweit eingerichtet, dann habe ich mir in der VM 3x 10GB Festplatten hinzugefügt und in der GUI zu einem Pool im Raidz zusammen gelegt und ein ZFS-Dateisystem angelegt. Dann habe ich in der napp-it GUI das NFS aktiviert und den speicher in ESXi hinzugefügt und einer VM zugewiesen. Das läuft ohne probleme und denke das ich bis dahin alles korekt gemacht habe. Jetzt habe ich allerdinges bemerkt dass das kopieren von Dateien erst schnell beginnt und dann extrem einbricht. Woran kann das liegen? Evtl. daran das ich der napp-it noch keinen eingenen Contoller durchgereicht habe?
Geplant habe ich für den Anfang ein Raidz Pool aus 4x 6TB WD RED Platten, dies sollten 16,4TB Netto sein. Kann ich das so machen oder sollte ich schon lieber ein raidz2 machen?

Zum Thema Backup wie soll ich die 16,4TB als Backup sichern? ich habe bisher alle Festplatten 1:1 kopiert, das würde ja nicht mehr gehen, oder?

Danke im voraus
Dogma
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
was für Dateien hast du denn kopiert? bei NFS solltest du das Sync Write auf dem Pool des ZFS Dateisystems für die VMs deaktivieren.

Backup: zfs send - damit kannst du das komplette Dateisystem spiegeln inkl. Snapshots. Dazu gibt es jede Menge Lesestoff im Netz, ist recht umfangreich aber genial gelöst.
 
Das Performance Problem liegt sicher an sync write.
Das ist ein besonders sicheres Schreiben bei dem jeder Datenblock von der Platte bestätigt werden muss. Damit bricht die Schreibrate aber extrem ein.

Zum Testen kann man sync im Menü Dateisysteme für das NFS Dateisystem auf disabled stellen.
Im Produktivbetrieb sollte man das aber nicht machen da ansonsten VMS mit älteren Dateisystemen (ext4, ntfs) bei einem Absturz beim Schreiben beschädigt/korrupt werden können. Normalerweise setzt mann dann ein ZIL Device ein. Das sind besonders schnelle und sichere SSDs z.B. eine Intel S3700-100 damit sicheres Schreiben auch schnell ist.

Die Leseperformance ist abhängig vom RAM da ZFS freien RAM als Lesecache nutzt.

Backup
Da würde ich ein kleines ZFS System mit Sata Mirror oder Raid-Z in den Keller stellen und wichtige Daten
oder Dateisysteme per sync mit robocopy oder rsync oder ZFS Replication sichern.
 
Zuletzt bearbeitet:
@gea: was ist da eigentlich der Unterschied einer ZIL geeigneten SSD und einer normalen?
Würde da auch eine kleine Partition àuf einer SSD als vmdk ausreichen?

Edit: Noch eine Zusatzfrage: In ab ESX 5.5 kann man ja eine SSD auch noch als Cache angeben. Was macht hier mehr Sinn. Dies der ZFS Installation zur Verfügung stellen und die Funktion in ESX deaktivieren. Oder die Cache Funktion in ESX aktiviert lassen UND die VMs über NFS vom ZFS Server holen? (Geht das überhaupt?)
 
Zuletzt bearbeitet:
doppeltes Posting
 
Zuletzt bearbeitet:
@gea: ich hab im Moment ESXi 5.5 U2 am laufen und ca. 10 GB als SSD Cache direkt in ESX deklariert. Meine VMs befindet sich bis auf die Firewall alle auf einem per ZFS eingebunden NFS Laufwerk. Macht es weiterhin Sinn den SSD Cache über VMWare verwalten zu lassen, oder würde es sich hier anbieten, eine VMDK auf der SSD zu erstellen und diese als Cache der Napp-IT VM zur Verfügung zu stellen? Besten Dank im Voraus!
 
Ich wollte schon mal danke für die hilfreichen Antworten sagen. Ich werde heute Abend sicher erst zum testen und lesen kommen da ja heute Ostern ist :)
 
@gea: was ist da eigentlich der Unterschied einer ZIL geeigneten SSD und einer normalen?
Würde da auch eine kleine Partition àuf einer SSD als vmdk ausreichen?

Edit: Noch eine Zusatzfrage: In ab ESX 5.5 kann man ja eine SSD auch noch als Cache angeben. Was macht hier mehr Sinn. Dies der ZFS Installation zur Verfügung stellen und die Funktion in ESX deaktivieren. Oder die Cache Funktion in ESX aktiviert lassen UND die VMs über NFS vom ZFS Server holen? (Geht das überhaupt?)

Eine SSD die als ZIL geeignet ist, muss dazu
- sehr viele kleine Writes aushalten
- extrem geringe Latenzen haben
- eine PowerLoss Protection haben

Eine normale oder "unsichere" SSD bringt nichts, im Gegenteil, es kann langsamer werden.
(Ohne dediziertes ZIL Device wird eine ZIL auf dem Pool angelegt und das ist manchmal schneller als eine langsame SSD)

Ansonsten ist ZFS und auch der ZFS Cache allem überlegen was ESXi anbietet.
Wobei es vor allem auf RAM als readcache ankommt - SSD als readcache ist nur zweite Wahl.
 
Zuletzt bearbeitet:
Bräuchte ein bisschen hilfe bei erstne gehversuchen mit ZFS

was für Dateien hast du denn kopiert? bei NFS solltest du das Sync Write auf dem Pool des ZFS Dateisystems für die VMs deaktivieren.

Ich hatte zum testen eine 10GB Datei kopieren wollen

Aber die checksum Überwachung ist noch aktiv?
 
Ich hatte zum testen eine 10GB Datei kopieren wollen

Aber die checksum Überwachung ist noch aktiv?

Sync write bedeutet dass auch ein Stromausfall beim Schreiben keinen Datenverlust zur Folge hat. Prüfsummen sind davon unabhängig.

Beides sind aber ZFS Eigenschaften, die man getrennt an/abschalten kann.
 
So ich habe heute mal ein bisschen herumgespielt mit ZFS das ganze macht schon Laune und klappt fast alles wie es soll. Allerdings bin ich mit der Übertragungsgeschwindigkeit noch nicht zufrieden.
Diese pendelt sich bei ca. 53MB/sek ein. Mit dem moment Setup habe ich ca. 110MB/sek. Sync write habe ich abgeschaltet. Liegt es evtl. daran das ich ja im moment zum testen mir 3x10GB Festplatten im ESXi erstellt habe, diese werden ja als vmdk Laufwerk bereitgestellt und der napp-it VM zugewiesen.
Jetzt mache ich ja ein ZFSPool mit napp-it und füge es ja als NFS in den ESXi ein. Diesen Speicher weise ich ja wiederum einer VM zu (im diesen Fall einer Windows 7 VM). Nun wird wiederum eine vmdk Datei im ZFSPool erstellt was ja praktisch dann eine virtuelle Festplatte in einer virtuellen Festplatte darstellt.
Ist das evtl. das prob.?
Würde sich das ändern wenn die Festplatten mit einem Controller direkt an die napp-it VM durchgereicht worden wären?
 
@dogma2k: ich habe das Problem auch gehabt. Nach Mapping über Synology/Xpenology hatte ich auf einmal wieder um die 100MB/sek.
Wenn du kannst, versuch mal mit einer Linux Kiste drauf zuzugreifen.
 
Oo Linux da ist er wieder mein alter Feind^^
Da müsste ich erst mal eine Linux VM anlegen. Welches soll ich nehmen, ich habe hier noch ein Ubuntu 12.04.5 LTS iso rum liegen. Würde das genügen?
 
oder setz dir ne Xpenology auf und leg die ZFS Freigaben als Netzwerklaufwerk an. 12.04 reicht klaro aus, aber als VM könnte das wieder langsamer sein, musst mal testen.
 
Ca 100 MB/s sind das Maximum bei sequentiellen Transfers bei 1 Gb Netzwerken.
Bei kleinen Dateien oder mehreren Usern ohne dass Daten aus dem Cache geliefert werden, bricht das gerne heftig ein. Eine Platte oder auch ein single vdev-Raid-Z kann halt nur ein paar hundert iops.

Solaris >> Xpenology >> Windows statt
Solaris >> Windows halte ich für grenzwertig.
Schneller kann das nur sein wenn sonst wo ein Problem liegt.
Es ist auf jeden Fal ultrakompliziert.

Entweder Solaris + ZFS oder
Xpenology und ext4 würde ich da eher bevorzugen.
 
1Gbit am Anschlag aka Maximum liegt bei ~115 MB/s netto. Praktisch also. Da das aber auch ein theopraktischer Wert ist, kommt man real in eben nicht superb Idealfällen bis 112,x MB/s.

Letztgenanntes macht aber schon DS415+ mit einer 6GB ISO-Datei (lesend)

(nur zum Protokoll)
 
Zuletzt bearbeitet:
So habe mich gestern durch die tutorials für XPEnology gequält und es auch zum laufen gebracht:) Allerdings bekomme ich ich beim kopieren einer großen datei keinen stabilen upload von Windows auf XPEnology hin so das der durchschnitt bei ca. 30MB/sek liegt. Wollte es schon mit dem schreibcache aktivieren versuchen aber leider funktioniert die funktion nicht (oder nur bei mir). Hat jemand noch einen Tipp?
 
ich hab grad noch mal "zum Zeigen" 2 Dateitransfers getestet. Es ist schon seltsam, aber nun ist es direkt von Napp-IT schneller als über ZFS ...
das war bisher genau umgekehrt wie in diesem Beispiel:

zum testen 2 unterschiedliche Dateien, auf dem selben Laufwerk mit mehreren GB Größe.

napp-xpen.jpg
 
Ich habe eben mal eine SSD als speicher für napp-it genommen um das ZFS Pool zu erstellen. Danach in XPEnology eigefügt. Jetzt schafft er schon ca. 62MB/sek. Langsam glaube ich das ich mal den HBA direkt an die napp-it VM durchreichen sollte zum testen
 
So ich habe es geschafft...
1.PNG
Die ca. 100MB/sek erreiche ich mit write sync aus, mit write sync an sind es immerhin noch gute 85MB/sek

Und nun zum "Fehler"... darf ich eigendlich gar nicht erzählen^^
Ich hatte den napp-it, XPEnology und die momentane NAS VM(habe immer hin kopiert) auf dem selben LAN Anschluss gehabt somit haben sich die Daten fast geprügelt wer zuerst darf. Lösung einfach jeder VM (napp-it, XPEnology, NAS) einen eigenden Anschluss zugewiesen

Danke für eure Tipp's jetzt kann ich das ganze noch ein wenig weiter testen und üben.

P.S. Ich habe probiert ein Pool zu erweitern. Ich habe die Platte ausgewählt und bestätigt aber irgendwie ist Sie nicht im Pool angekommen. Muss ich noch wo anders was einstellen unter napp-it?
 
Du kannst bei ZFS den Pool immer nur durch weitere VDEVs erweitern oder durch austausch der Festplatten gegen größere , also müsstest erst ein neues VDEV anlegen und das dann dem Pool zuordnen.
 
Ich hatte den napp-it, XPEnology und die momentane NAS VM(habe immer hin kopiert) auf dem selben LAN Anschluss gehabt somit haben sich die Daten fast geprügelt wer zuerst darf. Lösung einfach jeder VM (napp-it, XPEnology, NAS) einen eigenden Anschluss zugewiesen

Und das kapier ich jetzt nicht. Hängen die denn nicht an einem vSwitch im ESXi zusammen?`Da geht doch physikalisch garnichts über den LAN-Port? Oder?
 
Normalerweise ja, aber ich habe 4x LAN und jeden Adapter einem eigenen vSwitch zugewiesen und darauf die VM's verteilt. Ich habe eigentlich auch gedacht es ist egal weil die zu kopierende Datei ja eigentlich nie den Server verlassen hat und nur zwischen den vSwitches kopiert worden ist.
 
Mal ein kleines Update, nachdem ich das mit den vSwitches gemerkt habe, habe ich es nochmal mit dem Aufbau "napp-it <-> Windows" statt "napp-it -> XPEnology <-> Windows" versucht. Mit einem recht gutem Ergebniss muss ich sagen

kopieren ohne write sync von Windows -> napp-it : ca. 80MB/sek
kopieren ohne write sync von napp-it -> Windows : ca. 106MB/Sek

Upload nach ZFS.JPG
Download von ZFS.JPG

und
kopieren mit write sync von Windows -> napp-it : ca. 60,2MB/sek
kopieren mit write sync von napp-it -> Windows : ca. 108MB/Sek

Upload nach ZFS mit write_sync.JPG
Download von ZFS mit write_sync.JPG

- - - Updated - - -

Und weil ZFS so viel spaß macht habe ich mal versucht ein Striped Raidz (sollte ja ein Raid50 sein) zu erstellen hat auch gleich geklappt
und beim kopieren ohne write sync von Windows -> napp-it : ca. 96MB/sek

upload nach ZFS raid50.JPG

und beim kopieren ohne write sync von Windows -> napp-it : ca. 65MB/sek (mal sehen ob da noch was geht)

upload mit wsync nach ZFS raid50.JPG

das kopieren von napp-it -> Windows ist natürlich nicht mehr geworden ;)
 

Anhänge

  • stripped Raidz.JPG
    stripped Raidz.JPG
    50,6 KB · Aufrufe: 21
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh