I’ve finally completed my first successful experiment with Solaris 8 Migration Assistant (S8MA) today – a new product from Sun which allows you to run Solaris 8 branded zones. It’s a fully and officially supported solution (for an extra price), but you can download the free 90-day trial to play with it and understand how really cool it is.
Why use Solaris 8 zones?
First of all, just a few words about the niche for this product. Many companies are rather conservative about their Solaris upgrades. Most systems are still running Solaris 8, if not something older. Quite often this is also dictated by third-party software dependencies – products which were bought and configured for Solaris 8, which are now so tightly integrated that there isn’t an easy way to migrated them into Solaris 10. Such systems are doomed for slow but very expensive death. Expensive, because with every year the hardware support for servers capable of running Solaris 8 raises again and again.
That’s where the Solaris 8 zones come in. It’s very easy, really: you create a flar-copy fo your existing physical server under Solaris 8, then create a Solaris 8 zone, import your flar-archive and get a virtual copy of your Solaris 8 environment, with all your processes, programs and startup scripts.
To make things easier, it’s even possible to configure your hostid in Solaris 8 zone to match the one of the physical Solaris 8 system, this way no programs running in the zone will even guess that they’ve been virtualized.
Who knows, maybe I’ll tell you more about this technology some other day, but for now – just the simplest list of actions and commands for your S8MA proof of concept.
Preparation: Solaris 10u4 server an S8MA packages
1. Find and prepare a sparc box with Solaris 10u4. It is important to have the latest Solaris 10 update. Preparations are usually limited to applying a kernel patch, 127111-01 in my case.
2. Download the Solaris 8 Migration Assitant (current version is 1.0) from this location: Solaris 8 Migration Assistant. The 3 packages in archive are dead easy to install using standard pkgadd.
Here are the packages you’ll get:
SUNWs8brandr Solaris 8 Migration Assistant: solaris8 brand support (Root)
SUNWs8brandu Solaris 8 Migration Assistant: solaris8 brand support (Usr)
SUNWs8p2v Solaris 8 p2v Tool
Make a snapshot of your old Solaris 8 server
You need to create a flar-archive of your Solaris 8 system.
Log onto your Solaris 8 box, and run the command. In this and all the following examples, solaris8 is nothing but an arbitrary name I’ve chosen for my zone. You might as well call it anything you like.
solaris# flarcreate -S -n solaris8 solaris8.flar
Set up a Solaris 8 zone
Here’s how you do it:
solaris# zonecfg -z solaris8 solaris8: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:solaris8-system> create -t SUNWsolaris8 zonecfg:solaris8> set zonepath=/export/solaris8 zonecfg:solaris8> add net zonecfg:solaris8:net> set address=172.21.7.155/24 zonecfg:solaris8:net> set physical=ce0 zonecfg:solaris8:net> end zonecfg:solaris8> commit zonecfg:solaris8> exit
Naturally, your IP and network device name will be different. As of now, our zone is fully configured, but not yet installed.
Install Solaris 8 zone using flar-archive
solaris# zoneadm -z solaris8 install -u -a /export/solaris8.flar
Log File: /var/tmp/solaris8.install.13597.log
Installing: This may take several minutes…
Postprocessing: This may take several minutes…
WARNING: zone did not finish booting.
Result: Installation completed successfully.
Log File: /export/solaris8/root/var/log/solaris8.install.13597.log
In my case the Solaris 8 zone got stuck on sys-unconfig, and so I had to connect to the virtual console of the zone to help it move on:
Here’s how you connect to a zone’s console:
solaris# zlogin -C solaris8
That’s it! The rest was easy – just a few minutes of configuring the network parameters and DNS/NIS settings. Finally, I was able to ssh into the new zone and run uname:
solaris8 #uname -a SunOS solaris8 5.8 Generic_Virtual sun4u sparc SUNW,Sun-Fire-V490
I liked Solaris 8 Migration Assistant very much. It’s an incredibly quick and easy way to have a whole bunch of Solaris 8 systems virtualized and running under on one of the most advanced servers with the most advanced OS – Solaris 10u4.