zpool vdev vs. glabel
Jeremy Chadwick
freebsd at jdc.parodius.com
Tue Feb 9 14:27:00 UTC 2010
On Tue, Feb 09, 2010 at 03:06:06PM +0100, Gerrit Kühn wrote:
> Hi,
>
> I have created a raidz2 with disk I labeled with glabel before. Right
> after creation this pool looked fine, using devices label/tank[1-6].
>
> I did some tests with replacing/swapping disks and so on. After doing a
>
> zpool offline tank label/tank6
> remove disk
> camcontrol rescan all
> insert disk
> camcontrol rescan all
> zpool online tank label/tank6
>
> I got the disk back, but not under the requested label, but under the da
> device name:
>
> pool: tank
> state: ONLINE
> scrub: resilver completed after 0h0m with 0 errors on Tue Feb 9 14:56:37
> 2010 config:
>
> NAME STATE READ WRITE CKSUM
> tank ONLINE 0 0 0
> raidz2 ONLINE 0 0 0
> label/tank1 ONLINE 0 0 0 8.50K resilvered
> label/tank2 ONLINE 0 0 0 7.50K resilvered
> label/tank3 ONLINE 0 0 0 8.50K resilvered
> label/tank4 ONLINE 0 0 0 7.50K resilvered
> label/tank5 ONLINE 0 0 0 9K resilvered
> da6 ONLINE 0 0 0 13.5K resilvered
>
> errors: No known data errors
>
>
>
> Why does this happen? Is there any way to get zfs to use the label again?
> After the device is in use, the label in /dev/label disappears. When
> taking the device offline again, the label is there, but cannot be used:
>
> pigpen# zpool offline tank da6
> pigpen# zpool status
> pool: system
> state: ONLINE
> status: One or more devices has experienced an unrecoverable error. An
> attempt was made to correct the error. Applications are
> unaffected. action: Determine if the device needs to be replaced, and
> clear the errors using 'zpool clear' or replace the device with 'zpool
> replace'. see: http://www.sun.com/msg/ZFS-8000-9P
> scrub: resilver completed after 0h0m with 0 errors on Tue Feb 9 14:49:14
> 2010 config:
>
> NAME STATE READ WRITE CKSUM
> system ONLINE 0 0 0
> mirror ONLINE 0 0 0
> label/system1 ONLINE 3 617 0 126K resilvered
> label/system2 ONLINE 0 0 0 41K resilvered
>
> errors: No known data errors
>
> pool: tank
> state: DEGRADED
> status: One or more devices has experienced an unrecoverable error. An
> attempt was made to correct the error. Applications are
> unaffected. action: Determine if the device needs to be replaced, and
> clear the errors using 'zpool clear' or replace the device with 'zpool
> replace'. see: http://www.sun.com/msg/ZFS-8000-9P
> scrub: resilver completed after 0h0m with 0 errors on Tue Feb 9 14:56:37
> 2010 config:
>
> NAME STATE READ WRITE CKSUM
> tank DEGRADED 0 0 0
> raidz2 DEGRADED 0 0 0
> label/tank1 ONLINE 0 0 0 8.50K resilvered
> label/tank2 ONLINE 0 0 0 7.50K resilvered
> label/tank3 ONLINE 0 0 0 8.50K resilvered
> label/tank4 ONLINE 0 0 0 7.50K resilvered
> label/tank5 ONLINE 0 0 0 9K resilvered
> da6 OFFLINE 0 38 0 13.5K resilvered
>
> errors: No known data errors
> pigpen# ll /dev/label/
> total 0
> crw-r----- 1 root operator 0, 104 Feb 9 14:04 lisacrypt1
> crw-r----- 1 root operator 0, 112 Feb 9 14:04 lisacrypt2
> crw-r----- 1 root operator 0, 113 Feb 9 14:04 lisacrypt3
> crw-r----- 1 root operator 0, 134 Feb 9 14:48 system1
> crw-r----- 1 root operator 0, 115 Feb 9 14:04 system2
> crw-r----- 1 root operator 0, 116 Feb 9 14:04 tank1
> crw-r----- 1 root operator 0, 117 Feb 9 14:04 tank2
> crw-r----- 1 root operator 0, 118 Feb 9 14:04 tank3
> crw-r----- 1 root operator 0, 101 Feb 9 14:04 tank4
> crw-r----- 1 root operator 0, 102 Feb 9 14:04 tank5
> crw-r----- 1 root operator 0, 103 Feb 9 15:02 tank6
>
> pigpen# zpool online tank label/tank6
> cannot online label/tank6: no such device in pool
>
> In a different thread I found the hint to use zpool replace to get to the
> usage of labels, but this seems not possible, either:
>
> pigpen# zpool replace tank label/tank6
> invalid vdev specification
> use '-f' to override the following errors:
> /dev/label/tank6 is part of active pool 'tank'
>
> pigpen# zpool replace -f tank label/tank6
> invalid vdev specification
> the following errors must be manually repaired:
> /dev/label/tank6 is part of active pool 'tank'
>
> pigpen# zpool replace -f tank da6 label/tank6
> invalid vdev specification
> the following errors must be manually repaired:
> /dev/label/tank6 is part of active pool 'tank'
>
>
> I'm running out of ideas here...
Would "zpool export" and "zpool import" be necessary in this case?
Also, I'm a little confused as to the use of glabel in this case. In
what condition do your disk indices (e.g. X of daX) change? Are you
yanking multiple disks out of a system at the same time and then shoving
them back into different drive bays? Are you switching between storage
subsystem drivers (ahci(4) vs. ataahci(4), for example) regularly?
I've yet to be convinced glabel is worth bothering with, unless the
system adheres to one of the above situations (which are worthy of
strangulation anyway ;-) ).
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-stable
mailing list