Solaris 11 for SPARC, as well as previous versions of Solaris, include a neat little technology called Logical Domains (which has been rebranded as Oracle VM for SPARC). Logical Domains are implemented in the SPARC processor.
This series is going to focus on the basic administration of a Logical Domains environment using the basic command line tools of the Solaris 11 Operating System. In Part One we will go over what it takes to configure a Solaris 11 installation to be a Logical Domains hypervisor. In Part Two we will document defining and configuring Logical Domains. In Part Three we will discuss connecting to the Logical Domain in order to perform an installation of the operating system.
A little bit about my environment. I am using a Oracle Sun SPARC T4-1 which has a single socket eight-core 2.85GHz SPARC T4 Processor. Each processor core on this model has 8 threads, giving us a total of 64 processor threads. Lets take a look at our environment shall we?
Check Operating System Version
This is the released version of Solaris 11 for SPARC, which of course means it can only be used on the SPARC processor architecture.
uname -a
SunOS t4 5.11 11.0 sun4v sparc sun4vView Logical Domains Software Version
The release version of Solaris 11 for SPARC comes with Logical Domains 2.1. If you have purchased support and configured access to the repositories then pkg update will give you access to Logical Domains 2.2.
ldm -V
Logical Domains Manager (v 2.1.0.4)
Hypervisor control protocol v 1.7
Using Hypervisor MD v 1.3
System PROM:
Hostconfig v. 1.1.1 @(#)Hostconfig 1.1.1 2011/08/03 23:04
Hypervisor v. 1.10.1. @(#)Hypervisor 1.10.1.b 2011/09/12 09:56
OpenBoot v. 4.33.1 @(#)OpenBoot 4.33.1 2011/08/03 10:34View Existing Logical Domains
Here we see the specifics of our physical machine. The primary domain has all of the resources and before we will be able to allocate resources to other Logical domains we will need to remove some from the primary domain.
ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-c-- UART 64 32256M 0.0% 4d 23h 30mCreate Services for Control Domain
Here we are creating the Virtual Console Concentrator service. This is what allows us to connect to the console of the domains for installation and reconfiguration.
ldm add-vcc port-range=5000-5100 primary-vcc0 primaryThis is the Virtual Disk Server service. This is used to hand out disk devices to the domains.
ldm add-vds primary-vds0 primaryThis is the Virtual Switch service. It provides networking to the domains.
ldm add-vsw net-dev=net0 primary-vsw0 primaryLets review our changes.
ldm list-services primary
VCC
NAME LDOM PORT-RANGE
primary-vcc0 primary 5000-5100
VSW
NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID PVID VID MTU MODE INTER-VNET-LINK
primary-vsw0 primary 00:14:4f:fb:bd:bd net0 0 switch@0 1 1 1500 on
VDS
NAME LDOM VOLUME OPTIONS MPGROUP DEVICE
primary-vds0 primaryConfigure the Control Domain
Look at the existing domains. By default we have primary, which is essentially the host operating system.
ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-c-- UART 64 32256M 0.0% 5d 53mReduce the number of vCPU available to the control domain.
ldm set-vcpu 4 primaryReduce the amount of RAM available to the control domain.
ldm set-memory 4G primaryReconfigure primary domain to reflect changes.
ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the primary
domain reboots, at which time the new configuration for the primary domain
will also take effect.Create alternate configuration file.
ldm add-config primary-config
ldm list-config
factory-default
primary-config [current]Enable the Virtual Network Terminal Server Daemon.
svcadm enable vntsd
svcs | grep vntsd
online 16:40:01 svc:/ldoms/vntsd:defaultReboot.
rebootAfter a reboot, the primary domain reflects the new memory and vCPU configuration.
ldm list
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- UART 4 4G 0.4% 1h 4mCreate Install Media Repository
Create a ZFS file system to hold the iso files. The -p will create the parent file system /rpool/ldoms as well.
zfs create -p rpool/ldoms/isoAdd the Solaris 11 and Solaris 10 iso files to the Virtual Disk Server service.
ldm add-vdsdev /rpool/ldoms/iso/oracle-solaris-11-11.11-sparc.iso solaris11_media@primary-vds0
ldm add-vdsdev /rpool/ldoms/iso/oracle-solaris-10-8.11-sparc.iso solaris10_media@primary-vds0Now we have a working environments to support the Logical Domains that we will be adding tomorrow in part two.