[Sammelthread] ZFS Stammtisch

Hi gea,

hast Du zufällig mal die Performance gemessen? Ich frage nur darum, weil ich hier mal ein paar Tests mit Proxmox gemacht habe. Zuerst alles direkt betrieben und gemessen, dann Proxmox auf eine USB-SSD, onboard-Controller durchgereicht an Nas4Free und dann wieder gemessen. Da fehlte dann vor allem beim "write" doch ein ganzes Stück zum "Direktbetrieb". Ist ja im Prinzip das gleiche wie mit ESXi, nur eben mit Proxmox.

Direkt:
AFP: 92MB write / 100MB read
SMB: 78MB write / 82MB read
NFS: 70MB write / 94MB read


Virtualisiert:
AFP: 64MB write / 92MB read
SMB: 57MB write / 64MB read
NFS: 51MB write / 91MB read


Mit ESXi kann ichs leider hier nicht testen, da bekomme ich immer so "schöne rosafarbene" Bildschirme :)

Das mit dem Import Parameter werde ich später mal testen und berichten, hab gerade meine Config wieder umgebaut.


Gruß Alex

Aktuelle Vergleichszahlen Virtuell/ Hardware habe ich nicht. Die sind ohnehin immer zu sehr an eine spezielle Konfiguration gebunden. Insgesamt habe ich aber bei ESXi + Solaris noch nie einen Einbruch von bis zu 30% gesehen oder davon gehört.

zu ESXi
Der rosafarbene Bildschirm ist ein Bug in 5.1 beim Durchreichen von Onboard Sata.
Das sollte nach Einspielen des aktuellen Patches vorbei sein.

Thomas hat dazu eine Anleitung (für ESXi und OmniOS) veröffentlicht
http://napp-it.org/doc/ESXi-OmniOS_Installation_HOWTO_de.pdf
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Kleines Update zum zerschossenen Pool:

Nach dem ich gefühlte hundert Parameter und Varianten durchgprobiert hatte, hab ich irgendwo von einem ominösen "-X" Parameter gelesen, der doch sage und schreibe nun auch zum Ziel geführt hat:

zpool import -mFX raid1-pool

Damit rödelte es eine ganze Zeit rum und irgendwann war mein Pool wieder da, zwar noch degraded wegen dem LOG Device:

nas4free:~# zpool status
pool: raid1-pool
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: ZFS-8000-4J
scan: scrub repaired 0 in 0h12m with 0 errors on Sat Mar 23 18:38:03 2013
config:

NAME STATE READ WRITE CKSUM
raid1-pool DEGRADED 0 0 0
mirror-0 ONLINE 0 0 0
ada1 ONLINE 0 0 0
ada2 ONLINE 0 0 0
logs
5405955815442179335 UNAVAIL 0 0 0 was /dev/ada0p1
cache
ada0p2 ONLINE 0 0 0

errors: No known data errors

aber nach einem "Scrub" ohne Fehler und einem Reboot und anschliessendem:

zpool replace raid1-pool 5405955815442179335 ada0p1

schein alles wieder frisch zu sein:

nas4free:~# zpool status
pool: raid1-pool
state: ONLINE
scan: resilvered 0 in 0h0m with 0 errors on Sat Mar 23 19:13:39 2013
config:

NAME STATE READ WRITE CKSUM
raid1-pool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada1 ONLINE 0 0 0
ada2 ONLINE 0 0 0
logs
ada0p1 ONLINE 0 0 0
cache
ada0p2 ONLINE 0 0 0

errors: No known data errors

Ich hab zwar keine Ahnung, was nun genau gemacht wurde, aber irgendwie bin ich jetzt echt begeistert, zumal auf den ersten Blick alle Testdaten (97GB) da sind :banana:
 
Die wichtigsten Pool Importoptionen

