Wednesday, May 18, 2016

Migration of Native Solaris Zone (NGZ) to Kernel Zone (KZ)/Logical Domain (LDOM) – Part 1

In my previous post I mentioned, why I am looking to convert a Native Zone into a Kernel Zone/LDOM.
A decision to migration a Native Solaris Zone (NGZ) to a LDOM is not a direct one, but a stepped one.
A NZG needs to be first migrated to a KZ and then this KZ needs to me migrated to a LDOM.
I have spent a lot of time on the web to find if anyone has done this before. I couldn’t find anything. So I took it upon myself to do this task and document the procedure for the benefit of some poor souls who has to undergo the same.
Please note: the below procedure is using Solaris x86/64 on VMware workstation. But it will remain more or less similar on a SPARC system as well.

This post is broken up in 3 parts - due to sheer size on the post itself - plus, to avoid getting "lost in translation"

This posts will be as below:

(1) Part 1: Setting up the infrastructure. I will be using VMware workstation. But it will be be the same for VirtualBox as well. In this post, I will create the physical VM - which will serve as a global zone and create a Native Zone.
(2) Part 2: Will cover steps to convert Native Zone to Kernel zone.
(3) Part 3: will Cover steps to convert Kernel one to LDOM or a seperate VM on VMware or VirtualBox (as in my case)

Post Links as below:

Part 1: http://solariscat.blogspot.com/2016/05/migration-of-native-solaris-zone-ngz-to.html

Part 2: http://solariscat.blogspot.com/2016/05/migration-of-native-solaris-zone-ngz-to_18.html

Part 3: http://solariscat.blogspot.com/2016/05/migration-of-native-solaris-zone-ngz-to_19.html


We will now see how to go about this procedure.
Points to consider:
(1)    DHCP setup is a must – at least for the purpose of the migration.
(2)    The server on which the repository is configured, MUST have a fixed IP.
(3)    The Repository must be published over http and not filesystem/directory.
(4)    Storage space is required for facilitating the migration. This is the space where the images are stored and should be available to the physical servers on which the zones are backed-up as well as migrated to.
(5)    A private link between the global zone and the Kernel Zone is preferred to avoid network latency.

Initial System setup – (to emulate a Box with NGZ)

1.       Create a VM with Solaris 11.2/11.3 along with its repository.

¾     Start VMWare Workstation – As you can see there are no VMs existing.image
¾     Click “file ->
image

image
image
image
image
image
image

¾     Change this to:
image

image

¾     Change this to:
image

image

¾     Change this to:
image

image
image
image
image
image
image

¾     Click Finish
image

¾     Click “Edit Virtual Machine Settings”
image
¾     Click “Add”

image
image
image


¾     Add a new 25 GB LUN. This will host the Repository

image
image
image

¾     Click Add
image
image
image

¾     Add a new 25 GB LUN. This will host the Zones
image

image
image


¾     Click Add
image
image
image




¾     Add a new 50 GB LUN. This will host the Backups

image
image
image

Now you have created 4 Disks in the VM –
1.       for OS – 16 GB
2.       for Repository – 25GB
3.       for Zones – 25 GB
4.       for Backups – 50 GB

Map the ISO image of the OS to the CD/DVD to install the OS.
image

¾     Change this to:
image
¾     Select the ISO image location and file
image
image

¾     Select “Power on”

¾     OS Installation Starts
image
image
image
image
image
image
image

¾     Select the 1st disk 16GB for OS installation
image
image

¾     Change this to:
image
image
¾     Change this to:
image
image
image
¾     Change this to:
image
image
image
image
image
image
image
image
¾     Type root password of your choice – twice
image
image
image
image
image

¾     In the meantime, you need to make some changes in the “Virtual Network Editor”
image
image

Check VMnet1 details. It’s NOT matching with our IP address that we chose for our server.

Our Server IP: 192.9.200.10, whereas,
VMnet1 IP network: 10.10.1.0

Change VMnet1 to 192.9.200.0 Also ensure DHCP is “DISABLED”

¾     Click on change settings
image
¾     Click on VMnet1
image

Change Subnet IP:
From: 10.10.1.0
To: 192.9.200.0

image
image
¾     Click “Apply” & “OK”

¾     OS Installation complete
image

¾     Now Reboot

image
image
image
¾     Now our Physical Server is up & ready.

¾     Lets activate network access to the system & Check if the VM is pingable
image

Login as root and disable Sendmail to avoid those annoying messages coming on the screen. Alternatively, you can all a FQDN to the host file to work around the issue.

¾     To disable Sendmail
# svcadm disable Sendmail
# svcadm disable Sendmail-client

¾     To implement FQDN:
Edit the /etc/hosts file and add an alias as below
image
image
image

¾     Now, activate direct root SSH access. It’s faster to use putty than using the console.
image

¾     Change this to:
image

¾     Restart ssh services
image

¾     Now login as root to 192.9.200.10 using putty
image

image

…And, We are in!!!


¾     Now let’s prepare the repository, zones & backup pools

¾     Create the pools as per the plan
image
image

¾     Optional: Enable compression to save diskspace on your laptop. I have observed that enabling compression actually makes the systems faster…much faster.
image
image

