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