OpenSolaris

You are not signed in. Sign in or register.

OpenSolaris Community: Xen

View the leaders for this community
Community Observers

Endorsed projects

Welcome to the OpenSolaris Xen community!

The Xen project is an open-source hypervisor developed by the Xen team at the University of Cambridge Computer Laboratory.

This community is intended to focus specifically on the OpenSolaris xVM project which is based on the work of the Xen community, and is integrated into OpenSolaris.

Overview

Introduction to the xVM Hypervisor

The machine monitor in the xVM hypervisor can securely execute multiple virtual machines simultaneously, each running its own operating system, on a single physical system. Each virtual machine instance is called a domain. There are two kinds of domains. The control domain is called domain0, or dom0. A guest OS, or unprivileged domain, is called a domainU or domU. Unlike virtualization using zones, each domain runs a full instance of an operating system.

A hypervisor is also known as a Virtual Machine Monitor (VMM).

How Hypervisors Work

A hypervisor is a software system that partitions a single physical machine into multiple virtual machines, to provide server consolidation and utility computing. Existing applications and binaries run unmodified.

The hypervisor controls the MMU, CPU scheduling, and interrupt controller, presenting a virtual machine to guests.

The hypervisor separates the software from the hardware by forming a layer between the software running in the virtual machine and the hardware. This separation enables the hypervisor to control how guest operating systems running inside a virtual machine use hardware resources. A hypervisor provides a uniform view of underlying hardware. Machines from different vendors with different I/O subsystems appear the same, which means that virtual machines can run on any available computer. Thus, administrators can view hardware as a pool of resources that can run arbitrary services on demand. Because the hypervisor also encapsulates a virtual machine's software state, the hypervisor layer can map and remap virtual machines to available hardware resources at any time and also live migrate virtual machines across computers. These capabilities can also be used for load balancing among a collection of machines, dealing with hardware failures, and scaling systems. When a computer fails and must go offline or when a new machine comes online, the hypervisor layer can simply remap virtual machines accordingly. Virtual machines are also easy to replicate, which lets administrators bring new services online as needed.

Containment means that administrators can suspend virtual machines and resume them at any time, or checkpoint them and roll them back to a previous execution state. With this general-purpose undo capability, systems can more easily recover from crashes or configuration errors. Containment also supports a very general mobility model. Users can copy a suspended virtual machine over a network or store and transport it on removable media. The hypervisor can also provide total mediation of all interactions between the virtual machine and underlying hardware, thus allowing strong isolation between virtual machines and supporting the multiplexing of many virtual machines on a single hardware platform. The hypervisor can then consolidate a collection of virtual machines with low resources onto a single computer, thereby lowering hardware costs and space requirements. Strong isolation is also valuable for reliability and security. Applications that previously ran together on one machine can now be separated on different virtual machines. If one application experiences a fault, the other applications are isolated from this occurrence and will not be affected. Further, if a virtual machine is compromised, the incident is contained to only that compromised virtual machine.

Resource Virtualization

As a key component of virtual machines, the hypervisor provides a layer between software environments and physical hardware that is programmable and transparent to the software above it, while making efficient use of the hardware below it.

Virtualization provides a way to bypass interoperability constraints. Virtualizing a system or component such as a processor, memory, or an I/O device at a given abstraction level maps its interface and visible resources onto the interface and resources of an underlying, possibly different, real system. Consequently, the real system appears as a different virtual system or even as multiple virtual systems.

Virtualization Types

There are two basic types of virtualization, full virtualization and paravirtualization. The hypervisor supports both models.

In a full virtualization, the operating system is completely unaware that it is running in a virtualized environment. In the more lightweight paravirtualization, the operating system is both aware of the virtualization layer and modified to support it, which results in higher performance.

The paravirtualized domU operating system is ported to run on top of the hypervisor, and uses virtual network, disk, and console devices.

Since dom0 must work closely with the hypervisor layer, dom0 is always paravirtualized. DomUs can be either paravirtualized or fully virtualized, and a system can have both varieties running simultaneously.

A hardware virtual machine (HVM) domU runs an unmodified operating system. These hardware-assisted virtual machines take advantage of Intel-VT or AMD Secure Virtual Machine (SVM) processors.

About Domains

Dom0 and domU are separate entities. Other than by login, you cannot access a domU from dom0. A dom0 should be reserved for system management work associated with running a hypervisor. This means, for example, that users should not have logins on dom0. Dom0 provides shared access to a physical network interface to the guest domains, which have no direct access to physical devices.

A Solaris domU works like a normal Solaris Operating System. All of the usual tools are available.

Announcements

18 May 2009 xvm 3.4.0-based repository created
02 Apr 2009 FLAG DAY: vdiskadm translate
30 Mar 2009 FLAG DAY: vdiskadm import/export/convert
10 Mar 2009 FLAG DAY: new qemu.hg MQ gate
12 Feb 2009 Flag day: xVM 3.3 gate on opensolaris.org

Blogs

Jeff Ferreira - 2.1 Quick Start Guides

Jun 30, 5:35 PM

In the 2.1 wiki, you'll find something a little different in the installation section - the Quick Start Guides for Solaris and Red Hat (RHEL 5.0) systems. These guides take you through the Sun xVM ...

Jeff Ferreira - Integrating HA Into Your xVM Ops Center Installation

Jun 30, 12:13 PM

If you're considering implementing the high-availability (HA) solution in your Sun xVM Ops Center installation, there are a couple of things to keep in mind. First, it's important to know that the HA ...

Laura Hartman - Sun xVM Ops Center and Windows

Jun 30, 10:42 AM

You probably know that you can use Sun xVM Ops Center to monitor your Solaris and Linux systems, but did you know that you can also manage and monitor your systems running the Windows OS? You might ...

Owen Allen - Upgrading from 2.0 to 2.1

Jun 18, 11:46 AM

I know that a lot of the people currently using Sun xVM Ops Center 2.0 have been eagerly awaiting an upgrade path to go to version 2.1. Well, the wait is over: The update bundle is now available. You ...

Owen Allen - Features in the 2.5 release

Jun 8, 8:29 PM

Steve Wilson has had a few blog posts recently about features that will be part of Sun xVM Ops Center 2.5. Odds are that you've already seen them, but I thought I'd highlight a couple. The most ...