eSTEP: Virtualization@Oracle (Part 2: Oracle VM Server for SPARC)
By uwes on Jan 21, 2012
After the long introductory article from December to our series on virtualization at Oracle (we assumed, that due to the Christmas break, you might have had a bit more time to read the article) we will now cover
Oracle VM Server for SPARC
Oracle VM Server for SPARC references the technology formerly known by its technical name “Logical Domains”.
It is a thin Type-1 Hypervisor and performs Hardware Virtualization on the T-Series systems and uses paravirtualization. As a result Oracle VM for SPARC provides a technology to run multiple Logical Domains on one System. Each domain runs its own Operating System and is independent from the other Logical Domains.
To put it into perspective, let’s reuse the image from the first article:
We can see, that there is a similar thing called Oracle VM Server for x86, which will be covered in the next episode. Some of the general remarks here will also apply to Oracle VM Server for x86, so, even if you’re only interested in the x86-side of things, it’s a good idea to stay with us for this episode.
In looking back at the definitions of a thin Type-1 hypervisor, it’s clear, that there needs to be some explanation here, on how the management and setup of a so-called Logical Domain can be achieved. We know, that we need an external entity to manage the hypervisor, as that is one of the characteristics of “thin”. The other characteristic of the Oracle VM Server for SPARC is “Type-1”, which implies, that the hypervisor runs directly on the hardware. Let’s first look at the
Some/many of you might have already come across a T-Series system, as those started years ago with the T1000 system going up to the actual T4-4 system. All share the same hypervisor, but it might be, that you never really dealt with, saw or experienced it. That’s due to the fact, that in the T-Series systems, the hypervisor is part of the system itself, as it is “hidden” in the OBP (Open Boot PROM), which in turn can roughly be compared to the so-called BIOS on x86-based systems. So, contrary to most hypervisors on x86-based systems, here we do not need to install additional software. Nevertheless, it’s a good idea to check for the version of the OBP, as there were changes and updates to it, adding more and new features. So, bluntly speaking, if you are using a T-Series system, and never subdivided it into Logical Domains, you’re still running in a big Logical Domain that simply uses all the available hardware. That can be used as proof for the maturity and stability of the hypervisor in use in the T-Series systems.
I mentioned, that a thin hypervisor needs an external entity to manage the hypervisor, as the management is not part of the hypervisor itself. As a T-Series system should also be able to be used without a large external management framework (but it can also be managed by such a large external environment, we will discuss it in the August Edition of the eSTEP newsletter), the management will be done by a so-called guest on top of the hypervisor. We’ve seen in the section above, that every OS running on a T-Series system, runs on top of a hypervisor, as the hypervisor is part of the OBP and therefore every OS is a guest on top of the hypervisor in a T-Series system. So, in order to create the management system, we only need to start the relevant control daemons in the already running OS, assign specific virtual CPUs to be used for this “control domain”, configure the virtual network and storage devices, and reboot. Once that’s done, the non-used/no-longer-used/freed hardware can be used to create additional Logical Domains. The whole process is described in detail in the documentation available at: http://www.oracle.com/technetwork/documentation/vm-sparc-194287.html therefore we’ll omit the detailed steps here.
Oracle VM Server for SPARC performs the subdividing or partitioning of a system on logical boundaries like a Thread in a Core in a CPU and on dividing the IO-resources through IO-services or assigning IO-devices. Therefore it is possible to have more Logical Domains than physical devices, which leads to sharing of devices between Logical Domains. Specifically this can or will happen with the network interfaces or the boot disks or the storage HBAs. To manage these things, there’s the possibility to create specific I/O domains. There also is the possibility to create these domains in a redundant, highly available setup. Another thing to keep in mind is, that with sharing a single physical device for different separate domains these domains can influence the throughput of the underlying single physical device. Therefore techniques like the Network virtualization features in Oracle Solaris 11 help in defining quality of service attributes to specific domains.
Types of Domains
Based on the comments above we see that there are different types of domains. The general understanding of these different types is important to get the idea of how Oracle VM Server for SPARC works.
Control Domain: This domain runs the Logical Domain Manager and allows you to create and manage other Logical Domains and allocate virtual resources to other domains. There is always only one control domain per server, named primary.
Service Domain: This domain provides virtual devices services to other domains, such as a virtual network switch, a virtual console concentrator or a virtual disk server. By creating more than one Service Domain one can create IO-redundancy. At least one Service Domain is required and in many cases with basic setups, the Control Domain is also the Service Domain.
I/O-Domain: This is a domain that has direct ownership of and direct access to physical I/O devices, such as a network card. This can also be part of the Control Domain.
Guest Domain: This domain is managed by the Control Domain and uses services from the I/O and/or Service Domains.
The following image provides a general picture of Oracle VM Server for SPARC.
Things to consider
From the comments above we can see, that building and architecting virtualized environments might become complex and therefore careful planning of new projects guarantees long term best usage of the created architecture.
Still, there’s another big point to keep in mind. With Moore’s Law and the fact, that software needs don’t grow as fast as hardware gets faster we see many opportunities to consolidate older environments onto less but more powerful new systems. With the advent of the T4-based systems Oracle now has the right solution for these consolidation tasks.
No additional software needed
No additional licenses needed
No overhead due to hypervisor
Fully supported by Oracle Solaris
Physical-to-virtual migration/conversion tools available
Fine-grained subdivision of multi-CPU and multi-CORE systems (up to 128 logical domains per physical system possible)
Cold, warm and hot (live) migration possible
Accepted as licensing-limit/boundary by Oracle
Support for and supported by Oracle Solaris Cluster
Oracle VM Server for SPARC is a proven, mature, stable virtualization technology on the T-Series systems. With the advent of the T4-based systems, now even the “performance” of the CPU is right to compete even with x86-based virtualization environments, were applicable. Oracle VM Server for SPARC is fully integrated and therefore easy to deploy, manage and use.
With that we'd like to close this article on Oracle VM Server for SPARC and hope we've kept you eager to read the ones coming in the following newsletters.
The series will continue as follows (tentative):
February 2012: Oracle VM Server for x86 (Matthias Pfützner)
March 2012: Oracle Solaris Zones and Linux Containers (Detlef Drewanz)
April 2012: Resource Management as Enabling Technology for Virtualization (Detlef Drewanz)
May 2012: Network Virtualization (Detlef Drewanz)
June 2012: Oracle VM VirtualBox (Detlef Drewanz)
July 2012: Oracle Virtual Desktop Infrastructure (VDI) (Matthias Pfützner)
August 2012: OpsCenter as Management Tool for Virtualization (Matthias Pfützner)
If you have questions, feel free to contact me: Matthias Pfützner
|<<< Part 1: Overview||>>> Part 3: Oracle VM Server for x86|