[ZFS] Mirrored Pool - Resilver sehr langsam <- Entwarnung: Geht jetzt schneller

m4rkus

Well-Known Member
Edit: Siehe Beitrag 2
Hallo,

ich bin gerade dabei mein NAS (Synology) durch eine ZFS-basierte Lösung abzulösen (FreeBSD oder FreeNAS).

Dazu habe ich eine virtuelle Maschine erstellt, die 16 GB RAM, 4 Kerne, sowie 2 Controller mittels PCI-Passthrough bekommt (IBM 1015 auf LSI und onBoard LSI 3008).

Aktuell sind 6x3 TB Festplatten eingebunden, bei denen jeweils 2 Platten einen Mirror bilden.
Ich habe fast alle Daten vom alten NAS rüberkopiert und wollte, bevor ich die NAS-Festplatten lösche und dem Pool hinzufügen "mal eben" einen Ausfalltest machen. Also habe ich 1 Festplatte gezogen und mittels Replace wieder eingebracht. Das Resilvern ist jedoch sehr langsam (1,5-2MB / Sekunde).

Code:
root@jhext1:~ # zpool status -v data
root@jhext1:~ # zpool status -v data
  pool: data
state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
    continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Sat Feb 20 11:45:25 2016
        20.1G scanned out of 4.14T at 1.51M/s, (scan is slow, no estimated time)
        6.69G resilvered, 0.47% done
config:

    NAME           STATE     READ WRITE CKSUM
    data           ONLINE       0     0     0
      mirror-0     ONLINE       0     0     0
        da0p2.eli  ONLINE       0     0     0
        da4p2.eli  ONLINE       0     0     0  (resilvering)
      mirror-1     ONLINE       0     0     0
        da1p2.eli  ONLINE       0     0     0
        da5p2.eli  ONLINE       0     0     0
      mirror-2     ONLINE       0     0     0
        da2p2.eli  ONLINE       0     0     0
        da6p2.eli  ONLINE       0     0     0

errors: No known data errors

Ich habe schon mal versucht herauszufinden, ob das Ganze irgendwie zu beschleunigen ist.
Wirklich schlau bin ich aber nicht geworden.

Dies Ausgabe von gstat:
Bildschirmfoto 2016-02-20 um 15.29.55.png


Scheinbar ist die Festplatte immer zu 100% ausgelastet und daher an der Grenze ihrer Möglichkeiten.

Was können die Gründe dafür sein?
  • Platte hat wirklich einen Knacks?
  • Der Füllgrad von > 50 % des Pools?
  • Leider habe ich aktuell weder unter FreeBSD 10.2 noch unter FreeNAS 9.3 die passenden Kombinationen aus Controller Firmware / Treiber - evtl. daran?
  • Im Pool ist ein Foto-Ordner mit ca. 80 GB Fotos - aufgeteilt in ca. 7000 Dateien - kann es daran liegen (kleine Dateien)?
Erste Versuche irgendwelche sysctl-Parameter anzupassen, haben weder unter FreeNAS noch unter FreeBSD etwas gebracht (vfs.zfs.resilver_delay und änliches).

Irgendwelche übrigen Tipps?

Gruß
Markus
 
Hallo,

mit der Erstellung dieses Threads stieg die Geschwindigkeit rapide an: Aktuell bei > 200 MB/s.

Habt ihr dafür evtl. eine Erklärung?
Gruß
Markus
 
Ich kenne das gar nicht anders, so wohl das "resilvern", als auch "scrubben" ist in den ersten paar Minuten sehr langsam und steigert sich dann.
 
Mmh. Minuten? Es waren eher 5 Stunden.

Nun ist mir aufgefallen, dass bei dem "ausgetauschten" Datenträger "UNAVAILABLE" stand.
Nach einem Neustart unter FreeNAS (das vorherige war unter FreeBSD) steht nun "ONLINE" dort und der Resilver-Prozess wurde neu gestartet.
Lasse den jetzt zu Ende laufen (leider aktuell wieder mit 2 MB/s)...

Gruß
Markus
 
Um das Thema abzuschließen.

Über Nacht ist das resilvern wohl doch noch schneller geworden - Heute morgen war es fertig. 7 Stunden für 1,38 TB.

Gruß
Markus
 
Ja, das ist am Anfang immer langsam und steigert sich dann sehr. Kleine Dateien bremsen dann aber doch.
Warum das am Anfang langsam ist, weiß ich allerdings nicht.

Sollte mal eine Platte wirklich einen Knacks haben, bekommst du 'cam device errors' (so ähnlich) auf der echten Konsole bzw bei dmesg
Außerdem steigen die SMART-Werte in der jeweiligen Kategorie dementsprechend an.

7 Stunden für 1,38 TB.

Gute Zeit, alles im grünen Bereich, erst recht weil verschlüsselt! ;)
 
Zurück
Oben