There is increased adoption
of Oracle Solaris
11, and many customers are deploying it on systems that previously ran Solaris 10.
That includes older T1-processor based systems like T1000 and T2000.
Even though they are old (from 2005) and don't have the performance
of current SPARC servers, they are still functional, stable servers
that customers continue to operate.
One reason to install Solaris
11 on them is that older machines are attractive for testing OS upgrades before updating current, production systems.
Normally this does not present a challenge, because Solaris
11 runs on any T-series or M-series SPARC server.
One scenario adds a complication: running Solaris
11 in a control domain on a T1000 or T2000 hosting logical domains.
Solaris
11 pre-installed Oracle VM Server for SPARC incompatible with T1
Unlike Solaris 10, Solaris
11 comes with Oracle VM Server for SPARC preinstalled.
The ldomsmanager package contains the logical domains manager for Oracle VM Server for SPARC 2.2,
which requires a SPARC T2, T2+, T3, or T4 server.
It does not work with T1-processor systems, which are only supported by LDoms Manager 1.2 and earlier.
The following screenshot shows what happens (bold font)
if you try to use Oracle VM Server for SPARC 2.x commands in a Solaris
11 control domain.
The commands were issued in a control domain on a T2000 that previously ran Solaris 10.
We also display the version
of the logical domains manager installed in Solaris 11:
root@t2000 psrinfo -vp
The physical processor has 4 virtual processors (0-3)
UltraSPARC-T1 (chipid 0, clock 1200 MHz)
# prtconf|grep T
SUNW,Sun-Fire-T200
# ldm -V
Failed to connect to logical domain manager: Connection refused
# pkg info ldomsmanager
Name: system/ldoms/ldomsmanager
Summary: Logical Domains Manager
Description: LDoms Manager - Virtualization for SPARC T-Series
Category: System/Virtualization
State: Installed
Publisher: solaris
Version: 2.2.0.0
Build Release: 5.
11
Branch: 0.175.0.8.0.3.0
Packaging Date: May 25, 2012 10:20:48 PM
Size: 2.86 MB
FMRI: pkg://solaris/system/ldoms/
[email protected],5.11-0.175.0.8.0.3.0:20120525T222048Z
The 2.2 version
of the logical domains manager will have to be removed, and 1.2 installed, in order to use this as a control domain.
Preparing to change - create a new boot environment
Before doing anything else, lets create a new boot environment:
# beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
solaris NR / 2.14G static 2012-09-25 10:32
# beadm create solaris-1
# beadm activate solaris-1
# beadm list
BE Active Mountpoint Space Policy Created
-- ------ ---------- ----- ------ -------
solaris N / 4.82M static 2012-09-25 10:32
solaris-1 R - 2.14G static 2012-09-29 11:40
# init 0
Normally an init 6 to reboot would have been sufficient, but in the next step I reset the system anyway
in order to put the system in factory default mode for a "clean" domain configuration.
Preparing to change - reset to factory default
There was a leftover domain configuration on the T2000, so I reset it to the factory install state.
Since the ldm command is't working yet, it can't be done from the control domain, so I did it by logging onto to the service processor:
$ ssh -X admin@t2000-sc
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Oracle Advanced Lights Out Manager CMT v1.7.9
Please login:
admin
Please Enter password: ********
sc> showhost
Sun-Fire-T2000 System Firmware 6.7.10 2010/07/14 16:35
Host flash versions:
OBP 4.30.4.b 2010/07/09 13:48
Hypervisor 1.7.3.c 2010/07/09 15:14
POST 4.30.4.b 2010/07/09 14:24
sc> bootmode config="factory-default"
sc> poweroff
Are you sure you want to power off the system [y/n]? y
SC Alert: SC Request to Power Off Host.
SC Alert: Host system has shut down.
sc> poweron
SC Alert: Host System has Reset
At this point I rebooted into the new Solaris
11 boot environment, and Solaris commands showed
it was running on the factory default configuration
of a single domain owning all 32 CPUs and 32GB
of RAM
(that's what it looked like in 2005.)
# psrinfo -vp
The physical processor has 8 cores and 32 virtual processors (0-31)
The core has 4 virtual processors (0-3)
The core has 4 virtual processors (4-7)
The core has 4 virtual processors (8-11)
The core has 4 virtual processors (12-15)
The core has 4 virtual processors (16-19)
The core has 4 virtual processors (20-23)
The core has 4 virtual processors (24-27)
The core has 4 virtual processors (28-31)
UltraSPARC-T1 (chipid 0, clock 1200 MHz)
# prtconf|grep Mem
Memory size: 32640 Megabytes
Note that the older processor has 4 virtual CPUs per core, while current processors have 8 per core.
Remove ldomsmanager 2.2 and install the 1.2 version
The Solaris
11 pkg command is now used to remove the 2.2 version that shipped with Solaris 11:
# pkg uninstall ldomsmanager
Packages to remove: 1
Create boot environment: No
Create backup boot environment: No
Services to change: 2
PHASE ACTIONS
Removal Phase 130/130
PHASE ITEMS
Package State Update Phase 1/1
Package Cache Update Phase 1/1
Image State Update Phase 2/2
Finally, LDoms 1.2 installed via its install script, the same way it was done years ago:
# unzip LDoms-1_2-Integration-10.zip
# cd LDoms-1_2-Integration-10/Install/
# ./install-ldm
Welcome to the LDoms installer.
You are about to install the Logical Domains Manager package that will
enable you to create, destroy and control other domains on your
system. Given the capabilities
of the LDoms domain manager, you can
now change the security configuration
of this Solaris instance using
the Solaris Security Toolkit.
...
... normal install messages omitted
...
The Solaris Security Toolkit applies to Solaris 10, and cannot be used in Solaris
11
(in which several things hardened by the Toolkit are already hardened by default),
so answer b in the choice below:
You are about to install the Logical Domains Manager package that will
enable you to create, destroy and control other domains on your
system. Given the capabilities
of the LDoms domain manager, you can
now change the security configuration
of this Solaris instance using
the Solaris Security Toolkit.
Select a security profile from this list:
a) Hardened Solaris configuration for LDoms (recommended)
b) Standard Solaris configuration
c) Your custom-defined Solaris security configuration profile
Enter a, b, or c [a]: b
... other install messages omitted for brevity...
After install I ensure that the necessary services are enabled, and verify the version
of the installed LDoms Manager:
# svcs ldmd
STATE STIME FMRI
online 22:00:36 svc:/ldoms/ldmd:default
# svcs vntsd
STATE STIME FMRI
disabled Aug_19 svc:/ldoms/vntsd:default
# ldm -V
Logical Domain Manager (v 1.2-debug)
Hypervisor control protocol v 1.3
Using Hypervisor MD v 1.1
System PROM:
Hypervisor v. 1.7.3. @(#)Hypervisor 1.7.3.c 2010/07/09 15:14\015
OpenBoot v. 4.30.4. @(#)OBP 4.30.4.b 2010/07/09 13:48
Set up control domain and domain services
At this point we have a functioning LDoms 1.2 environment that can be configured in the usual fashion.
One difference is that LDoms 1.2 behavior had 'delayed configuration mode (as expected) during initial
configuration before rebooting the control domain.
Another minor difference with a Solaris
11 control domain is that you define virtual switches using the 'vanity name'
of the network
interface, rather than the hardware driver name as in Solaris 10.
# ldm list
------------------------------------------------------------------------------
Notice: the LDom Manager is running in configuration mode. Configuration and
resource information is displayed for the configuration under construction;
not the current active configuration. The configuration being constructed
will only take effect after it is downloaded to the system controller and
the host is reset.
------------------------------------------------------------------------------
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-c-- SP 32 32640M 3.2% 4d 2h 50m
# ldm add-vdiskserver primary-vds0 primary
# ldm add-vconscon port-range=5000-5100 primary-vcc0 primary
# ldm add-vswitch net-dev=net0 primary-vsw0 primary
# ldm set-mau 2 primary
# ldm set-vcpu 8 primary
# ldm set-memory 4g primary
# ldm add-config initial
# ldm list-spconfig
factory-default
initial [current]
That's it, really. After reboot, we are ready to install guest domains.
Summary - new wine in old bottles
This example shows that (new) Solaris
11 can be installed on (old) T2000 servers and used as a control domain.
The main activity is to remove the preinstalled Oracle VM Server for 2.2
and install Logical Domains 1.2 - the last version
of LDoms to support T1-processor systems.
I tested Solaris 10 and Solaris
11 guest domains running on this server and they worked without any surprises.
This is a viable way to get further into Solaris
11 adoption, even on older T-series equipment.