Wandering Thoughts archives

2007-01-23

How to stop DiskSuite resyncing a mirror on Solaris 8

One of our irritations with DiskSuite has been that it has no way to abort a mirror resync short of forcing drive errors, something that we actually had to resort to once and which is not always possible, for example when your drives are logical LUNs on FibreChannel RAID controllers.

As we found out recently, fortunately not quite the hard way, it turns out that there actually is a way to abort a mirror resync. If your resyncing mirror is in a diskset, running 'metaset -s <set> -r' to release the diskset so you can fail it over to another machine will first abort the resync and then fail.

(It fails with the helpful, ever so explanatory error message 'metaset: <host>: Device busy'. If you repeat the metaset command again, it will work and actually release the diskset, although your higher-level failover tools may be in a bit of a tizzy at this point. The machine that picks up the diskset seems to automatically restart the resync, although it starts again from scratch.)

I can sort of see why DiskSuite behaves this way, but its current behavior is annoyingly half-hearted. Regardless of what you really wanted to happen in this situation, you wind up with about half of it.

(My grumpyness is increased because I suspect the only reason metaset aborts the resync is that otherwise you would have no way of releasing the diskset until the resync had finished. Which is all DiskSuite's fault, for not having a way of explicitly aborting resyncs.)

solaris/StoppingDiskSuiteResync written at 23:19:30; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.