[OpenIndiana-discuss] zfs replace controller

Matt Connolly matt.connolly.au at gmail.com
Wed Nov 16 10:07:00 UTC 2011


Hi,

I've just upgraded my SATA card from a Si3114 which only used the pci-ide driver to a Si3124 which uses the si3124 driver (and is recognised as sata by `cfgadm` etc).

I was hoping that I could replace the card and have oi magically find the partitions on the same drives connected to my new controller.

My setup has two pools:

rpool - mirrored x 3, boot
zpool - raidz x3 for data

Once I got my machine to booting, getting "zpool" across was easy. Simply `zpool export zpool` then `zpool import zpool`, and hey presto, all works.

The boot "rpool" was a bit trickier though.

I thought I could do this:

root at vault:/# /sbin/zpool replace rpool c4d1s0 c5t3d0s0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c5t3d0s0 is part of active ZFS pool rpool. Please see zpool(1M).
root at vault:/# /sbin/zpool replace -f rpool c4d1s0 c5t3d0s0
invalid vdev specification
the following errors must be manually repaired:
/dev/dsk/c5t3d0s0 is part of active ZFS pool rpool. Please see zpool(1M).
root at vault:/# 

But I could only get the other drives on the mirror pool by doing a `zpool detach` followed by `zpool attach` which wants to resilver the entire drive.

Is this the only way to migrate a boot pool drive from one controller to another? Or can it be "moved" (replaced) without requiring the resilver?


Thanks,
Matt



More information about the OpenIndiana-discuss mailing list