After replacing two broken disks in my RAID-Z2 pool, the output of zpool status
looks strange. The disks are addressed with their full path and also seem to contain 'slices', which all other disk don't.
I entered these commands to replace the broken disks (which might explain the strange naming, but not the slices):
zpool replace bashpool c2t6d0 /dev/rdsk/c2t6d0
zpool replace bashpool c2t7d0 /dev/rdsk/c2t7d0
The output of zpool status now reports as:
~$ zpool status -v bashpool
pool: bashpool
state: ONLINE
scan: resilvered 1.01T in 39h31m with 0 errors on Fri Feb 22 10:50:20 2013
config:
NAME STATE READ WRITE CKSUM
bashpool ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
c2t4d0 ONLINE 0 0 0
c2t5d0 ONLINE 0 0 0
/dev/rdsk/c2t6d0s0 ONLINE 0 0 0
/dev/rdsk/c2t7d0s0 ONLINE 0 0 0
c3t4d0 ONLINE 0 0 0
c3t5d0 ONLINE 0 0 0
c3t6d0 ONLINE 0 0 0
c3t7d0 ONLINE 0 0 0
c3t1d0 ONLINE 0 0 0
c3t3d0 ONLINE 0 0 0
c3t2d0 ONLINE 0 0 0
spares
c3t0d0 AVAIL
errors: No known data errors
My questions are:
- Did I do anything wrong? The pool seems to be fine, but as I am not that experienced with Solaris I can't really say. If so, how can I remedy the situation?
- Can disk names in a zpool be altered?
- Why do the new disks seem to have slices, when all the other disks don't? I did not format them, just installed the new, raw disks into the server and ran the replace command.
Update 2013-02-25: Now I do not seem to be able to control the two devices any more; any zpool
command seems to fail with the error 'no such device in pool':
~# zpool detach bashpool /dev/dsk/c2t6d0s0
cannot detach /dev/dsk/c2t6d0s0: no such device in pool
~# zpool detach bashpool c2t6d0s0
cannot detach /dev/dsk/c2t6d0s0: no such device in pool
Even stranger: I can address the devices by GUID (found out via zdb -C <zpool>
), but only zpool offline
seems to work:
~# zpool offline bashpool '683230688581832563'
~# zpool status
pool: bashpool
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scan: resilvered 1.01T in 39h31m with 0 errors on Fri Feb 22 10:50:20 2013
config:
NAME STATE READ WRITE CKSUM
bashpool DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
c2t0d0 ONLINE 0 0 0
c2t1d0 ONLINE 0 0 0
c2t2d0 ONLINE 0 0 0
c2t3d0 ONLINE 0 0 0
c2t4d0 ONLINE 0 0 0
c2t5d0 ONLINE 0 0 0
/dev/rdsk/c2t6d0s0 OFFLINE 0 0 0
/dev/rdsk/c2t7d0s0 ONLINE 0 0 0
c3t4d0 ONLINE 0 0 0
c3t5d0 ONLINE 0 0 0
c3t6d0 ONLINE 0 0 0
c3t7d0 ONLINE 0 0 0
c3t1d0 ONLINE 0 0 0
c3t3d0 ONLINE 0 0 0
c3t2d0 ONLINE 0 0 0
spares
c3t0d0 AVAIL
errors: No known data errors
I can online the device afterwards but I do not seem to be able to do anything else with the devices. Every other command returns the error 'no such device in pool'. Does anyone know of another way to control zpool devices?
Best Answer
The slice visibility occurs during the resilvering operation. When it's complete, the normal device names are usually restored.
As for your
zpool replace
operation, you only needed to use the device name. Not the full path.(by the way, that's a crazy-large raidz2 pool!!)