solaris zones vs container..

kindly share what are difference b/w solaris zones and containers....

Solaris Zones , you have a single copy of the OS that is shared between the various instances. You can have some isolation on patches, with "full zone" deployments. But in the end all the zones share the same copy of the kernel. You can do resource allocations/control between the zones. They are good for development/test/uat environments. If you have a hardware issue, you would have to take outage on all zones. So in summary zones are software isolation, they look isolated because the OS provides that view.

Containers are the opposite, they can be compared in some respects to vmware. They have a control domain and run off the hypervisor. You can failover containers from one to another, online failover..etc. They are better suited to production kind environment. They are getting better and better, because oracle now wants a share of the virtualization pie and wants to compete with Vmware and Microsoft.

You might refer to this comprehensive FAQs regarding Zones and Containers

Solaris Zones

No special hardware required
Single OS image
Sub-CPU resource granularity
Shared kernel, memory, file systems (configuration, resources and
management)
Solaris only (excluding Linux branded zone on x86)
CPUs can be shared
Works on all systems
Virtually unlimited partitioning (max is 8191 non-global zones)
Single system patch level
Most admin operations can be applied to all containers in a single operation
Very little performance overhead for zone infrastructure

LDoms

Sun4v systems only
Multiple OS images
Multiples of CPU granularity
Dedicated kernel, memory, file systems
Can support other OSes
CPUs can not be shared (CPUs here refers to a strand/thread)
Currently available on Tx000, T5xy0 only
Partitioning limited to number of CPUs
Multiple and different patch and release levels possible
Each LDom must be fully managed separately

2 Likes

Hi man I'm a Solaris Admin so this is my experience.

In Solaris Zones and Containers are almost the same thing. In Solaris 8 and 9 Zones where called containers. In Solaris 10 and later the term zone was used instead. Zones are a form of visualization & isolation. Best practice is to set up a Host called a Global Zone. The global zone then hosts one or more "Full Root", "Sparse Root" or "Branded" zones.
-Full root is a full Solaris install without any shared files.
-A sparse zone has 4 directory's that it shares with the global zone.
-Banded zones are zone that may not share anything with the global. A branded zone might be a Solaris 9 hosted on Solaris 10, or it can also be a Linux distro hosted on the global zone.

I hope this helps

wow... some of the answers are soooo wrong it hurts... please start here for all the basic Q&A:

Zones and Containers FAQ (Community Group zones.faq) - XWiki

1 Like

Oops, I think I meant to write LDOM and wrote the word containers. Ignore my commentary :), lol..I guess I should pay more attention.

This might be useful

Below is pdf from Sun on how to set up zones and with containers.

I hope this helps

As far as Solaris is concerned, both of these terms are almost interchangeable.

More precisely:

  • The global zone is not a container but the regular OS instance.
  • Non global zones can also be named containers, especially when resource management is enabled.

Zones, as a virtualization technique, are Solaris specific, containers is also a generic term used with other OSes.

[/list]
This is the same as the way I see the difference between the two. Zones without capping or resource management is more like a very advance form of jails. Its like its not really "contained" to since run away process on a local zone can affect the other zones by way of hogging the shared resources i.e. cpu times, memory, swap etc...