Sypmtom
On Solaris 10 boxes, after a reboot, all submirrors "need maintenance". A metasync immediately clears the problem but the system will be back in "need maintenance" state right after a reboot.
Resolution
Verify that we have a problem because mdmonitor is offline,
svcs | grep mdmonitor offline 2009 svc:/system/mdmonitor:default
Fix the problem,
svcadm disable rpc/bind svcadm disable rpc/meta svcadm enable system/mdmonitor
Details
Based on the linked articles this is a dependency issue.
The mdmonitor daemon is needed to sync the meta devices at system start up. If mdmonitor is not running, the devices come into maintenance state.
The cause according to Engle Victor's postdisabled is an "optional_all" dependency of svc:/network/rpc/meta. "optional_all" allows mdmonitord to start if svc:meta is disabled but not if it is in the offline state.
svc:/network/prc/meta comes up offline because of its "require_all" dependency on svc:/network/rpcbind which may be disabled or offline or in our case, uninitialized.
We disable rpcbind on purpose as we run Solaris with a minimal install.
Dickson, not sure where we disable it. Is it during install? Can you explain here?
References
http://www.thatsjava.com/java-enterprise/60195/
http://www.sunmanagers.org/pipermail/summaries/2005-June/006531.html