Oracle Solaris Zones Physical to virtual (P2V)
Posted
by user939057
on Oracle Blogs
See other posts from Oracle Blogs
or by user939057
Published on Mon, 4 Jun 2012 11:36:50 +0000
Indexed on
2012/06/04
16:49 UTC
Read the original article
Hit count: 300
/Sun
Introduction
This document describes the process of creating and installing a Solaris 10 image build from physical system and migrate it into a virtualized operating system environment using the Oracle Solaris 10 Zones Physical-to-Virtual (P2V) capability.
Using an example and various scenarios, this paper describes how to take advantage of the
Oracle Solaris 10 Zones Physical-to-Virtual (P2V) capability with other Oracle Solaris features to optimize performance using the Solaris 10 resource management advanced storage management using Solaris ZFS plus improving operating system visibility with Solaris DTrace.
The most common use for this tool is when performing consolidation of existing systems onto virtualization enabled platforms, in addition to that we can use the Physical-to-Virtual (P2V) capability for other tasks for example backup your physical system and move them into virtualized operating system environment hosted on the Disaster
Recovery (DR) site another option can be building an Oracle Solaris 10 image repository with various configuration and a different software packages in order to reduce provisioning time.
Oracle Solaris Zones
Oracle Solaris Zones is a virtualization and partitioning technology supported on Oracle Sun servers powered by SPARC and Intel processors.
This technology provides an isolated and secure environment for running applications.
A zone is a virtualized operating system environment created within a single instance of the Solaris 10 Operating System.
Each virtual system is called a zone and runs a unique and distinct copy of the Solaris 10 operating system.
Oracle Solaris Zones Physical-to-Virtual (P2V)
A new feature for Solaris 10 9/10.This feature provides the ability to build a Solaris 10 images from physical
system and migrate it into a virtualized operating system environment
There are three main steps using this tool
1. Image creation on the source system, this image includes the operating system and optionally the software in which we want to include within the image.
2. Preparing the target system by configuring a new zone that will host the new image.
3. Image installation on the target system using the image we created on step 1.
The host, where the image is built, is referred to as the source system and the host, where the
image is installed, is referred to as the target system.
Benefits of Oracle Solaris Zones Physical-to-Virtual (P2V)
Here are some benefits of this new feature:
Prerequisites
The target Oracle Solaris system should be running the latest
version of the patching patch cluster. and the minimum Solaris version on the target system should be Solaris 10 9/10.
Refer to the latest Administration Guide for Oracle Solaris for a complete procedure on how to
download and install Oracle Solaris.
system, then during the process, the operating system will be upgraded to Solaris 10 9/10
(update on attach).
Creating the Image Used to distribute the software.
We will create an image on the source machine. We can create the image on the local file system and then transfer it to the target machine,
or build it into a NFS shared storage and
mount the NFS file system from the target machine.
Optional before creating the image we need to complete the software installation that we want to include with the Solaris 10 image.
An image is created by using the flarcreate command:
Source # flarcreate -S -n s10-system -L cpio /var/tmp/solaris_10_up9.flar
The command does the following:
Optionally, we can add descriptions to the archive identification section, which can help to identify the archive later.
Source # flarcreate -S -n s10-system -e "Oracle Solaris with Oracle DB
10.2.0.4" -a "oracle" -L cpio /var/tmp/solaris_10_up9.flar
You can see example of the archive identification section in Appendix A: archive identification section.
We can compress the flar image using the gzip command or adding the -c option to the flarcreate command
Source # gzip /var/tmp/solaris_10_up9.flar
An md5 checksum can be created for the image in order to ensure no data tampering
Source # digest -v -a md5 /var/tmp/solaris_10_up9.flar
Moving the image into the target system.
If we created the image on the local file system, we need to transfer the flar archive from the source machine to the target machine.
Source # scp /var/tmp/solaris_10_up9.flar target:/var/tmp
Configuring the Zone on the target system
After copying the software to the target machine, we need to configure a new zone in order to host the new image on that zone.
To install the new zone on the target machine, first we need to configure the zone (for the full zone creation options see the following link: http://docs.oracle.com/cd/E18752_01/html/817-1592/index.html )
ZFS integration
A flash archive can be created on a system that is running a UFS or a ZFS root file system.
NOTE: If you create a Solaris Flash archive of a Solaris 10 system that has a ZFS root, then by
default, the flar will actually be a ZFS send stream, which can be used to recreate the root pool.
This image cannot be used to install a zone. You must create the flar with an explicit cpio or pax
archive when the system has a ZFS root.
Use the flarcreate command with the -L archiver option, specifying cpio or pax as the
method to archive the files. (For example, see Step 1 in the previous section).
Optionally, on the target system you can create the zone root folder on a ZFS file system in
order to benefit from the ZFS features (clones, snapshots, etc...).
Target # zpool create zones c2t2d0
Create the zone root folder:
Target # chmod 700 /zones
Target # zonecfg -z solaris10-up9-zone
solaris10-up9-zone: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:solaris10-up9-zone> create
zonecfg:solaris10-up9-zone> set zonepath=/zones
zonecfg:solaris10-up9-zone> set autoboot=true
zonecfg:solaris10-up9-zone> add net
zonecfg:solaris10-up9-zone:net> set address=192.168.0.1
zonecfg:solaris10-up9-zone:net> set physical=nxge0
zonecfg:solaris10-up9-zone:net> end
zonecfg:solaris10-up9-zone> verify
zonecfg:solaris10-up9-zone> commit
zonecfg:solaris10-up9-zone> exit
Installing the Zone on the target system using the image
Install the configured zone solaris10-up9-zone by using the zoneadm command with the install -
a option and the path to the archive.
The following example shows how to create an Image and sys-unconfig the zone.
Target # zoneadm -z solaris10-up9-zone install -u -a
/var/tmp/solaris_10_up9.flar
Log File: /var/tmp/solaris10-up9-zone.install_log.AJaGve
Installing: This may take several minutes...
The following example shows how we can preserve system identity.
Target # zoneadm -z solaris10-up9-zone install -p -a /var/tmp/solaris_10_up9.flar
Resource management
Some applications are sensitive to the number of CPUs on the target Zone. You need to
match the number of CPUs on the Zone using the zonecfg command:
zonecfg:solaris10-up9-zone>add dedicated-cpu
zonecfg:solaris10-up9-zone> set ncpus=16
DTrace integration
Some applications might need to be analyzing using DTrace on the target zone, you can
add DTrace support on the zone using the zonecfg command:
zonecfg:solaris10-up9-zone>set
limitpriv="default,dtrace_proc,dtrace_user"
Exclusive IP
stack
shared IP stack with the global zone, or it can have an exclusive IP
stack (which was released in Oracle Solaris 10 8/07). An exclusive IP
stack provides a complete, tunable, manageable and independent
networking stack to each zone. A zone with an exclusive IP stack can
configure Scalable TCP (STCP), IP routing, IP multipathing, or IPsec.
For an example of how to configure an Oracle Solaris zone with an
exclusive IP stack, see the following example
zonecfg:solaris10-up9-zone set ip-type=exclusive
zonecfg:solaris10-up9-zone> add net
zonecfg:solaris10-up9-zone> set physical=nxge0
When the installation completes, use the zoneadm list -i -v options to list the installed
zones and verify the status.
Target # zoneadm list -i -v
See that the new Zone status is installed
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- solaris10-up9-zone installed /zones native shared
Now boot the Zone
Target # zoneadm -z solaris10-up9-zone boot
We need to login into the Zone order to complete the zone set up or insert a sysidcfg file before
booting the zone for the first time see example for sysidcfg file in Appendix B: sysidcfg file
section
Target # zlogin -C solaris10-up9-zone
Troubleshooting
If an installation fails, review the log file. On success, the log file is in /var/log inside the zone. On
failure, the log file is in /var/tmp in the global zone.
If a zone installation is interrupted or fails, the zone is left in the incomplete state. Use uninstall -F
to reset the zone to the configured state.
Target # zoneadm -z solaris10-up9-zone uninstall -F
Target # zonecfg -z solaris10-up9-zone delete -F
Conclusion
Oracle Solaris Zones P2V tool provides the flexibility to build pre-configured
images with different software configuration for faster deployment and server consolidation.
In this document, I demonstrated how to build and install images and to integrate the images with other Oracle Solaris features like ZFS and DTrace.
Appendix A: archive identification section
We can use the head -n 20 /var/tmp/solaris_10_up9.flar command in order to access the
identification section that contains the detailed description.
Target # head -n 20 /var/tmp/solaris_10_up9.flar
FlAsH-aRcHiVe-2.0
section_begin=identification
archive_id=e4469ee97c3f30699d608b20a36011be
files_archived_method=cpio
creation_date=20100901160827
creation_master=mdet5140-1
content_name=s10-system
creation_node=mdet5140-1
creation_hardware_class=sun4v
creation_platform=SUNW,T5140
creation_processor=sparc
creation_release=5.10
creation_os_name=SunOS
creation_os_version=Generic_142909-16
files_compressed_method=none
content_architectures=sun4v
type=FULL
section_end=identification
section_begin=predeployment
begin 755 predeployment.cpio.Z
Appendix B: sysidcfg file section
Target # cat sysidcfg
system_locale=C
timezone=US/Pacific
terminal=xterms
security_policy=NONE
root_password=HsABA7Dt/0sXX
timeserver=localhost
name_service=NONE
network_interface=primary {hostname= solaris10-up9-zone
netmask=255.255.255.0
protocol_ipv6=no
default_route=192.168.0.1}
name_service=NONE
nfs4_domain=dynamic
We need to copy this file before booting the zone
Target # cp sysidcfg /zones/solaris10-up9-zone/root/etc/
© Oracle Blogs or respective owner