When troubleshooting the Veritas VxODM SMF service log, we may see errors like:
# cat /var/svc/log/system-vxodm:default.log
.
Starting ODM...
Device busy: /dev/odm
[ 2022 Mar 28 13:42:07 Method "start" exited with status 255. ]
[ 2022 Mar 28 13:42:07 Executing start method ("/lib/svc/method/odm start"). ]
When the server is restarted, the Veritas VxODM SMF services reports the unwanted "maintenance" state:
# svcs -a | grep vxodm
maintenance 16:14:23 svc:/system/vxodm:default
This is related to the Solaris SMF zone services starting the Solaris Local Zones before Veritas VxODM has had sufficient time to start.
Following the server restart, the Veritas VxODM SMF service should report an "online" state:
# svcs -x | grep vxodmsvc:/system/vxodm:default (VERITAS Oracle Disk Manager)
State: online since March 30, 2022 at 1:24:52 PM IST
See: mount_odm(1)
See: /var/svc/log/system-vxodm:default.log
Impact: None.
Automated Solution
Veritas is working on changes to the VxODM SMF configuration, imposing a SMF dependent relation on the Solaris SMF "svc:/system/zones:default" service
#svc:/system/zones:default
STATE STIME FMRI
online 17:47:10 svc:/system/zones:default
Please contact Veritas Technical Support to obtain the updated " "/var/svc/manifest/system/vxodm/odm.xml" manifest file included in the updated VRTSodm 7.4.2.2501 private hot-fix.
Manual workaround
If the Veritas VxODM SMF service is shown as "maintenance", all Solaris Local Zones must be stopped to enable the VxODM service to go "online".
Steps:
1.] Verify which Solaris Local Zones are in a "running" state:
Sample output
# zoneadm list -civ | grep -w running 0 global running / solaris shared
3 ldom06_zone15 running /export/zones/ldom06_zone15 solaris excl
2.] Shutdown the "running" Solaris Local Zones:
Example
# zoneadm -z ldom06_zone15 shutdown
3.] Now all Solaris Local Zones are stopped, disable the vxodm SMF service
# svcadm disable svc:/system/vxodm
4.] Check that the vxodm SMF service has been disabled
#svcs -x svc:/system/vxodm:default
#svcs -l vxodm
5.] Remove the created the /dev/odm
# cd /dev
# rmdir odm
# mkdir odm
6.] Now enable the vxodm SMF service
# svcadm enable vxodm
7.] Once the vxodm SMF service reports an "online" state, proceed to start VCS and online the related Service Groups.
#hastart
8.] Confirm the vxodm service is "online" within the Solaris Local zone which is in a "running" state.
# for zone in `zoneadm list -civ | grep -v global | grep -w running | awk '{ print $2}'`; do echo "ZONE: $zone" ; zlogin $zone svcs -a | grep odm ; done
ZONE: ldom06_zone15
online 16:23:52 svc:/system/vxodm:default
See related article:
Veritas recommends setting autoboot=false with zonecfg for Solaris Local Zones to manage the startup sequence
How to change the Veritas vxodm Solaris 11.4 SMF service dependent links for SMF "svc:/system/zones:default" service
Aarticle.100052933
How to add a Solaris 11.4 SMF dependency within a Solaris Local Zone using zonecfg for Veritas vxodm service "svc:/system/vxodm:default"
Article.100052934
