5: Solaris Zones: A sharing approach

Now for something completely different:

Imagine a normal operating system where you can insert jails between processes - you define groups of processes that may see each other - and no other process will notice their existence. But all of these processes run under the same operating system and process id's remain unique.

In FreeBSD this technique is called "FreeBSD Jails", im Solaris pretty much the same thing is named "Zones".

We're focusing on the Solaris case:


The big black lines are the jails. The red processes do not see the yellow ones nor the green ones. Only the "global zone" sees all of them - and may kill every of them.

As you know all Unix processes have process "init" as a main parent. If you kill "init" then you'll kill the operating system. This paradigma stays consistent with zones: Every zone has its "init" process, but the process id is not "1". If you do a "ps ax" and you notice that "init" has process id 8374 (as an example) you know that you are running in a Solaris zone.


Every zone uses the same operating system. It is not possible (like with virtualization techniques like Xen or ESX) to install different guest systems - in fact in the Solaris Zones case there is no guest system. It is all one operating system.

There's a "hack" named branded zones: In this zones there are other libraries installed than the standard Solaris ones. So you may pretend to applications that they're running under a Redhat Enterprise Linux. This is useful for migrations.

Each zone may have its IP addresses and special network interfaces only accessible by them. You may also define shared and seperate "boot" disks - in the first case an operating system update affects all zones, in the latter case you must update the zone disk pools seperately. Caution: A kernel update is affecting all zones - as they are running all under one operating system kernel. System libraries and executables/programs may differ however.

The zone disk storage space plus the zone itself is named a "Solaris Container". A zone disk storage may be a chrooted subdirectory or a special ZFS pool.

You may also assign the maximum number of CPUs and maximum RAM usage of these zone processes.

Systems applying this paradigma are:

  • Solaris 10, OpenSolaris, Solaris Express
  • FreeBSD

  1. Why virtualization?
  2. Userspace-based virtualization (the easy way)
  3. Xen: Hypervisor-based virtualization
  4. ESX: Hypervisor-based virtualization
  5. Solaris Zones: A sharing approach
  6. Hybrid methods: KVM

0 TrackBacks

Listed below are links to blogs that reference this entry: 5: Solaris Zones: A sharing approach.

TrackBack URL for this entry: http://southbrain.com/mt/mt-tb.cgi/100

December 2015

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


This blog is owned by:

Pascal Gienger
J├Ągerstrasse 77
8406 Winterthur

Google+: Profile
YouTube Channel: pascalgienger