On 19 October, 2009 - Cindy Swearingen sent me these 2,4K bytes:

> Hi Tomas,
>
> I think you are saying that you are testing what happens when you  
> increase a slice under a live ZFS storage pool and then reviewing
> the zdb output of the disk labels.
>
> Increasing a slice under a live ZFS storage pool isn't supported and
> might break your pool.

It also happens on a non-live pool, that is, if I export, increase the
slice and then try to import.
r...@ramses:~# zpool export striclek
r...@ramses:~# format
Searching for disks...done
... increase c1t1d0s0 ....
r...@ramses:~# zpool import striclek
cannot import 'striclek': one or more devices is currently unavailable

.. which is the way to increase a pool within a disk/device if I'm not
mistaken.. Like if the storage comes off a SAN and you resize the LUN..

> I think you are seeing some remnants of some old pools on your slices
> with zdb since this is how zpool import is able to import pools that
> have been destroyed.

Yep, that's exactly what I see. The issue is that the new&good labels
aren't trusted anymore (it also looks at old ones) and also that "zpool
import" picks information from different labels and presents it as one
piece of info.

If I was using some SAN and my lun got increased, and the new storage
space had some old scrap data on it, I could get hit by the same issue.

> Maybe I missed the point. Let me know.

>
> Cindy
>
> On 10/19/09 12:41, Tomas Ögren wrote:
>> Hi.
>>
>> We've got some test machines which amongst others has zpools in various
>> sizes and placements scribbled all over the disks.
>>
>> 0. HP DL380G3, Solaris10u8, 2x16G disks; c1t0d0 & c1t1d0
>> 1. Took a (non-emptied) disk, created a 2GB slice0 and a ~14GB (to the
>>    last cyl) slice7.
>> 2. zpool create striclek c1t1d0s0
>> 3. zdb -l /dev/rdsk/c1t1d0s0  shows 4 labels, each with the same guid
>>    and only c1t1d0s0 as vdev. All is well.
>> 4. format, increase slice0 from 2G to 16G. remove slice7. label.
>> 5. zdb -l /dev/rdsk/c1t1d0s0 shows 2 labels from the correct guid &
>>    c1t1d0s0, it also shows 2 labels from some old guid (from an rpool
>>    which was abandoned long ago) belonging to a
>>    mirror(c1t0d0s0,c1t1d0s0). c1t0d0s0 is current boot disk with other
>>    rpool and other guid.
>> 6. zpool export striclek;zpool import  shows guid from the "working
>>    pool", but that it's missing devices (although only lists c1t1d0s0 -
>>    ONLINE)
>> 7. zpool import striclek  doesn't work. zpool import theworkingguid
>>    doesn't work.
>>
>> If I resize the slice back to 2GB, all 4 labels shows the workingguid
>> and import works again.
>>
>> Questions:
>> * Why does 'zpool import' show the guid from label 0/1, but wants vdev
>>   conf as specified by label 2/3?
>> * Is there no timestamp or such, so it would prefer label 0/1 as they
>>   are brand new and ignore label 2/3 which are waaay old.
>>
>>
>> I can agree to being forced to scribble zeroes/junk all over the "slice7
>> space" which we're expanding to in step 4.. But stuff shouldn't fail
>> this way IMO.. Maybe comparing timestamps and see that label 2/3 aren't
>> so hot anymore and ignore them, or something..
>>
>> zdb -l and zpool import dumps at:
>> http://www.acc.umu.se/~stric/tmp/zdb-dump/
>>
>> /Tomas
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss


/Tomas
-- 
Tomas Ögren, st...@acc.umu.se, http://www.acc.umu.se/~stric/
|- Student at Computing Science, University of Umeå
`- Sysadmin at {cs,acc}.umu.se
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to