Hello Gurus;
I've been playing with ZFS and reading the materials, BLOGS and FAQs.
It's an awesome FS and I just wish that Sun would evangelize a little
bit more. But that's another story.
I'm writing here to ask a few very simple questions.
I am able to understand the RAID-5 write hole and it's implications.
I am however, not able to grasp the concept of RAID-Z. More specifically
the following statements which were repeated over and over again across
many BLOGS, FAQ and reading materials...
From Jeff Bonwick's weblog
(http://blogs.sun.com/roller/page/bonwick/20051118)
"RAID-Z is a data/parity scheme like RAID-5, but it uses dynamic stripe
width. Every block is its own RAID-Z stripe, regardless of blocksize.
This means that every RAID-Z write is a full-stripe write. This, when
combined with the copy-on-write transactional semantics of ZFS,
completely eliminates the RAID write hole. RAID-Z is also faster than
traditional RAID because it never has to do read-modify-write."
I understand the copy-on-write thing. That was very well illustrated in
"ZFS The Last Word in File Systems" by Jeff Bonwick.
But if every block is it's own RAID-Z stripe, if the block is lost, how
does ZFS recover the block???
Is the stripe parity (as opposed to block checksum which I understand)
stored somewhere else or within the same black????
But how exactly does "every RAID-Z write is a full stripe write" works?
More specifically, if in a 3 disk RAID-Z configuration, if one disk
fails completely and is replaced, exactly how does the "metadata driven
reconstruction" recover the newly replaced disk?
It goes on...(and very similar statements from other sites and materials..)
"....Well, the tricky bit here is RAID-Z reconstruction. Because the
stripes are all different sizes, there's no simple formula like "all the
disks XOR to zero." You have to traverse the filesystem metadata to
determine the RAID-Z geometry. Note that this would be impossible if the
filesystem and the RAID array were separate products, which is why
there's nothing like RAID-Z in the storage market today. You really need
an integrated view of the logical and physical structure of the data to
pull it off."
Every stripe is different size? Is this because ZFS adapts to the nature
of the I/O coming to it?
Could someone elaborate more on the statement "metadata drives
reconstruction"...
(I am familiar with metadata. More specifically, I am familiar with UFS
and it's methodology. But the above statement I am having a little
difficulty....)
The following from zfs admin 0525..
"In RAID-Z,ZFS uses variable-width RAID stripes so that all writes are
full-stripe writes.This design is only possible because ZFS integrates
le system and device management in such a way that the le system s
metadata has enough information about the underlying data replication
model to handle variable-width RAID stripes."
I could use a little help here...
I apologies if these questions are elementary ones....
Warmest Regards
Steven Sim
Fujitsu Asia Pte. Ltd.
_____________________________________________________
This e-mail is confidential and may also be privileged. If you are not the intended recipient, please notify us immediately. You should not copy or use it for any purpose, nor disclose its contents to any other person.
Opinions, conclusions and other information in this message that do not relate
to the official business of my firm shall be understood as neither given nor
endorsed by it.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss