On Fri, Jun 02, 2006 at 10:42:08AM -0700, axa wrote: > Hello All : > I have a 16xSATA disks DISK ARRAY with JBOD configuration and it's attached > LSI FC HBA card. I use 2 raidz groups there are combine with 8 disks. zpool > status result as following: > > === zpool status == > > NAME STATE READ WRITE CKSUM > pool ONLINE 0 0 0 > raidz ONLINE 0 0 0 > c6t0d0 ONLINE 0 0 0 > c6t0d1 ONLINE 0 0 0 > c6t0d2 ONLINE 0 0 0 > c6t0d3 ONLINE 0 0 0 > c6t1d0 ONLINE 0 0 0 > c6t1d1 ONLINE 0 0 0 > c6t1d2 ONLINE 0 0 0 > c6t1d3 ONLINE 0 0 0 > raidz ONLINE 0 0 0 > c6t2d0 ONLINE 0 0 0 > c6t2d1 ONLINE 0 0 0 > c6t2d2 ONLINE 0 0 0 > c6t2d3 ONLINE 0 0 0 > c6t3d0 ONLINE 0 0 0 > c6t3d1 ONLINE 0 0 0 > c6t3d2 ONLINE 0 0 0 > c6t3d3 ONLINE 0 0 0 > > > > For testing ZFS fault tolerant, I have taken out 1 disk from array shelf > about 30 secs then insert disk again.The ZFS seems detected error and show > me device c6t1d2 stats is UNAVAIL. I am sure that DISK ARRAY its "lun > mapping" and "config status" are all correct. > > === zpool status === > -bash-3.00# zpool list > NAME SIZE USED AVAIL CAP HEALTH ALTROOT > pool 3.63T 91.1G 3.54T 2% DEGRADED - > -bash-3.00# zpool status -x > pool: pool > state: DEGRADED > status: One or more devices could not be opened. Sufficient replicas exist > for > the pool to continue functioning in a degraded state. > action: Attach the missing device and online it using 'zpool online'. > see: http://www.sun.com/msg/ZFS-8000-D3 > scrub: resilver completed with 0 errors on Sat Jun 3 00:14:00 2006 > config: > > NAME STATE READ WRITE CKSUM > pool DEGRADED 0 0 0 > raidz DEGRADED 0 0 0 > c6t0d0 ONLINE 0 0 0 > c6t0d1 ONLINE 0 0 0 > c6t0d2 ONLINE 0 0 0 > c6t0d3 ONLINE 0 0 0 > c6t1d0 ONLINE 0 0 0 > c6t1d1 ONLINE 0 0 0 > c6t1d2 UNAVAIL 0 0 0 > c6t1d3 ONLINE 0 0 0 > raidz ONLINE 0 0 0 > c6t2d0 ONLINE 0 0 0 > c6t2d1 ONLINE 0 0 0 > c6t2d2 ONLINE 0 0 0 > c6t2d3 ONLINE 0 0 0 > c6t3d0 ONLINE 0 0 0 > c6t3d1 ONLINE 0 0 0 > c6t3d2 ONLINE 0 0 0 > c6t3d3 ONLINE 0 0 0 > > > So, I use "zpool offline pool c6t1d2" to disconnect data access to > c6t1d2 then use "zpool online pool c6t1d2" command to reattach disk > into pool, But I got some error when I execute "zpool offline pool > c6t1d2" > > === zpool offline === > -bash-3.00# zpool offline pool c6t1d2 > cannot offline 3c6t1d2: no valid replicas
This is a known bug. 'zpool offline' is too conservative in its check for replicas. > > It seems NOT work! I tried to use "zpool export" then "zpool import" > command to flush ZFS memory cache. After "zpool import" ZFS pool still > got "DEGRADED" status and c6t1d2 disk state are UNAVAIL either. > Opps.....There is something wrong ...... > Once you do a 'zpool import', if the device was unavailable at the time of the import, we have no idea whether the config is actually correct or not. Hence marking it persistently unavailable (we don't know what device it is, only what it was at time of import). Still, we should try persistently unavailable devices if only for this circumstance. I'll file a bug. > It seems solaris has got disk device "c6t1d2" but I dont know why > "zpool status" shown c6t1d2 state is UNAVAIL. > > > I read "Solaris ZFS Administration Guide" and tried any possible > command but ZFS pool still show me DEGRADED and c6t1d2 can not be > fixed or replace by any zpool command. > > > Anyone knows how to repair this incident?? Does 'zpool replace' work? In particular: # zpool replace 3449041879167855716 c6t1d2 Note that offline/online is not the same as replacing a device. When you online a device, it must match the known configuration (in this case, because you did a 'zpool export', it doesn't match for the but above). For a replace, it will treat the device as unknown and re-write the label and resilver data appropriately. If that doesn't work, then something is really wrong. - Eric -- Eric Schrock, Solaris Kernel Development http://blogs.sun.com/eschrock _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss