I am trying to determine if issuing a shutdown command from the global zone, e.g. shutdown -g0 -i5 -y performs graceful shutdowns on any running local zones, or does it issue a halt to the local zones without running shutdown scripts in them. Searching the Solaris zones forum brings up some older discussions (pre 2010) where users reported a halt was done, but the expectation is this would be changed in later Solaris 10 patches or revisions. Has this ever been addressed? Is there a way to determine if a local zone has been halted or shutdown? What is the recommended way to perform a shutdown of a global zone, when local zones are running?
The global zone will run a "svcadm disable zones" for each zones and this corresponds to a "zoneadm shutdown" or "zoneadm halt". Both zoneadm command will use a "init 0" in each zone.
If you have a zone that requires a shutdown script to stopping for example a database gracefully, then you should run the shutdown inside each zone directly.