Manually synchronizing Solaris meta devices


While performing routine maintenance today, I discovered that one of my hot spare drives kicked in to replace a faulted disk drive. Since the synchronization process had recently started, I decided to shutdown the box to replace the faulted drive. Once I booted the box back up, I noticed that the synchronization process didn’t start automatically:

$ metastat d5

d5: RAID
State: Resyncing
Hot spare pool: hsp001
Interlace: 128 blocks
Size: 106085968 blocks (50 GB)
Original device:
Size: 106086528 blocks (50 GB)
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s0 6002 No Okay Yes
c1t2d0s0 4926 No Resyncing Yes c1t6d0s0
c1t3d0s0 4926 No Okay Yes
c1t4d0s0 4926 No Okay Yes

Under normal operation, a “Resync in progress” line would be listed. To manually start the syncrhonization process, I ran the metasync(1m) command by hand:

$ metasync -r 2048

Once the command was executed, the synchronization process started:

$ metastat d5

d5: RAID
State: Resyncing
Resync in progress: 0.5% done
Hot spare pool: hsp001
Interlace: 128 blocks
Size: 106085968 blocks (50 GB)
Original device:
Size: 106086528 blocks (50 GB)
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s0 6002 No Okay Yes
c1t2d0s0 4926 No Resyncing Yes c1t6d0s0
c1t3d0s0 4926 No Okay Yes
c1t4d0s0 4926 No Okay Yes

Since this is a software RAID5 meta device, the synchronization process ( read data and parity, calculate parity, write data, write parity) will take a looooooong time to complete.

This article was posted by Matty on 2005-07-03 21:48:00 -0400 EDT