[zfs-discuss] Unexpected error adding a cache device to existing pool

2012-05-14 Thread Ian Collins
On a Solaris 11 system I have a pool that was originally built with a 
log a cache device on a single SSD.  The SSD died and I realised I 
should have a mirror log, so I've just tried to replace the log a cache 
with a pair of SSDs.


Adding the log was OK:

zpool add -f export log mirror c10t3d0s0 c10t4d0s0

But adding the cache fails:

zpool add -f export cache c10t3d0s1 c10t4d0s1
invalid vdev specification
the following errors must be manually repaired:
/dev/dsk/c10t3d0s2 is part of active ZFS pool export. Please see zpool(1M).
/dev/dsk/c10t3d0s1 overlaps with /dev/dsk/c10t3d0s2

Now that looks impossible to repair, s2 can't be removed.  The SSD 
partition table is:


Total disk cylinders available: 19932 + 2 (reserved cylinders)

Part  TagFlag Cylinders SizeBlocks
  0 unassignedwm   0 -  2674   16.00GB(2675/0/0)   33555200
  1 unassignedwm2675 - 19931  103.22GB(17257/0/0) 216471808
  2 backupwu   0 - 19931  119.22GB(19932/0/0) 250027008

Is there a solution?

--
Ian.

___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


Re: [zfs-discuss] Unexpected error adding a cache device to existing pool

2012-05-14 Thread Ian Collins

On 05/14/12 10:32 PM, Carson Gaspar wrote:

On 5/14/12 2:02 AM, Ian Collins wrote:

Adding the log was OK:

zpool add -f export log mirror c10t3d0s0 c10t4d0s0

But adding the cache fails:

zpool add -f export cache c10t3d0s1 c10t4d0s1
invalid vdev specification
the following errors must be manually repaired:
/dev/dsk/c10t3d0s2 is part of active ZFS pool export. Please see zpool(1M).
/dev/dsk/c10t3d0s1 overlaps with /dev/dsk/c10t3d0s2

The only solution I know of is to get rid of the whole-disk slice s2
from the disk label. I ended up using prtvtoc to dump the table, editing
it by hand, and feeding it to fmthard.

You could also try making s0 start at cylinder 1 instead of zero, so
zpool doesn't see a magic number on s2, but I don't know if that will be
enough.



Thank you for the suggestions Carson.

Making s0 start at cylinder 1 did the trick.  I'm sure I didn't have to 
do that when I originally built the pool, but that was back on Solaris 
11 Express.


--
Ian.

___
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss