Hardware-RAID hat gegenüber ZFS so einige Nachteile. Keine Checksums, resilvern dauert lange, Inkompatiblitäten zu anderen RAID-Controllern, da ist man echt froh, wenn man das nicht hat. Ein Argument gegen ZFS ist allerdings der Ressourcen-Verbrauch, denn statt Hardware-RAID-Controllern muss jetzt Software den selben Job und noch mehr erledigen. Spüren tut man das allerdings nicht, denn die CPUs sind heutzutage so schnell, dass die das locker nebenbei erledigen.
Dieses prähistorische Dinosaurier-RAID ist vielleicht nicht so toll, doch wenn man nur die passenden Dinosaurier-CPUs dazu hat, dann hat das ganze doch ein paar Vorteile. Ich habe kürzlich auf einer Sun Ultra 25 Workstation ein raidz1 mit 3 Platten gebildet. Die Workstation stammt aus dem Jahr 2006, die darin verbaute UltraSPARC IIIi CPU gibt es allerdings seit 2003. Und damit merkt man leider schon, was ZFS so an Rechenleistung verbrennt.
Ein Ausschnitt der Ausgabe von prstat wärend mit dd auf den raidz1 pool geschrieben wurde:
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
107 root 0K 0K run 0 -20 0:00:25 58% zpool-storage/136
967 root 4624K 2152K run 53 0 0:00:08 12% dd/1
Und wenn parallel dazu noch auf den rpool, der nur aus einer Festplatte besteht, geschrieben wurde:
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
107 root 0K 0K sleep 99 -20 0:01:55 41% zpool-storage/136
980 root 4624K 2216K sleep 53 0 0:00:04 11% dd/1
5 root 0K 0K run 0 -20 0:00:23 6,1% zpool-rpool/136
981 olaf 4624K 2320K run 39 0 0:00:01 4,1% dd/1
Es ist also doch kein Mythos, dass ZFS ein paar Ressourcen braucht. Und ein zpool scrub
verursacht sogar über 90% CPU-Auslastung.
Kommentare