Solaris SVM – Metadevice in needs maintenance state. Invoke metareplace

On your Solaris server, a disk that is part of a mirror goes bad and needs replacement.

root@solaris:~ # metastat d50
d50: Mirror
Submirror 0: d51
State: Needs maintenance
Submirror 1: d52
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 32776896 blocks (15 GB)

d51: Submirror of d50
State: Needs maintenance
Invoke: metareplace d50 c0t0d0s5

Size: 32776896 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s5 0 No Maintenance Yes

d52: Submirror of d50
State: Okay
Size: 32776896 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s5 0 No Okay Yes

Device Relocation Information:
Device Reloc Device ID
c0t0d0 Yes id1,sd@n500000e013633ce0
c0t1d0 Yes id1,sd@n500000e013633810

After you physically replace the bad disk, the submirror will still show as needing maintenance. You need to invoke metareplace to sync the submirror

root@solaris:~ # metareplace -e d50 /dev/dsk/c0t0d0s5
d50: device c0t0d0s5 is enabled

root@solaris:~ # metastat d50
d50: Mirror
Submirror 0: d51
State: Resyncing
Submirror 1: d52
State: Okay
Resync in progress: 0 % done
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 32776896 blocks (15 GB)

d51: Submirror of d50
State: Resyncing
Size: 32776896 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s5 0 No Resyncing Yes

d52: Submirror of d50
State: Okay
Size: 32776896 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s5 0 No Okay Yes

Device Relocation Information:
Device Reloc Device ID
c0t0d0 Yes id1,sd@n500000e013633ce0
c0t1d0 Yes id1,sd@n500000e013633810

Repeat the process to all the remaining submirrors that were on that disk

Advertisement