Hello Richard,

Wednesday, April 18, 2007, 7:35:24 AM, you wrote:

RLH> Well, no; his quote did say "software or hardware".

Right, I missed that.


RLH>   The theory is apparently
RLH> that ZFS can do better at detecting (and with redundancy, correcting) 
errors
RLH> if it's dealing with raw hardware, or as nearly so as possible.  Most SANs
RLH> _can_ hand out raw LUNs as well as RAID LUNs, the folks that run them are
RLH> just not used to doing it.


Detecting errors by zfs is the same regardless when redundancy is done
- by default checksums are checked for each block in every pool
configuration.  Now correction is another story and basically you need
to create redundant pool (exception to that are meta data, and with
introduction of user ditto block also user data to some extent).


Now when it comes to HW RAID I wouldn't actually recommend doing RAID
in ZFS, at least not always and not now.
First reason is lacking hot spare support in zfs right now.
In many scenarios when one disk goes wild zfs won't really notice and
your hot spare won't kick-in, and you end up doing silly things while
your pool is not serving data.
As I understand the problem with hot spare is being worked on.


Then if you want RAID5 (yes, people want RAID5) zfs could give you
much less performance for some workloads and for such workloads HW
RAID5 (or even SVM, VxVM RAID-5 with zfs on top) with zfs on top as a
file system (or additionally with dynamic striping between hw r5 luns)
actually makes sense.

If you need RAID-10 and you need lot of bandwidth for sequential
writes (or even not sequential in case of zfs) doing it in software
will halve your actual performance in most cases as you have to move
out twice much data when doing software raid.

Also exposing disks as LUNs is not that well tested on arrays simply
just it's been used much less. For example I had a problem with EMC
CX3-40 when each disk was exposed as a LUN and raid-10 zfs pool was
created - when I pulled out a
disk the array didn't catch it on a lun level neither a host - IOs
were queuing up, I waited for about an hour (this was a test system)
and nothing happened. Of course hot spare didn't kick in.

SVM, VxVM or HW hot spares just work.
ZFS hot spare support is far behind right now.
It has better potential but it just doesn't work properly in many
failure scenarios.

RLH> Another issue that may come up with SANs and/or hardware RAID:
RLH> supposedly, storage systems with large non-volatile caches will tend to 
have
RLH> poor performance with ZFS, because ZFS issues cache flush commands as
RLH> part of committing every transaction group; this is worse if the filesystem
RLH> is also being used for NFS service.  Most such hardware can be
RLH> configured to ignore cache flushing commands, which is safe as long as
RLH> the cache is non-volatile.

In most arrays (if not in all) exposing physical disk as a lun won't
solve above, so it's not a choice between doing raid in hw or in zfs.


As always, if you really care about performance and availability you
have to know what you are doing. And while zfs does some miracles in
some environments it actually makes sense to do raid in HW or other
volume manager and use zfs solely as a file system.
In case when doing raid in HW and using zfs as a file system I would
recommend always exposing 3 luns or more (or at least 2) and then do a
dynamic striping on zfs side. Of course those luns should be on
different physical disks. That way you should have a better protection
for your meta data.



-- 
Best regards,
 Robert Milkowski                      mailto:[EMAIL PROTECTED]
                                       http://milek.blogspot.com

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to