2013/04/25

Migration : From Solaris 10 Sparse Local Zone to Solaris 11 Local Zone

Let's described the migration process of Solaris 10 Sparse Local Zone to Solaris 11 Local Zone in 09 easy steps. But before delving into the subject, it's important to remind the following. 
In Solaris 10, we had 02 types of zones/containers that we could create, the first (and the default type) is "Sparse root zone" and the second is "Whole root zone". 
The main difference between these 02 types was that with "sparse root zone", you shared part of the root filesystem with the global zone while with  "whole root zone", every Solaris packages are copied to the local zone private filesystem. In Solaris 11, this distinction goes away (more details about Comparison between Solaris 11 Zone and Solaris 10 Zone can be found here). What we address below is the migration of a sparse Solaris 10 zone from Solaris 10 Global Zone to Solaris 11 Global Zone.

1. Let’s Print the existing zone's configuration. We will need this information to recreate the zone on the destination system:




2. The next step is to stop this source local zone and bring it to a state where it can be archived.
The reason for stopping the zone is that we should not archive a running zone because the application or system data within the zone might be captured in an inconsistent state.Also,  the zone is a sparse root zone that has inherit-pkg-dir settings, For that reason we need to bring it in the state "ready" ( that'll enable the archiving of  inherited directories).



3. Now, we should copy the /var/sadm/system/admin/INST_RELEASE from the source global zone to the source local zone, otherwise we may face the  Bug 15751945 (with an error stating that The image release version must be 10 (got unknown), the zone is not usable on this system).




4. Let’s archived the local zone (zonepath: /zpool_slz/slz).  For that we’ll create a gzip compressed cpio archive named Source_local_zone.cpio.gz (The local zone will still be named Source_local_zone on the target system)




N.B: the –c option of cpio is to avoid the error similar to “UID or GID are too large to fit in the selected header format”



5. Transfer the archive to the target Oracle Solaris 11.1 system, using any file transfer mechanism to copy the file, we’ll use sftp here.




6. On the target systems (DEST_GLOBAL_ZONE), create the target zone. Below, we're using a configuration file that's sourced for the creation of the zone.
Note – The zone's brand must be solaris10 and the zone cannot use any inherit-pkg-dir settings, even if the original zone was configured as a sparse root zone.




7. Display the new local zone's configuration:




8. Install the zone from the archive that was created on the source system, with the archive transferred into the /zpool_slz directory on the destination system




N.B: Again, you might get an error here specifying that “The image release version must be 10 (got unknown)” if you haven’t copied the /var/sadm/system/admin/INST_RELEASE file in the source local zone as specified above.



9. Once the zone installation has completed successfully, the zone is ready to boot.




Migration Completed....

3 comments:

  1. Hi Steve, Can you publish one for a p-v and a v-v migration of zones.

    ReplyDelete
    Replies
    1. hello vineeth, this post is already about a v2v migration of zones (Solaris 10 --> Solaris 11), i'll try to publish a post about Zones p2v in the upcoming months.

      Delete
  2. it would be super helpful if you could show how to setup a vnic for the zone, when you are using lacp and trunking on the physical nics

    ReplyDelete