We have a Solaris 10 system with a solaris 9 branded zone. Trying to create a new lo interfaces i ended up rebooting the zone. The zone will not come up, it ran fine before i tried this. When i run the zoneadm -z zone-s9 boot command i get
"zoneadm: zone 'zone-s9': lo0:2: could not bring network interface up: address in use by zone 'global'; Cannot assign requested address
zoneadm: zone 'zone-s9':call to zoneadmd failed"
There is no lo0:2 in the global setup. The global (root) ifconfig shows lo0 (IPv4) and lo0 (IPv6) interfaces along with a couple nxge's. According to zonecfg info there are 3 nets. None of which are lo0:2
nxge0
nxge1
lo0
We have tried to do the zlogin -C but that just hangs on us. WHere the heck does the system have the lo0:2 info? i can't see it anywhere. This is persistent through a reboot of the system as well. How do i get the zone to start.
The point isn't that the lo0 is a loopback. I have nothing configured for lo0:2 as far as i can see but i'm getting an error saying it is already used.
We aren't trying to get out on the interfaces, we do this regularly on a Solaris 8 (i know) sytem. We use a script that creates 7 dummy ips on lo0:1 - lo0:7 for testing bind. Is the zone not allowed to use the lo series the same way.
Apologies if I'm about to state the obvious stuff that you already know but let's cover a few facts here.............
The branded zone can share a network interface with the global zone or it can be configured to have exclusive use of an interface. It would seem that whatever interface the branded zone is requesting at boot time, it is requesting exclusivity and the global zone is already using it so an error results.
I would suggest that you use zonecfg to list what interfaces the global and branded zones think you've got and reconfigure to eliminate conflict.
Another thought is that Solaris decides what interfaces to configure by the existence of /etc/hostname.<interface> files (eg. /etc/hostname.nxge0).
You haven't said whether your branded zone is on its own filesystem or not but if you can get at it then look for these file(s). Renaming them temporarily should stop Solaris trying to configure the network interfaces and therefore get the system on its feet. (Easier to troubleshoot once the system is up???) You could also look at /etc/hostname.<interface> files on the global and see what that thinks its got.
Hope that helps.
---------- Post updated at 12:57 PM ---------- Previous update was at 12:21 PM ----------
Also, you didn't say how you got into this position. What command(s) did you use to try and configure the interfaces?
If you think that you messed up your zone configuration you could try restoring everything under /etc/zones on global. This will put your zone config back to the way it was. (Rename the existing zones directory, don't delete anything)
No it is not a separate fs. I tried renaming the zone hostname files and the boot still failed. Were you meaning i should rename the global hostname files???
I had done an ifconfig while in the zone but the other admin said i should do the add trhough the zonecfg command. I backed out then tried the "add net" command. we didn't commit the first time so we did it again with the commit and attempted to restart the zone. It failed.
---------- Post updated at 10:19 AM ---------- Previous update was at 08:46 AM ----------
*** FIX ***
In the global /etc/zones there is an xml file zone-s9.xml. This file list the zone information including the network interfaces. I tried moving the file but that caused the zone to be NOT CONFIGURED. I deleted the 3 interface lines instead and the zone came up fine. After adding the interfaces we knew were good we added an ip attached to lo. The new lo came up as lo0:1 and the loopback (127.0.0.1) interface was declared as lo0:2. Each time i added another lo connection the default loopback was incremented so it was always the last lo interface.