I'm workin' on a highly available web application configuration on my laptop. So far I have 5 zones on my 2GB RAM laptop:
- Administration zone: Application Server Admin server and a directory server for LDAP authentication
- Application Server zone(s): 2 Zones, with application servers running, along with HADB
- Web Server Zone: A web server running, load balancing across 2 application server zones.
Yes, I could run all of those services in one zone, but hey, what would the Clingan Zone be without lots of zones?
I had been starting most services automatically via rc scripts and inittab, per product instructions. I could run them via SMF if I write my own (or google for them), but I haven't gotten around to it yet.
Everything had been working fine. I had installed and run the web server successfully all via zlogin and by launching the RC script. Wait a second, why was I starting the web server by hand? I selected "launch at startup" on the installer screen. Hmm, my web server rc script wasn't being called, because it existed. So I ran zlogin, as I usually do, to get to my zone of choice. Turns out zlogin can be a bad idea as my pseudo-default login method. Here's why.
svcs -x showed that sysidtool was running and that a boatload of services were waiting on it. Huh? Lemme think. After creating the zone, didn't I log in with "zlogin -C" and finish configuring the zone? Obviously not. What was interesting is that I've gone on for a while running the Java Enterprise System Web server in a zone that hadn't even been configured.
Note, the interface was plumbed and up by the global zone upon zone boot, and I had copied a host file to all zones, so host names were resolving.
You may ask why I would take the trouble to "su root" to even be able to run zlogin? Why not just ssh in the first place? Well, since this was run on my laptop, I don't want to autoboot zones. I boot them when I need them.
That means root. That means zlogin. Until now.