How to change a guid of a zfs device?

Mark Murawski markm-lists at intellasoft.net
Sun Mar 11 23:55:28 UTC 2012


That would imply data loss.

I did some digging and found some specs on the zfs metadata.  There's 
four copies of the zfs metadata on the disk, two in the beginning, two 
at the end.  I disk-edited and changed the guid stored in the zfs vdev 
headers and that did the trick, it made the pool come back online for 
the (was /dev/ada1 disk).  The problem remains of getting the other (was 
/dev/ada4s4) disk to sync back in so it can repair some damaged files.


On 03/11/12 18:50, Jason Hellenthal wrote:
>
> Remove the device from the pool and zero the disk out and add it back to
> the pool...
>
> On Sun, Mar 11, 2012 at 03:10:48AM -0400, Mark Murawski wrote:
>> How would I go about changing a guid of a zfs physical device?  There
>> doesn't seem to be any options in zpool or zdb for doing guid changes.
>>
>> It's a long story, but through a series of drive swaps I've managed to
>> really screw stuff up.
>>
>> Here's my current status
>>
>>           NAME                      STATE     READ WRITE CKSUM
>>           zstorage                  UNAVAIL      0     0     0
>>             mirror-0                ONLINE       0     0     0
>>               ada4                  ONLINE       0     0     0
>>               ada3                  ONLINE       0     0     0
>>             mirror-1                UNAVAIL      0     0     0
>>               14791054479353866913  UNAVAIL      0     0     0  was
>> /dev/ada4s4
>>               5249816505308091368   UNAVAIL      0     0     0  was /dev/ada1
>>             mirror-2                ONLINE       0     0     0
>>               ada5                  ONLINE       0     0     0
>>               ada10                 ONLINE       0     0     0
>>             mirror-3                ONLINE       0     0     0
>>               ada6                  ONLINE       0     0     0
>>               ada8                  ONLINE       0     0     0
>>             mirror-4                ONLINE       0     0     0
>>               ada7                  ONLINE       0     0     0
>>               ada9                  ONLINE       0     0     0
>>
>>
>>
>> 14791054479353866913  is really /dev/ada1s4 now
>> 5249816505308091368 is really /dev/ada0 now
>>
>> the problem is, zdb tells me that /dev/ada1 has a guid of
>> 3184618752700174674
>> and zdb says /dev/ada0 has a guid of 16592948394566938185
>>
>> I need to get these to match so that I can reconstruct the pool again
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> freebsd-fs at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
>



More information about the freebsd-fs mailing list