|Oracle® VM Server User's Guide
Part Number E10898-04
This Chapter contains an overview of Oracle VM Server and the underlying hypervisor, the components of virtual machines and domains, and gets you started with the tools to create and manage guests. This Chapter contains:
Oracle VM Server includes an updated version of the underlying Xen™ hypervisor technology, and the Oracle VM Agent. It also includes a Linux kernel with support for a broad array of devices, file systems, and software RAID volume management. The Linux kernel is run as dom0 to manage one or more domU virtual machines, each of which could be Linux or Microsoft Windows. Figure 2-1, "Oracle VM Server" shows the components of Oracle VM Server.
Figure 2-1 Oracle VM Server
Oracle VM Server is designed so that the hypervisor (or monitor, or Virtual Machine Manager) is the only fully privileged entity in the system, and has an extremely small footprint. It controls only the most basic resources of the system, including CPU and memory usage, privilege checks, and hardware interrupts.
The terms domain, guest and virtual machine are often used interchangeably, but they have subtle differences. A domain is a configurable set of resources, including memory, virtual CPUs, network devices and disk devices, in which virtual machines run. A domain is granted virtual resources and can be started, stopped and restarted independently. A guest is a virtualized operating system running within a domain. A guest operating system may be paravirtualized or hardware virtualized. Multiple guests can run on the same Oracle VM Server. A virtual machine is a guest operating system and its associated application software.
Oracle VM Server guest operating systems may run in one of two modes, paravirtualized or hardware virtualized. In paravirtualized mode, the kernel of the guest operating system is recompiled to be made aware of the virtual environment. This allows the paravirtualized guest to run at near native speed, since most memory, disk and network accesses are optimized for maximum performance.
Figure 2-2 Virtual Machine Architecture
If support for hardware virtualization is available (either Intel VT or AMD-V), the guest operating system may run completely unmodified. This hardware virtualized guest is carefully monitored and trapped by Oracle VM Server when any instruction is executed which would violate the isolation with other guests or dom0. In the current implementation, there may be performance penalty for certain types of guests and access types, but hardware virtualization also allows many Microsoft Windows™ operating systems and legacy operating systems to run unmodified.
Most of the responsibility of hardware detection in a Oracle VM Server environment is passed to the management domain, referred to as domain zero (or dom0). The dom0 kernel is actually a complete Linux kernel with support for a broad array of devices, file systems, and software RAID and volume management. In Oracle VM Server, the dom0 is tasked with providing access to much of the system hardware, creating, destroying and controlling guest operating systems, and presenting those guests with a set of common virtual hardware.
Domains other than the management domain (dom0) are referred to as domU. These domains are unprivileged domains with no direct access to the hardware or device drivers. Each domU is started by Oracle VM Server in dom0.
Oracle VM Server uses paravirtualization, not binary translation. That is, the source code of the operating system is modified to support virtualization.
Binary translation is neither faster, nor slower, than hardware virtualization. Whether binary translation or hardware virtualization is more efficient than paravirtualization depends on the implementation of the binary translation and hardware virtualization, and the applications and operating system running as a guest on the system.
Binary translation and hardware virtualization, is required if you are using an operating system where it is impractical to do paravirtualization, for example, if the source code is not available such as for Microsoft Windows™, or the user base is not large enough to sustain a paravirtualization effort such as for the Linux 2.4.x kernel. In many situations, paravirtualization may perform better than binary translation as operations that cause a hypervisor interaction can be grouped and reused, rather than each event requiring its own hypervisor interaction.
Create virtual machines (guests) using the Oracle VM Server virt-install command-line tool, or using a Virtual Machine Template in Oracle VM Manager. See Chapter 4, "Creating a Guest Virtual Machine" and the Oracle VM Manager User's Guide for more information.
Manage domains using the Oracle VM Server xm command-line tool, or using Oracle VM Manager. See Chapter 5, "Domain Monitoring and Administration" and the Oracle VM Manager User's Guide for more information.
Migrate domains using the
xm migrate command. See Chapter 6, "Domain Live Migration" for more information.
You can configure Oracle VM Server using the configuration file. The configuration file options are available in the /etc/xen/xend-config.sxp file. When you make changes to this file, you must restart Oracle VM Server for the changes to take effect. See Appendix B, "Oracle VM Server Configuration File" for more information on the configuration options.
You can create new Oracle VM Server repositories for storage of ISOs, guest, and live migration. See Chapter 7, "Managing Oracle VM Server Repositories" for more information.