ZFS on Linux Benchmark

Einige findige Entwickler haben http://zfsonlinux.org/ ins Leben gerufen – ein Patchset das ZFS unter Linux über ein Kernelmodul/Patch zur Verfügung stellt (alternativ gibt es eine dreckige FUSE Implementation, aber wer will das schon). Die Installation wurde bereits im vorherigen Blogpost beschrieben.

Wo finde ich Informationen über ZFS?
Ja natürlich im Hardforum :D http://hardforum.com/forumdisplay.php?s=e7249dec513d52ebb64da71b39685996&f=29 (man achte auf den “The [H]ard Forum Storage Showoff Thread – Post your 10TB+ systems” Thread)
Auch im deutschsprachigen Raum gibt es einen passenden Pendanten http://www.hardwareluxx.de/community/f242/ und http://www.hardwareluxx.de/community/f15/ , zu empfehlen ist der Sammelthread über ZFS und das Webfrontend (www.napp-it.org) http://www.hardwareluxx.de/community/f101/zfs-stammtisch-570052.html

Was ist eigentlich ZFS?
Gaaaaanz grob: ZFS ist ein Volume Manager(ähnlich LVM) inklusive Dateisystem (ähnlich btrfs) mit einigen netten Features wie eingebaute Raidlevel, dem Ruf unkaputtbar zu sein (ja ne, is klar…) und noch vieles vieles mehr (funktionierende Quotas z.B.). ZFS unterstützt auch automount, ob dies nun ein Feature oder Bug ist kann nun ausdiskutiert werden.

Was ist denn dieses RaidZDings?
RaidZ1 beschreibt das Raidlevel das ZFS nutzt. 1 gleicht einem Raid 5, RaidZ2 einem Raid 6 und RaidZ3 ist relativ neu (gibt es erst seit der aktuellen ZFS Version 28?) und enthält eine dreifache Parität (ein Gegenstück müsste wohl Raid7 heißen, dies gibt es allerdings nicht offiziell).

Erste Benchmarks mit ZFS und Hinweise zum Testsystem:
Aktuell nutze ich als Hardware Basis einen i5-650 auf einem Gigabyte Ga-P55-UD2H mit 6GB Ram und einem Raidcontroller. Auf dem Mainboard ist eine Sata Festplatte angeschlossen welches das gepatchte Betriebssystem Debian 7 enthält (Test mit Gentoo folgt). Der Raidcontroller ist ein betakter Dell Perc 5/i. Daran angeschlossen sind 5 Festplatten a 80gb. Jede Festplatte befindet sich in einem Raid 0. Der Perc ist “nur” ein SAS3G Controller mit veralteter Firmware, außerdem ist er bekannt dafür das seine Performance miserabel ist wenn er eine einzelne Festplatte im Raid0 durchreicht (und er steckt auch noch in einem PCIe X4 Slot mit seinem x8 Anschluss). Hinzu kommt das die HDDs fast 5 Jahre alt sind und ca 4 Jahre Dauerbetrieb auf dem Buckel haben. Benchmark einer einzelnen Festplatte (eine partition, ext4):

root@debian:/test# dd if=/dev/zero of=10gb.bin bs=1M count=10000 && dd if=10gb.bin of=/dev/null bs=1M
10000+0 Datensätze ein
10000+0 Datensätze aus
10485760000 Bytes (10 GB) kopiert, 194,86 s, 53,8 MB/s
10000+0 Datensätze ein
10000+0 Datensätze aus
10485760000 Bytes (10 GB) kopiert, 120,905 s, 86,7 MB/s
root@debian:/test#

Mit dd 10Gb auf den zuvor erstellen RaidZ2 Pool schreiben und lesen:

root@debian:/tank# dd if=/dev/zero of=10gb.bin bs=1M count=10000 && dd if=10gb.bin of=/dev/null bs=1M
10000+0 Datensätze ein
10000+0 Datensätze aus
10485760000 Bytes (10 GB) kopiert, 82,8663 s, 127 MB/s
10000+0 Datensätze ein
10000+0 Datensätze aus
10485760000 Bytes (10 GB) kopiert, 68,7027 s, 153 MB/s
root@debian:/tank#

Benchmark mit Bonnie++:

root@debian:/tank# aptitude install bonnie++; bonnie -d /tank/ -s 30G -x 1 -u root > bonnie++.csv; bon_csv2html bonnie++.csv > bonnie.html

Das Ergebnis gibt es hier

Benchmark mit iozone3:

root@debian:/tank# aptitude install iozone3; iozone -r 8 -s 50M -l 1 -u 10 -i 0 -i 1 -b scale.wks

Die scale.wks gibt es hier und lässt sich mit LibreOffice Calc öffnen.

Wärend der Benchmarks ist es duchaus interessant sich mal 4 Terminals zu öffnen. Nützliche Befehle wären z.b. ein dd Befehl der Müll auf den Pool schreibt, htop(brauch man immer und ernsthaft: kein mag top!), zpool iostat 1, zpool iostat -v 1, iostat 1 (sowie ein watch pkill -USR1 dd). Das ergibt dann folgendes Bild (dd lesend mit bs=1M nach /dev/null):

This entry was posted in General, Linux. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.