¾     Prepare the Repository:

Download the repository files from the below location and extract it in /Repo filesystem

image

¾     Check existing default repository

root@SolA:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
root@SolA:~#


¾     Change it to the newly created repository created under /Repo filesystem

root@SolA:~# pkg unset-publisher solaris
Updating package cache                           1/1
root@SolA:~#

root@SolA:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
root@SolA:~#

root@SolA:~# pkg set-publisher -g /Repo/Sol11.3_repo/ solaris
root@SolA:~#
root@SolA:~# pkg set-publisher -g /Repo/Sol11.3_SRU/ solaris
root@SolA:~#

root@SolA:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///Repo/Sol11.3_SRU/
solaris                     origin   online F file:///Repo/Sol11.3_repo/
root@SolA:~#

¾     verify repository version and status
¾     Compare it with your existing OS version

root@SolA:~# pkg info entire
          Name: entire
       Summary: Incorporation to lock all system packages to the same build
   Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.
      Category: Meta Packages/Incorporations
         State: Installed
     Publisher: solaris
       Version: 0.5.11 (Oracle Solaris 11.3.1.5.0)
 Build Release: 5.11
        Branch: 0.175.3.1.0.5.0
Packaging Date: October  6, 2015 02:00:51 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.1.0.5.0:20151006T140051Z
root@SolA:~#


root@SolA:~# pkg info -r entire
          Name: entire
       Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.3.7.5.0).
   Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.  For
                more information see:
                https://support.oracle.com/rs?type=doc&id=2045311.1
      Category: Meta Packages/Incorporations
         State: Not installed
     Publisher: solaris
       Version: 0.5.11 (Oracle Solaris 11.3.7.5.0)
 Build Release: 5.11
        Branch: 0.175.3.7.0.5.0
Packaging Date: April 13, 2016 01:57:22 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.7.0.5.0:20160413T135722Z
root@SolA:~#

As you can see in the above outputs, the Repo version is higher than the OS version.

¾     Update the OS to the latest version using the repository

root@SolA:~# pkg update --accept
------------------------------------------------------------
Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.175.3.7.0.5.0:20160413T135024Z
License: lic_OTN

You acknowledge that your use of this Oracle Solaris software product
is subject to, and may not exceed the use for which you are authorized,
(i) the license or cloud services terms that you accepted when you
obtained the right to use Oracle Solaris software; or (ii) the license
terms that you agreed to when you placed your Oracle Solaris software
order with Oracle; or (iii) the Oracle Solaris software license terms
included with the hardware that you acquired from Oracle; or, if (i),
(ii) or (iii) are not applicable, then, (iv) the OTN License Agreement
for Oracle Solaris (which you acknowledge you have read and agree to)
available at
http://www.oracle.com/technetwork/licenses/solaris-cluster-express-license-167852.html.
Note: Software downloaded for trial use or downloaded as replacement
media may not be used to update any unsupported software.

           Packages to install:   2
            Packages to update: 217
       Create boot environment: Yes
Create backup boot environment:  No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            219/219   11898/11898  387.1/387.1    0B/s

PHASE                                          ITEMS
Removing old actions                       1437/1437
Installing new actions                     2433/2433
Updating modified actions                11925/11925
Updating package state database                 Done
Updating package cache                       217/217
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           1/1

A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment solaris-1 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.

Updating package cache                           1/1

---------------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://www.oracle.com/pls/topic/lookup?ctx=solaris11&id=SERNS
---------------------------------------------------------------------------


¾     Reboot the system and compare the versions once again

root@SolA:~# pkg info entire
          Name: entire
       Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.3.7.5.0).
   Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.  For
                more information see:
                https://support.oracle.com/rs?type=doc&id=2045311.1
      Category: Meta Packages/Incorporations
         State: Installed
     Publisher: solaris
       Version: 0.5.11 (Oracle Solaris 11.3.7.5.0)
 Build Release: 5.11
        Branch: 0.175.3.7.0.5.0
Packaging Date: April 13, 2016 01:57:22 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.7.0.5.0:20160413T135722Z
root@SolA:~#

root@SolA:~# pkg info -r entire
          Name: entire
       Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.3.7.5.0).
   Description: This package constrains system package versions to the same
                build.  WARNING: Proper system update and correct package
                selection depend on the presence of this incorporation.
                Removing this package will result in an unsupported system.  For
                more information see:
                https://support.oracle.com/rs?type=doc&id=2045311.1
      Category: Meta Packages/Incorporations
         State: Installed
     Publisher: solaris
       Version: 0.5.11 (Oracle Solaris 11.3.7.5.0)
 Build Release: 5.11
        Branch: 0.175.3.7.0.5.0
Packaging Date: April 13, 2016 01:57:22 PM
          Size: 5.46 kB
          FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.7.0.5.0:20160413T135722Z
root@SolA:~#



As you can see above, the OS version installed and the Repo versions are matching.

Please proceed to Part 2: http://solariscat.blogspot.com/2016/05/migration-of-native-solaris-zone-ngz-to_18.html

Actual Steps for converting the Native Zone to a Kernel Zone is covered here

No comments:

Post a Comment