Hey folks,

Does anybody know if any of these are on the roadmap for ZFS, or have any idea 
how long it's likely to be before we see them (we're in no rush - late 2008 
would be fine with us, but it would be nice to know they're being worked on)?

I've seen many people ask for the ability to expand a raid-z pool by adding 
devices.  I'm wondering if it would be useful to work on a defrag / restriping 
tool to work hand in hand with this.

I'm assuming that when the functionality is available, adding a disk to a 
raid-z set will mean the existing data stays put, and new data is written 
across a wider stripe.  That's great for performance for new data, but not so 
good for the existing files.  Another problem is that you can't guarantee how 
much space will be added.  That will have to be calculated based on how much 
data you already have.

ie:  If you have a simple raid-z of five 500GB drives, you would expect adding 
another drive to add 500GB of space.  However, if your pool is half full, you 
can only make use of 250GB of space, the other 250GB is going to be wasted.

What I would propose to solve this is to implement a defrag / restripe utility 
as part of the raid-z upgrade process, making it a three step process:

 - New drive added to raid-z pool
 - Defrag tool begins restriping and defragmenting old data 
 - Once restripe complete, pool reports the additional free space

There are some limitations to this.  You would maybe want to advise that 
expanding a raid-z pool should only be done with a reasonable amount of free 
disk space, and that it may take some time.  It may also be beneficial to add 
the ability to add multiple disks in one go.

However, if it works it would seem to add several benefits:
 - Raid-z pools can be expanded
 - ZFS gains a defrag tool
 - ZFS gains a restriping tool
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to