types.cf, main.cf or other .cf file reverts to original copy after manually updating the file, and restarting HAD.
Run the following command to stop VCS.
/etc/init.d/vcs stop -or- hastop
If fencing is configured, stop fencing using following command:
/etc/init.d/vxfen stop
Stop gab.
/sbin/gabconfig -U
Stop llt.
/sbin/lltconfig -Uo
Update llttab / llthosts / gabtab as needed.
Start VCS components:
/etc/init.d/llt start /sbin/gabconfig -cx /etc/init.d/vxfen start
/etc/init.d/vcs start -or- hastart
-- This procedure has not been tested. --
IN ADDITION to the below procedure, be sure to shut down fencing:
# /usr/sbin/lsdev -CHc vxfen name status location description vxfen Available N/A
# /sbin/vxfen-shutdown
To start back up after gab and LLT shutdown and restart:
# /sbin/vxfen-startup
Check to see what services you have running:
# modinfo | egrep -i "fen|gab|llt" 215 7af62000 2cf88 301 1 llt (LLT 5.1SP1) 216 7af86000 5a338 302 1 gab (GAB device 5.1SP1) 217 7a600000 6a0c8 303 1 vxfen (VRTS Fence 5.1SP1)
In this case you have fencing, gab und llt.
1) CHECK GAB PORTS: # gabconfig -a GAB Port Memberships =============================================================== Port a gen 8e3a08 membership 01 Port b gen 8e3a0b membership 01 Port h gen 8e3a0d membership 01 # 2) STOP HAD # hastop -all -force 3) STOP FEN/LLT/GAB # /sbin/vxfenconfig -U There are 0 active coordination points for this node # /sbin/gabconfig -U # /sbin/lltconfig -U lltconfig: this will attempt to stop and reset LLT. Confirm (y/n)? y 4) DISABLE SERVICES # svcadm disable -t vxfen # svcadm disable -t gab # svcadm disable -t llt 5) UNLOAD KERNEL MODULES: # modinfo | egrep "gab|llt|vxfen" 215 7af62000 2cf88 301 1 llt (LLT 5.1SP1) 216 7af86000 5a338 302 1 gab (GAB device 5.1SP1) 217 7a600000 6a0c8 303 1 vxfen (VRTS Fence 5.1SP1) # modunload -i 215 # modunload -i 216 # modunload -i 217 # # modinfo | egrep "gab|llt|vxfen" 6) REPEAT STEPS 3,4,5 on the other node. # # cp /etc/VRTSvcs/conf/types.cf /etc/VRTSvcs/conf/config/types.cf ...... 7) RESTART SERVICES # svcadm enable llt # svcadm enable gab # svcadm enable vxfen # svcs -a | egrep "gab|llt|vxfen" online 15:38:00 svc:/system/llt:default offline 15:38:01 svc:/system/vxfen:default maintenance 15:31:59 svc:/system/gab:default [ My gab went to maintenance, so I had to disable / enable it again: ] # svcadm disable gab # svcadm enable gab # svcadm enable vxfen # svcs -a | egrep "gab|llt|vxfen" online 15:38:00 svc:/system/llt:default online 15:44:19 svc:/system/gab:default online 15:44:19 svc:/system/vxfen:default 8) START HAD # hastart 9) Repeat 8 and 9 on all nodes. # hastatus -sum -- SYSTEM STATE -- System State Frozen A sprst1000a9-32 RUNNING 0 A sprst1000a9-33 RUNNING 0 ...and so on...
Applies To
The problem affects versions 5.x and above of VCS on all platforms.
VCS will cache copies of all active .cf files in memory. Simply stopping HAD is no longer sufficient to guarantee that the previously cached version is not still in memory and will be used. Further, this version will overwrite the updated version that is on disk when it is flushed by VCS.
Before replacing a .cf file in VCS,
1) Stop HAD, GAB and LLT on all nodes.
2) Copy the new .cf file to all nodes.
3) Restart LLT, GAB and HAD.
This can be done without stopping the currently running cluster applications.
Restarting LLT and GAB