Create Solaris 10 Branded Zone on Exalogic

March 12, 2012 | 3 minute read
Leo Yuen
Cloud Solutions Architect
Text Size 100%:

Exalogic supports both Linux and Solaris. While majority of Exalogic customers choose to run Oracle Enterprise Linux, there are increasing number very large customers are also choosing to deploy Solaris on Exalogic. One of the reasons that customers choose to run Solaris 11 Express on Exalogic is the capability to create container. Container is a form of Operating System Virtualization that allows multiple operating system environments to coexist on a single system. Container not only allows user to run the same version of Solaris but it is also possible to create a container, also known as branded zone, to run previous Solaris version, such as Solaris 10. It is a very useful feature that enable customer to continue running applications that only certified on older OS version.

In this entry, I will show you the steps to create a Solaris 10 branded zone on Exalogic.

1. Install the s10 Package:

First of all, login to the compute node where you are going to create a Solaris 10 branded zone, the host environment is called a global zone while the to be created brand zone is called a non-global zone.
Run the following command as root to install s10 package.

 

#pkg install system/zones/brand/s10

 

2. Create a ZFS File system for the Zone

Create a ZFS file system to hold the branded zone. In the following example, I’m using “/cpool” as the mountpoint.

#zfs create -o mountpoint=/cpool rpool/cpool

 

3. Create a VNIC for the Zone

To allow the zone to communicate over the Exalogic management network, a VNIC over igb0 should be created.

 

#dladm create-vnic -l igb0 s10zone0

 

4. Create template for Zone

Create a template file called /etc/zones/my-s10-zone.xml with the following content:

 

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE zone PUBLIC "-//Sun Microsystems Inc//DTD Zones//EN" "file:///usr/share/lib/xml/dtd/zonecfg.dtd.1"> <zone name="s10-zone" zonepath="/cpool/s10-zone" autoboot="false" brand="solaris10" ip-type="exclusive" hostid="12345678"> <network physical="s10zone0"/> </zone>



5. Configure the Zone

Now we can configure the zone with the template we just created above.

 

#zonecfg -z s10-zone 'create -t my-s10-zone'

 

6. Install the Zone

Now we need a flash archive of a solaris 10 installation to install the zone.
You can run the following command in any solaris 10 x86 environment to create a flash archive.

#flarcreate -S -n solaris10 -L cpio /u01/common/images/solaris10

Instead of a physical environment, you may run the above command in a virtualbox running Solaris 10 x86.

You can download pre-built Virtualbox Solaris VM from OTN Page.

Once you have the flash archive ready, run the following command in the global zone.

#zoneadm -z s10-zone install -a /u01/common/images/solaris10 -u

 

7. Configure the Branded Zone

In the global zone, create a file called /cpool/s10-zone/root/etc/sysidcfg with the following content:

 

system_locale=C terminal=xterms network_interface=s10zone0 { hostname=s10-zone-1 ip_address=192.168.1.1 default_route=NONE netmask=255.255.255.0 protocol_ipv6=no} security_policy=none name_service=NONE nfs4_domain=domain timezone=US/Eastern root_password=N4l3cWQb/s9zY

 

You may change hostname, ip_address etc according to your environment

The above root password is "solaris".

8. Boot the Zone

Run the following command to boot the zone.

 

#zoneadm -z s10-zone boot

 

Wait for a few minutes for the zone to boot up.

9. Login to the Zone’s console

Use the following command to login to the console of the newly created zone.

 

#zlogin -C s10-zone

 

Now you have a Solaris 10 branded zone up and running!

In next entry, I’ll show you how to add a network interface for your branded zone to connect to the shared storage over InfiniBand.

Leo Yuen

Cloud Solutions Architect


Previous Post

Oracle Fusion Middleware on JDK 7

Mark Nelson | 1 min read

Next Post


Cookbook: SES and UCM setup

George Maggessy | 4 min read