On Mon, Dec 20 at 15:33, Peter Taps wrote:
Folks,

I created a zpool using 3 disks as follows:

# zpool create xyz disk1 raidz1 disk2 disk3

Now that I got a fourth disk, I would like to replace disk1 with a
raidz1 of disk1 and disk4. Essentially, if I were to create the
whole pool once again, the command would have been:

# zpool create xyz raidz1 disk1 disk4 raidz1 disk2 disk3

This command is creating a pair of raidz1 vdevs, each with 2 disks.
For that design, I think mirrors are a better answer.  Or, use a
single raidz1 for all four drives, if space utilization is critical.

My first thought was to do the following:
# zpool remove xyz disk1
# zpool add xyz raidz1 disk1 disk4

However, I get an error on remove:
"cannot remove disk1: only inactive hot spares, cache, top-level, or log devices can 
be removed"

Where am I wrong in my thinking? Is there a way to achieve what I want?

Your thinking is fine, but that capability isn't implemented yet in
ZFS.  You're essentially waiting on the "block pointer rewrite" code
that is in development.  Until that code arrives, there's no way to
shrink or rearrange the vdevs within a pool.

Thus, your only option is to backup all your filesystems in the pool
and recreate the pool using the layout you want.  This obviously
requires enough extra storage to hold all your filesystem contents,
including snapshots if you wish to migrate them as well.

--eric

--
Eric D. Mudama
edmud...@mail.bounceswoosh.org

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

Reply via email to