-f force
-readonly nur lesbar
-m import ohne Log device
-F rewind (Importiere früheren Stand falls aktuelle Version fehlerhaft)
-FX extreme rewind (habe ich noch nie gebraucht, ich weiss nichtmal ob das Standard ist)
 
Probleme mit ashift-Einstellungen

Hallo und moin, moin,

ich verzweifele gerade an ashift=12 oder eben nicht 12 mit HDDs WDC WD20EARX-00P (sollte ja eigentlich automatisch passieren).
Einen alten Pool konnte ich vor einigen Monaten ohne Probleme mit ashift=12 anlegen.
Ein normales zpool create tank10 ... führt zu ashift=9 (ganz schlecht).
Ich habe ein zpool create -o ashift=12 tank10 ..... versucht: Ergebnis Fehlermeldung a la Option gibt's nich'
eine Anpassung der sd.conf durch :
"ATA WD20EARS-00M", "physical-block-size:4096";
"WDC WD20EARS-00M", "physical-block-size:4096";
"ATA WD20EARX-00P", "physical-block-size:4096";
"WDC WD20EARX-00P", "physical-block-size:4096";
"ATA WD20EARS-00J", "physical-block-size:4096";
"WDC WD20EARS-00J", "physical-block-size:4096";
führte auch nicht zum Ziel und napp-it 0.9a7 hat auch ein ashift=9 zur Folge.
Ich befürchte, dass die Syntax in der sd.conf nicht korrekt war.
Hoffentlich könnt ihr mir weiterhelfen.
Vielen Dank.
 
@ron2105

Was nimmst du denn für ein OS? Diese extra Option "-o ashift=12" ist nur bei Linux mit ZFS meines Wissen möglich, darum deine Fehlermeldung.
 
Kann man Solaris irgendwie beibringen, dass es nach nem kernel panic (o.ä.?) nicht kommentarlos sofort resettet? Ich würd zumindest gern mal die Fehlermeldung lesen...

Ich hab gestern ein frisches 11er auf nen Stick installiert, anschließend napp-it drauf, und ab da wars seltsam. Reboot via shutdown hat er abgebrochen, via init ist er nie am BIOS vorbeigekommen sondern hat anderweitig was gemacht. napp-it lief da aber noch nicht, also init 0 und dann wieder einschalten. Seither tut sich nix mehr, egal, welcher Eintrag im Grub ausgewählt wird (Solaris, backup-Points 1/2, pre_napp-it oder napp-it). Der milestone-Bootparameter hat auch keine Auswirkung.
 
Kann man Solaris irgendwie beibringen, dass es nach nem kernel panic (o.ä.?) nicht kommentarlos sofort resettet? Ich würd zumindest gern mal die Fehlermeldung lesen...

Du kannst doch nach dem reboot den crash dump analysieren? Da steht doch genau drin, was die Ursache war.
 
Und wo liegt der? :heul:
 
Wie genau kann man denn für eine NFS Freigabe den root-Zugriff darauf aktivieren?
Ich habe irgendwie die korrekte Syntax noch nicht verstanden.
 
Wie wär's damit mal in den Solaris Admin Guide zu schauen? :)

Managing System Crash Dump Information - Oracle Solaris Administration: Common Tasks

Dann kannst du mit gezielten Fragen zurückkommen bzw. am besten im Betriebssystem-Forum einen Thread eröffnen.

---------- Post added at 14:36 ---------- Previous post was at 14:33 ----------

Wie genau kann man denn für eine NFS Freigabe den root-Zugriff darauf aktivieren?

Das läuft über die Zugangsberechtigungen, die du für den share innerhalb von Solaris setzt, genau verstanden was du vorhast habe ich allerdings nicht...
 
Das läuft über die Zugangsberechtigungen, die du für den share innerhalb von Solaris setzt, genau verstanden was du vorhast habe ich allerdings nicht...

