Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Current »

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

Verify your changes,

svcs -a | grep "rpc/bind:";svcs -a | grep "rpc/meta:";svcs -a | grep "system/mdmonitor:"
disabled       Jun_17   svc:/network/rpc/bind:default
uninitialized  Jun_17   svc:/network/rpc/meta:default
online         Jun_17   svc:/system/mdmonitor:default

Optionally if you are using a newer version of grep via GTools,

svcs -a | grep 'rpc/bind:\|rpc/meta:\|system/mdmonitor:'
disabled       Jun_17   svc:/network/rpc/bind:default
online         Jun_17   svc:/system/mdmonitor:default
uninitialized  Jun_17   svc:/network/rpc/meta:default

Dickson, would you know why even though we manually disabled rpc/meta: shows up as uninitialized?


Details

Based on the linked articles this is a dependency issue.

When I talk about states I am referring to the STATE as represented when running the svcs -a command. A service can be in the following states, online, offline, uninitialized and disabled.

The mdmonitor daemon is needed to sync the meta devices at system start up. If svc:/system/mdmonitor is not running, the devices come into maintenance state.

The cause according to Engle Victor's post is an "optional_all" dependency of svc:/network/rpc/meta. "optional_all" allows mdmonitord to start if svc:/network/rpc/meta is disabled but not if it is in the offline state or in our case uninitialized. As are result, svc:/system/mdmonitor is put into 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

http://webcache.googleusercontent.com/search?q=cache:QoKwy4SOZL0J:www.sunmanagers.org/pipermail/%20summaries/2006-February/007079.html+%22Solaris+10%22+%22Needs+maintenance%22&%20;hl=en&gl=us&ct=clnk&cd=1

  • No labels