hot spares not working

Added by Tim Cook about 1 year ago

I've currently got a pool setup as raidz2 with one hot spare. From what I can tell, nexenta doesn't seem to want to actually invoke the hot spare... I even tried initiating a scrub in case it was simply not noticing the drive was missing, it's still not bringing it into the pool:

root@fserv:~# zpool status pool: fserv 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-2Q scrub: scrub in progress for 0h2m, 1.06% done, 3h49m to go config:

    NAME                      STATE     READ WRITE CKSUM
    fserv                     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
        c3t0d0                ONLINE       0     0     0
        c3t1d0                ONLINE       0     0     0
        c3t2d0                ONLINE       0     0     0
        c3t3d0                ONLINE       0     0     0
        c3t4d0                ONLINE       0     0     0
        12589257915302950264  UNAVAIL      0     0     0  was /dev/dsk/c7t5d0s0
    spares
      c3t6d0                  AVAIL

Replies

RE: hot spares not working - Added by Chris Casey about 1 year ago

Which build are you on? I had some issues with my controller cards when using 3.0 alpha3 but it actually would pull in the spare drive. Is this a more recent version? What's your hardware look like?

RE: hot spares not working - Added by Tim Cook about 1 year ago

I actually figured it out. The reason it wasn't pulling in the spare is because the drive failed on import of the pool. I was able to manually pull in the spare with a zpool replace. Apparently that's default behavior for the zfs stack (according to the zfs mailing list)

SunOS fserv 5.11 NexentaOS_134a i86pc i386 i86pc Solaris Hardware is a pair of the supermicro 8-port marvell cards in a supermicro server.

RE: hot spares not working - Added by Roman Strashkin about 1 year ago

You need to set option 'autoreplace=on' for your pool for automatic replace degraded disks to spare.

cmd: zpool set autoreplace=on your_pool

RE: hot spares not working - Added by Tim Cook about 1 year ago

Autoreplace was on. Per my message above, it will not replace a drive that fails on import.

In any case, I ditched Nexenta weeks ago. The fact nobody could answer why basic LACP wasn't working with an identical setup to opensolaris of the same build turned me off rather quickly.