Um mal erklären was ich vorhabe:
Ich habe mir verschiedene Backuuplösung angeschaut, das meiner Meinung nach für meine Situation beste ist rsnapshot.
Dies scheint sich aber nicht so ohne weiteres in OmniOS zu installieren lassen. (Falls es doch jemand geschafft hat -> bitte Melden :) )
Als Alternative habe ich mir gedacht, einfach eine debian VM mit rsnapshot zu nutzen, da es dort problemlos läuft und als Backupquelle und Ziel eine NFS Freigabe von OmniOS zu nutzen.
Auf diese Freigabe muss man aber mit root Rechten drauf zugreifen können um Kommandos wie chown oder Hardlinks zu nutzen.
Die rsnapshot FAQ erklärt es folgendermaßen:
If you are running rsnapshot as user root (which is the normal case), make sure that the NFS server allows root access for that NFS mount to the rsnapshot machine as an NFS client. For a solaris NFS server, see root= in share_nfs(1). For a Linux NFS server, see no_root_squash in exports(5). Otherwise you might get errors about chown, removing directories/files, etc if permissions on the NFS server are mapped from "root" to "nobody".
 
Das ist aber ziemlich unsauber... schon mal versucht rsnapshot zu kompilieren? Dass es das nicht in den Paketquellen gibt sollte eigentlich klar sein.
 
Schon klar, dass es das nicht in den Paketquellen gibt, hatte über die Installation schon eine kleine Diskussion im OmniOS IRC.
make install gibt immer den Fehler /usr/bin/pod2man not found.
Also wurde mir dazu geraten, perl aus einem anderen Repository zu installieren und in ./configure den Pfad zum "neuen" perl mit pod2man anzugeben.
Dann nimmt er zwar den neuen Pfad für Perl, die Fehlermeldung bleibt aber die gleiche, deshalb wurde mir im IRC gesagt, dass dies hardcoded wäre und nur schwer änderbar.

Hat noch jemand Ideen?
Mir wäre es natürlich auch lieber, wenn mir der Umweg über die VM erspart bliebe.

Edit: Unter Solaris habe ich den gleichen Fehler.
 
Zuletzt bearbeitet:
Schon klar, dass es das nicht in den Paketquellen gibt, hatte über die Installation schon eine kleine Diskussion im OmniOS IRC.
make install gibt immer den Fehler /usr/bin/pod2man not found.
Also wurde mir dazu geraten, perl aus einem anderen Repository zu installieren und in ./configure den Pfad zum "neuen" perl mit pod2man anzugeben.
Dann nimmt er zwar den neuen Pfad für Perl, die Fehlermeldung bleibt aber die gleiche, deshalb wurde mir im IRC gesagt, dass dies hardcoded wäre und nur schwer änderbar.

Hat noch jemand Ideen?
Mir wäre es natürlich auch lieber, wenn mir der Umweg über die VM erspart bliebe.

Edit: Unter Solaris habe ich den gleichen Fehler.

Bei mir, omnios-c40692b, ist pod2man laut, find / -name pod2man, hier: /usr/perl5/5.16.1/bin/pod2man verfügbar.
Da es unter /usr/bin/pod2man nicht vorhanden ist, spricht aus meiner Sicht, nichts dagegen es per cp -a /usr/perl5/5.16.1/bin/pod2man /usr/bin/ zu kopieren.

Dann liegt es im Pfad und kann verwendet werden, z.B. pod2man --help oder /usr/bin/pod2man.
 
Um mal erklären was ich vorhabe:
Ich habe mir verschiedene Backuuplösung angeschaut, das meiner Meinung nach für meine Situation beste ist rsnapshot.
Dies scheint sich aber nicht so ohne weiteres in OmniOS zu installieren lassen. (Falls es doch jemand geschafft hat -> bitte Melden :) )
Als Alternative habe ich mir gedacht, einfach eine debian VM mit rsnapshot zu nutzen, da es dort problemlos läuft und als Backupquelle und Ziel eine NFS Freigabe von OmniOS zu nutzen.
Auf diese Freigabe muss man aber mit root Rechten drauf zugreifen können um Kommandos wie chown oder Hardlinks zu nutzen.
Die rsnapshot FAQ erklärt es folgendermaßen:

Ist das Backupziel auch ZFS?
Wenn ja, warum dann nicht einfach ein Script, das
- einen Quellsnap anlegt
- per rsync oder zfs send die Daten syncronisiert
- nicht weiter benötigte Quell Snaps wieder löscht.

Versionierung geht dann über snaps auf dem Ziel
 
Mit ln -s hhabe ich es jetzt geschafft.
Hat es überhaupt schon mal jemand probiert Windows von einem ZFS-iSCSI Storage zu booten?
Vorteil wäre ja die einfache Möglichkeit von Backups.
edit @gea:
Der Nachteil bei dieser Lösung wäre doch, das wenn ich nur eine Datei wiederherstellen möchte, den ganzen Snapshot einspielen muss?
 
Zuletzt bearbeitet:
/edit: Frage falsch verstanden.
 
Zuletzt bearbeitet:
edit @gea:
Der Nachteil bei dieser Lösung wäre doch, das wenn ich nur eine Datei wiederherstellen möchte, den ganzen Snapshot einspielen muss?

Nein, die ZFS snaps sind ja direkt zugänglich (Ordner /Filesystem/.zfs/snapshots) oder im einfachsten Fall über Windows "vorherige Version".

Windows von iSCSI booten: sollte mit Intel Netzwerkkarten und der passenden Firmware darauf möglich sein.
http://www.intel.com/cd/network/connectivity/emea/deu/server_adapters/347124.htm
 
Zuletzt bearbeitet:
Hallo und moin, moin,

ich verzweifele gerade an ashift=12 oder eben nicht 12 mit HDDs WDC WD20EARX-00P (sollte ja eigentlich automatisch passieren).
Einen alten Pool konnte ich vor einigen Monaten ohne Probleme mit ashift=12 anlegen.
Ein normales zpool create tank10 ... führt zu ashift=9 (ganz schlecht).
Ich habe ein zpool create -o ashift=12 tank10 ..... versucht: Ergebnis Fehlermeldung a la Option gibt's nich'
eine Anpassung der sd.conf durch :
"ATA WD20EARS-00M", "physical-block-size:4096";
"WDC WD20EARS-00M", "physical-block-size:4096";
"ATA WD20EARX-00P", "physical-block-size:4096";
"WDC WD20EARX-00P", "physical-block-size:4096";
"ATA WD20EARS-00J", "physical-block-size:4096";
"WDC WD20EARS-00J", "physical-block-size:4096";
führte auch nicht zum Ziel und napp-it 0.9a7 hat auch ein ashift=9 zur Folge.
Ich befürchte, dass die Syntax in der sd.conf nicht korrekt war.
Hoffentlich könnt ihr mir weiterhelfen.
Vielen Dank.

P.S.: Das ist ein OI 151a7.
 
Zuerst Vendor und Produkt ermitteln:
iostat -Er | grep -i vendor | sort | uniq

dann daraus die sd.conf modifiezieren, z.B. (Leerzeichen genau so beibehalten, Vendor und Produkt haben eine vorgegebene Länge)
sd-config-list =
"ATA SAMSUNG HD204UI", "physical-block-size:4096",
"ATA ST2000DL004 HD20", "physical-block-size:4096",
"ATA ST3250820NS", "physical-block-size:4096",
"ATA WDC WD15EARS-00S", "physical-block-size:4096";

dann neustarten und pool erstellen

es gibt Informationen, dass Platzhalter möglich sind (habe ich nicht getestet)
"**", "physical-block-size:4096"


Probleme:
meist, weil Platten nicht über sd - Treiber angesprochen werden.
Geht in der Regel mit SATA (nur AHCI) und LSI HBA

Im neusten napp-it gibt es dazu einen Menüpunkt
Disk - Details - prtconf diskinfos

Da sieht man u.A. den benutzten Treiber

außerdem:
Die einzelnen Platten werden durch Komma getrennt!
 
Zuletzt bearbeitet:
Ist das Backupziel auch ZFS?
Wenn ja, warum dann nicht einfach ein Script, das
- einen Quellsnap anlegt
- per rsync oder zfs send die Daten syncronisiert
- nicht weiter benötigte Quell Snaps wieder löscht.

Versionierung geht dann über snaps auf dem Ziel
Genau Backupziel ist auch ZFS (ein eigener Pool)
Kannst du dieses Vorgehen etwas genauer beschreiben?
Also erst vom eigentlichen Storage auf den Backuppool alles herüberkopieren (z.b. mit Rsync)
Und dann auf dem Backup ein Snapshot erstellen?

Die Windowsfunktion "Vorgängerversionen" klappt auch für Ordner mit ihren Unterordnern?
(z.b. kompletten Ordner "Backup" mit allen Dateien und Unterordnern auf älteren Stand bringen)

Wenn ich ein Backup so wiederherstelle, werden die Dateien zwischen meinem FileServer und meinem Windows PC hin- und hergesendet oder passsiert das intern alles auf dem Fileserver?
 
Genau Backupziel ist auch ZFS (ein eigener Pool)
Kannst du dieses Vorgehen etwas genauer beschreiben?
Also erst vom eigentlichen Storage auf den Backuppool alles herüberkopieren (z.b. mit Rsync)
Und dann auf dem Backup ein Snapshot erstellen?

Nicht einen sondern soviel wie nötig: taglich, wöchentlich, monatlich..
Nicht geänderte Daten verbrauchen keinen Platz (ZFS eben)

Die Windowsfunktion "Vorgängerversionen" klappt auch für Ordner mit ihren Unterordnern?
(z.b. kompletten Ordner "Backup" mit allen Dateien und Unterordnern auf älteren Stand bringen)

Ja, snaps arbeiten auf Ebene des ZFS-Dateisystems.
"Direkt" auf alten Stand bringen: mit "Wiederherstellen" und Snaps auf dem originalen Dateisystem.
Backup ist nur: mehr/ältere Snaps für den Disaster-Fall oder als Read-Only Archiv

Wenn ich ein Backup so wiederherstelle, werden die Dateien zwischen meinem FileServer und meinem Windows PC hin- und hergesendet oder passsiert das intern alles auf dem Fileserver?

Es wird wohl immer auf ein Copy hinauslaufen. Im Fall Windows übers Netz.
Es geht aber auch lokal auf dem Server z.B. via Midnight Commander Filebrowser
 
Zuletzt bearbeitet:
Zuerst Vendor und Produkt ermitteln:


dann daraus die sd.conf modifiezieren, z.B. (Leerzeichen genau so beibehalten, Vendor und Produkt haben eine vorgegebene Länge)


dann neustarten und pool erstellen

es gibt Informationen, dass Platzhalter möglich sind (habe ich nicht getestet)
"**", "physical-block-size:4096"


Probleme:
meist, weil Platten nicht über sd - Treiber angesprochen werden.
Geht in der Regel mit SATA (nur AHCI) und LSI HBA

Im neusten napp-it gibt es dazu einen Menüpunkt
Disk - Details - prtconf diskinfos

Da sieht man u.A. den benutzten Treiber

außerdem:
Die einzelnen Platten werden durch Komma getrennt!

Habe die sd.conf angepasst und auch nachgesehen welcher Treiber verwendet wird, ist der sd - Treiber und sie hängen an einem AOC-USAS-L8I IT - Controller.
Leider ohne Erfolg!
 
Plan B für diese Platten wäre:

