UNIX admin wrote:
This is simply not true. ZFS would protect against
the same type of errors seen on an individual drive as it would on a pool made of HW raid LUN(s). It might be overkill to layer ZFS on top of a LUN that is already protected in some way by the devices internal RAID code but it does not "make your data susceptible to HW errors caused by the storage subsystem's RAID algorithm, and slow down the I/O".

I disagree, and vehemently at that. I maintain that if the HW RAID is used, the 
chance of data corruption is much higher, and ZFS would have a lot more 
repairing to do than it would if it were used directly on disks. Problems with 
HW RAID algorithms have been plaguing us for at least 15 years or more. The 
venerable Sun StorEdge T3 comes to mind!


Please expand on your logic. Remember that ZFS works on top of LUNs. A disk drive by itself is a LUN when added to a ZFS pool. A LUN can also be comprised of multiple disk drives striped together and presented to a host as one logical unit. Or a LUN can be offered by a virtualization gateway that in turn imports raid array LUNs that are really made up of individual disk drives. Or ... insert a million different ways to get a host something called a LUN that allows the host to read and write blocks. They could be really slow LUNs because they're two hamsters shuffling zeros and ones back and forth on little wheels. (OK, that might be too slow.) Outside of the cache enabling when entire disk drives are presented to the pool ZFS doesn't care what the LUN is made of.

ZFS reliability features are available and work on top of the LUNs you give it and the configuration you use. The type of LUN is inconsequential at the ZFS level. If I had 12 LUNS that were single disk drives and created a RAIDZ pool it would have the same reliability at the ZFS level as if I presented it 12 LUNs that were really quad-mirrors from 12 independent hw raid array. You can make argument that the 12 disk drive config is easier to use or that the overall reliability of the 12 quad-mirror LUNs system has a higher reliability but at ZFSs point of view it's the same. Its happily writing blocks, checking checksums, reading things from the LUNs, etc. etc. etc.

On top of that disk drives are not some simple beast that just coughs up i/o when you want it to. A modern disk drive does all sorts of stuff under the covers to speed up i/o and - surprise - increase the reliability of the drive as much as possible. If you think you're really writing "straight to disk" you're not. Cache, ZBR, bad block re-allocation, all come into play.

As for problems with specific raid arrays, including the T3, you are preaching to the choir but I'm definitely not going to get into a pissing contest over specific components having more or less bugs then an other.

Further, while it is perfectly logical to me that doing RAID calculations twice 
is slower than doing it once, you maintain that is not the case, perhaps 
because one calculation is implemented in FW/HW?

As the man says, "It depends". A really fast raid array might be responding to i/o requests faster then a single disk drive. It might not given the nature of the i/o coming in.

Don't think of it in terms of RAID calculations taking a certain amount of time. Think of it in terms of having to meet a specific amount of requirements to manage your data. I'll be the first to say that if you're going to be putting ZFS on a desktop then a simple JBOD is a box to look at. If you're going to look at an enterprise data center the answer is going to be different. That is something a lot of people on this alias seem to be missing out on. Stating ZFS on JBODs is the answer to everything is the punchline of the "When all you have is a hammer..." routine.


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

Reply via email to