Hi.

I have a pool with 3 raidz1 vdevs (5*1,5TB + 5*1,5TB + 5*1TB), and I
want to create 6-disk raidz2 vdevs instead. I've bought 12 2TB drives,
and I already have additional 1,5TB and 1TB drives. My cabinet can
only hold 24 drives (connected to an LSI SAS controller, and a
Supermicro SAS backplane), so the idea is to get rid of the 1TB drives
when I'm done with the migration. During the migration, I'll connect 6
drives to internal SATA-ports.

Anyway - I'm wondering what is the best way to migrate the data in
this system? I'm assuming that upgrading a raidz1 vdev to raidz2 is
not possible, and I have to create a new pool, zfs send all the
datasets and destroy the old pool. Is that correct?

The current pool holds 16TB, and with 2*6 2TB drives in raidz2, I
should also get 16TB, so it should be possible to just zfs send all
datasets to the new pool, destroy the old, and add the 1,5TB drives to
the new pool. This should be fairly straightforward, but the way I
understand it, if I do this, I'll end up with two completely full
vdevs and two completely empty, and I'd prefer if the vdevs were
fairly evenly balanced.

What's the best way to balance the pool? Creating a temporary pool
with the 1TB-drives, zfs send each dataset there, destroy it from the
mainpool and zfs send it back?

This will copy all data three times (once for the first migration,
then out and back in again), so it'll probably take a few days. But,
if I understand how zfs writes data to the vdevs correctly, they
should be at least become pretty well balanced at the end of the
process.

Are my assumptions correct? Are there any better/faster ways?

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

Reply via email to