- wenn die Platten meinen, Sie seien 512B/Sektor, dann halt ein vdev mit ashift=9
- ein vdev mit aktuellen Platten und ashift=12 anlegen und disk - replace
- ein vdev mit Unix oder ZFSGuru anlegen und in Solaris importieren

.. ich finds auch schade, dass die Illumos Entwickler die Probleme der 1st Gen 4k Platten konsequenter ausgebügelt haben.
 
Zuletzt bearbeitet:
Das sind ja schon Platten der 2. oder 3. Generation (WD20EARX), die erste waren die WD20EARS (mit denen hat die Erstellung eines Pools mit ashift=12 geklappt).
Danke
 
Was wäre bei einem ESXi/ZFS setup zu bevorzugen? ca. 3-4 vms, Windows Server + Linux Debian + Solaris, kaum rechenintensive Arbeiten bis auf Matlab

3x8 GByte ECC RDIMM @ 800 MHz (single channel) vs. 4x4 GByte ECC UDIMM @ 1333 MHz (dual channel)

Denke Konfiguration 1 ist in der Theorie ca. 5-10% langsamer, in der Praxis sollte man das so gut wie nicht bemerken und die höhere Ram-Menge bringt den vms (und auch zfs) viel mehr.

Sehe ich das soweit richtig?
 
Zuletzt bearbeitet:
Das sind ja schon Platten der 2. oder 3. Generation (WD20EARX), die erste waren die WD20EARS (mit denen hat die Erstellung eines Pools mit ashift=12 geklappt).
Danke

Entscheidend ist ob die Platten sich (korrekterweise) als 4k physical Sector/ 512B logical Sektor melden.
In diesem Fall braucht man das Gemurkse nicht. Alle aktuellen Platten sind da korrekt.

---------- Post added at 22:03 ---------- Previous post was at 22:02 ----------

Was wäre bei einem ESXi/ZFS setup zu bevorzugen? ca. 3-4 vms, Windows Server + Linux Debian + Solaris, kaum rechenintensive Arbeiten bis auf Matlab

3x8 GByte ECC RDIMM @ 800 MHz (single channel) vs. 4x4 GByte ECC UDIMM @ 1333 MHz (dual channel)

Denke Konfiguration 1 ist in der Theorie ca. 5-10% langsamer, in der Praxis sollte man das so gut wie nicht bemerken und die höhere Ram-Menge bringt den vms (und auch zfs) viel mehr.

Sehe ich das soweit richtig?

mehr Speicher schlägt weniger Speicher
Etwas schneller ist egal.
 
board defekt?

hallo zusammen,
ich versuche grade meine daten übers netz auf omnios zu kopieren und hatte einen hänger im system, robocopy bringt fehlermeldung und ich komm per nappit nicht mehr auf system nur per console, aber die kiste ließ sich nicht neustarten.
jetzt hab ich in den logs folgendes gefunden... was sagt ihr board kaputt?

Code:
Mar 24 17:54:51 solaris ahci: [ID 517647 kern.warning] WARNING: ahci0: watchdog port 5 satapkt 0xffffff02e224f830 timed out
Mar 24 17:55:13 solaris ahci: [ID 860969 kern.warning] WARNING: ahci0: ahci_port_reset port 5 the device hardware has been initialized and the power-up diagnostics failed
Mar 24 17:55:14 solaris sata: [ID 801845 kern.info] /pci@0,0/pci1849,2824@1f,2:
Mar 24 17:55:14 solaris  SATA port 3 error

-----etwas später----- im log
Mar 25 12:01:21 solaris genunix: [ID 936769 kern.info] bpf0 is /pseudo/bpf@0
Mar 25 12:01:21 solaris unix: [ID 954099 kern.info] NOTICE: IRQ19 is being shared by drivers with different interrupt levels.
Mar 25 12:01:21 solaris This may result in reduced system performance.
danke,
david
 
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