|Oracle® VM User's Guide
Release 3.0 for x86
Part Number E18549-03
|PDF · Mobi · ePub|
This chapter contains introductory information about Oracle VM, its components, architecture, and deployment options, and contains:
Oracle VM is a platform that provides a fully equipped environment with all the latest benefits of virtualization technology. Oracle VM enables you to deploy operating systems and application software within a supported virtualization environment. The components of Oracle VM are shown in Figure 2-1, "Oracle VM Architecture".
Oracle VM Manager: Provides the command line interface or shell, as well as the graphical user interface (GUI). The GUI is an Application Development Framework (ADF) web application you use simply through your browser to manage Oracle VM Servers, virtual machines, and resources. Use Oracle VM Manager to:
Configure and manage Oracle VM Servers
Configure and manage networks
Configure and manage storage
Configure and manage resources such as virtual machine images, virtual machine templates, assemblies, and installation media
Create virtual machines from installation media, a virtual machine template, an assembly, or a virtual machine image
Manage virtual machines, including powering on and off, deleting, and live migrating
Import virtual machines created with Oracle VM or another solution for server virtualization
Oracle VM Server: A managed virtualization environment providing a lightweight, secure, server platform which runs virtual machines. At least one Oracle VM Server is required, but several are needed to take advantage of clustering. Oracle VM Server is based upon an updated version of the underlying Xen hypervisor technology, and includes 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, Oracle Solaris, or Microsoft Windows.
This section gives an overview of the Oracle VM Manager features used to manage Oracle VM Servers, virtual machines, storage repositories, networks, and resources. Oracle VM Manager provides the following main capabilities:
Manages the physical Oracle VM Servers and can, for example, reboot or rediscover the physical hardware.
Creates and configures server pools.
Creates and manages Oracle VM Server logical networks, for example, NIC port bonding, and configuring VLAN networks.
Creates and manages storage repositories.
Manages resources, including ISO files, virtual machine templates, virtual machine images, and virtual machine assemblies.
Manages the virtual machine life cycle. This includes creating virtual machines from either installation media or from templates, starting, logging in, shutting down, and deleting virtual machines.
Imports, clones and migrates virtual machines.
Performs load balancing of virtual machines in server pools.
Manages jobs in the Oracle VM environment.
Manages policies such as High Availability, Distributed Resource Scheduling, and Distributed Power Management.
An API is available for programmatic access to Oracle VM Manager, and therefore all the objects Oracle VM Manager has ownership of. See the Oracle VM Programmer's Guide for a description of an API for programmatic access to Oracle VM Manager functions.
This section contains definitions for the terms used throughout this Guide and terms used within Oracle VM.
The hypervisor present on each Oracle VM Server is an extremely small-footprint virtual machine manager and scheduler. It is designed so that it is the only fully privileged entity in the system. 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.
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 small-footprint 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.
Guest operating systems each have their own management domain called a "user domain", abbreviated to "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.
A storage repository is a central location where various resources to build virtual machines are stored. These resources include templates, ISO files, VM files and so on. Oracle VM Servers have shared access to storage repositories for optimized usage of available disk space in the environment, as well as easy reallocation of virtual machines in case a physical server should malfunction.
However, storage in Oracle VM is more than repositories: it also encompasses server pool file systems for clustered server pools, physical disks, or LUNs, in storage arrays, and local physical disks on the Oracle VM Servers. All these storage elements are used in various ways and managed centrally through Oracle VM Manager.
A server pool is a required entity in Oracle VM, even if it contains a single Oracle VM Server. In practice, several Oracle VM Servers will form a server pool, and an Oracle VM environment may contain one or several server pools. Server pools are typically clustered, although an unclustered server pool is theoretically possible.
Server pools have shared access to storage repositories and exchange and store vital cluster information in the server pool file system. In a server pool, a Master server is elected, which is responsible for centralized communication with the Oracle VM Manager. If necessary, any other member of the server pool can take over the Master role. Even in case of server failure, the server pool remains accessible at its virtual IP address, which all servers in the pool share.
Within a server pool, virtual machines can be live-migrated for load balancing purposes or for scheduled maintenance. If a pool member disappears for whatever reason, its virtual machines can be recovered and brought back up on another Oracle VM Server because all necessary resources are available on shared storage.
The networking infrastructure in the Oracle VM environment comprises connections between Oracle VM Servers, between Oracle VM Servers and Oracle VM Manager, between the Oracle VM Servers and their storage sub-systems, as well as communications among virtual machines deployed in the environment, and between virtual machines and external private or public networks. These networking connections can leverage features supported by Oracle VM, such as networked file systems, clustering, redundancy and load balancing, bridging, and support for Virtual LANs (VLANs).
The physical network is the collection of physical connections in Oracle VM Manager and all Oracle VM Servers, and the switches and routers that allow information to reach its destination. A logical network in Oracle VM is built on top of these physical connections. When you create an Oracle VM network, you map available network ports to a set of logical Ethernet networks. You perform this mapping in Oracle VM Manager.
In Oracle VM a network can perform one or more network functions. Oracle VM has the following network functions: server management, live migrate, cluster heartbeat, virtual machine, and storage. Functions can be combined or spread over several different networks; this design decision depends on the available physical network infrastructure, such as the number of NICs in each server.
Jobs are a sequence of operations usually triggered by a user action. For example: discovering a server, presenting a repository, creating a VM, and so on. These jobs appear at the bottom of the Home and Hardware views in Oracle VM Manager and their status is refreshed according to their progress. Some jobs are not the result of a specific user action but are a recurring system operation, such as checking the YUM repository for updates. A history of all jobs in the environment is available in the Jobs view, where you can view and filter the job list and display details of each job: status, execution time stamps, operations executed as part of the job, etc.
Events are often also related to user actions, but their main function from a user perspective is to register status information of "objects" for future reference or to make problems easier to trace back. Events are displayed in a separate tab in the Management pane of Oracle VM Manager and the list of events depends on the object selected in the tree view of the Navigation pane. For example, the events list of a VM shows you when it was created, at what point it was started and stopped, when it was migrated, and so on. If you select a server or server pool in the same tree view, different types of events appear, related to that particular object. Events have no status but a severity level: most events will be informational, but they can also be warnings, errors or other situations that require your attention.
An Oracle VM environment is built up out of an extensible set of Oracle VM Servers, which are controlled by a single Oracle VM Manager. The Oracle VM Manager runs the database that contains all information about both the physical and the virtual infrastructure. In addition, it hosts the web browser interface that is used to configure and manage the entire environment. Communication between the Oracle VM Manager and the Oracle VM Servers, in order to execute operations on and through the servers, is relayed via the Oracle VM Agent, which is present on all the servers in the environment.
From within the Oracle VM Manager user interface, servers are discovered based on their IP address or host name. Additional servers can be installed and discovered at any time as the need for capacity grows. The Oracle VM Servers provide computing capacity to the virtual machines they host: CPU and RAM. They also host the storage plugins that are used to connect with shared, attached file-based and block-based storage offered by other hardware in the data center. For more details, see Section 2.5, "Storage" in this chapter, and Chapter 5, "Managing Storage".
Oracle VM Servers are members of a server pool. Server pools use a virtual IP address and elect one master server that handles interactions with the Oracle VM Manager. If the master server goes down, another server in the pool immediately takes over the master function and the server pool remains reachable at the virtual IP address. Virtual machines running on a failing server can be restored on another server in the pool. This is possible because all members of the server pool have access to the same shared storage, where virtual machine configuration, disks, templates etc. are stored.
In a clustered server pool, which is the typical configuration, high availability is enabled for the servers as well as the virtual machines they host. Clustered server pools use a shared ocfs2 pool file system for the cluster heartbeating function, configuration and other clustering information. Clustering and ocfs2 enable important advanced functionality such as shared block-based storage access, policies for failover, load balancing and power management, etc. For details about server pools, clustering and ocfs2, see Chapter 7, "Managing Server Pools".
An Oracle VM environment can consist of several server pools. This is a design decision: like in any data center it may be preferred to subdivide resources into groups, isolate these from each other, and assign them to different users (departments, teams, administrators, customers and so on).
To cover all aspects of Oracle VM storage we must discuss both the provisioning and the consumption side of the storage functionality. The following sections provide an answer to two major questions:
How does Oracle VM connect to its storage?
What storage elements are available within the Oracle VM environment?
The entire Oracle VM storage implementation is based on Oracle Storage Connect plugins. The plugins are packaged and distributed as RPM packages and deployed on the Oracle VM Servers. They are divided in two major categories: storage array plugins for any block based storage, and file system plugins for any network file system based storage.
For both categories, generic plugins are included. They offer standard functionality to discover, register and use NFS storage, iSCSI or Fibre Channel SANs, and local storage For more information about the types of storage supported in Oracle VM, see Section 5.2, "Storage Types". The standard operations allowed via generic plugins are "passive", in the sense that they can detect and use storage elements offered to the Oracle VM Servers. Interactive management operations on the storage hardware is not possible with generic plugins.
In addition, Oracle cooperates with storage partners and invites storage hardware vendors to develop Oracle Storage Connect plugins for their specific hardware. These vendor-specific plugins can only be used with a specific brand or product line of storage hardware but they offer additional operations from within Oracle VM Manager compared to generic plugins. For example, a generic storage array plugin can only detect LUNs on the storage host and has only a single access group to define which servers can access the storage elements. In contrast, a vendor-specific storage array plugin allows interactive operations such as creating and modifying LUNs, and can configure various access groups for finer-grained storage access management. For detailed information about Oracle Storage Connect plugins, see Section 5.3, "Storage Connect Plug-ins".
Flexibility. Use and integrate with your existing storage infrastructure, choose between file-based and block-based solutions, and use local storage for testing purposes or virtual machines of minor importance. Use generic or vendor-specific plugins depending on your available hardware or any new hardware you select.
Scalability. Add more storage providers of your preferred type and present them to your server pools as your need for storage increases. Reduce the amount of storage again if the higher storage requirements are temporary. Provision your storage with redundancy and multipathing according to your requirements and preferences.
Extensibility. If you upgrade your storage, consider the added functionality of vendor-specific plugins. If you select hardware for which Oracle Storage Connect plugins are available, ask the manufacturer for the RPM and install the plugin on the Oracle VM Servers with access to this storage hardware.
Whatever the Oracle VM Server configuration in your environment is, Oracle VM always requires a location to store environment resources that are essential to the creation and management of virtual machines. These resources include VM templates and assemblies, ISO files (virtual DVD images), VM configuration files and VM virtual disks. The location of such a group of resources is called a storage repository. You present a storage repository to the Oracle VM Servers that need access to those resources; typically all servers in a server pool.
Storage repositories can be configured on an NFS file system or on a physical disk (LUN) of a storage array. However, for storage repositories on physical disk, the servers with access to it must be members of a clustered server pool. For unclustered server pools only file server storage is available. For details about the use of storage repositories, see Section 5.8, "Preparing and Configuring Storage Repositories".
Clustering adds another storage element to the environment: the server pool file system. During server pool creation, the server pool file system specified for the new server pool is accessed and formatted as an OCFS2 file system, whether the file system is accessed by the Oracle VM Servers as an NFS share, a FC LUN or iSCSI LUN. This formatting creates several management areas on the file system including a region for the global disk heartbeat. The server pool file system plays a key role in clustering and therefore in the high-availability configuration of the Oracle VM environment. For details about server pool clustering, see Section 7.2, "Server Pool Clusters".
The storage element that is most tangible and visible to all users of Oracle VM is the virtual machine disk. A VM disk is either a disk image file in a storage repository or a raw physical disk. If a physical disk (LUN) is used, it is attached directly to the VM in the same way it would be to a physical machine. For details about virtual machine operation, see Section 8, "Managing Virtual Machines". Again, the availability of VM disks in a storage location with shared access from all Oracle VM Servers in the server pool is essential for VM high-availability.
The networking infrastructure in the Oracle VM environment comprises connections between Oracle VM Servers, between Oracle VM Servers and Oracle VM Manager, between the Oracle VM Servers and their storage sub-systems, as well as communications among virtual machines deployed in the environment, and between virtual machines and external private or public networks.
These networking connections can leverage features supported by Oracle VM, such as networked file systems, clustering, redundancy and load balancing, bridging, and support for Virtual LANs (VLANs).
In Oracle VM Manager, network configuration is the mapping of available network interfaces to a set of logical Ethernet networks. The physical network is the collection of physical connections in Oracle VM Manager and all Oracle VM Servers, and the switches and routers that allow information to reach its destination. A logical network in Oracle VM is built on top of these physical connections. Before you define the logical networks in Oracle VM Manager, you have to review the physical network configuration that you intend to use, such as VLAN and subnet usage. You also take into account the number of network interfaces available to your Oracle VM Servers. The minimum recommended number of ports required on a single Oracle VM Server is two, although one would suffice for test or demonstration purposes. If you have more than two ports on your Oracle VM Servers, you can design more redundancy or traffic isolation in your environment.
Oracle VM identifies different network functions: server management, live migrate, cluster heartbeat, virtual machine, and storage. All network functions can either be on dedicated or shared physical networks (except for the virtual machine intra-server network). For example, a physical network can be dedicated to Virtual Machine or Storage only, or can be dedicated for all network functions. For details about network functions, see Section 6.2, "Network Usage".
After reviewing your physical network environment and deciding on the logical distribution and grouping of these physical objects, you create the logical constructs in Oracle VM Manager to implement your network design. These logical constructs include network bonds, VLAN groups, networks and bridges. If your network design includes interface bonding, or aggregations of two ports, you create these network bonds first. These bonds are often used in conjunction with VLANs, when traffic from several VLANs is allowed to use the same bond. If your network environment comprises VLANs, your next step is to create VLAN Groups, determining which port or bond, on each Oracle VM Server, will accept traffic from more which VLANs.
After careful evaluation of the available network building blocks and required network functions, you create the necessary logical networks by choosing one of these types:
network with bonds and ports
network with VLANs only
hybrid network connecting bonds and ports, as well as VLAN interfaces
logical network on a single server (intra-server VM network)
For details, see Section 6.3, "Building a Network Environment", and the subsequent sections in the chapter.
Oracle VM has high-availability (HA) functionality built in at every level. Even though there is only one Oracle VM Manager in the environment, it distributes vital information over the servers it manages, so that in case of failure the Oracle VM Manager and its infrastructure database can be rebuilt. At the Oracle VM Server and virtual machine level, HA is based on clustering. Members of a clustered server pool use an exchangeable Master server role and a virtual IP to make sure the cluster remains reachable if an Oracle VM Server goes down. If a server is lost, another server can recover the same VM because all required data is available on shared storage. In case of predictable failures or scheduled maintenance, virtual machines can be moved to other members of the server pool using live migration.
In addition, Oracle VM supports HA networking and storage, but these are configurations the system administrator must implement outside Oracle VM Manager (RAID, multipathing, etc.).
Clustered server pools also support advanced management policies called Dynamic Power Management (DPM) and Dynamic Resource Scheduler (DRS). DPM is a policy that optimizes the use of the server pool members to conserve power. When DPM is enabled, the policy will periodically look for Oracle VM Servers that are under utilized and then live-migrate the virtual machines on that server to other servers in the pool. When live migration is complete, the server is shut down, conserving power. Conversely, if a server becomes overloaded, the policy will look for other servers to off load virtual machines from the busy server. If no other powered up Oracle VM Servers are available, then the policy will start up a powered-down server using its Wake-On-LAN capability, and begin live-migrating virtual machines to balance the overall load. It is a prerequisite that all the servers that participate in DPM have Wake-On-LAN enabled in the BIOS for the physical network interface that connects to the dedicated management network.Dynamic Resource Scheduler (DRS) uses the same underlying code as DPM. The difference is that DRS will only react to servers that exceed their thresholds for CPU and network usage, and take action to move virtual machines off servers. These thresholds are configurable in the DRS policy, which runs at a specified interval and monitors CPU and network usage over a sample time period. The calculated average load is compared to the threshold and determines if migrations need to be performed.
Hardware virtualized (HVM). An unmodified guest operating system executes in complete isolation. Instructions are trapped and emulated at the hardware level (Intel VT-x/VT-i and AMD-V), allowing excellent performance thanks to limited overhead for guest modifications.
Paravirtualized (PVM). A software interface similar but not identical to the underlying hardware is presented to the guest operating system. Paravirtualization provides hooks for guest instructions so that complicated tasks can be performed by the host instead of the virtual machine, where performance is worse. Paravirtualization requires that the guest kernel is ported to be made aware of the virtual environment.
Hardware virtualized with paravirtualized drivers (PVHVM). Similar to HVM but with additional paravirtualized drivers to off load more processes to the host and increase VM performance. This domain type is typically used to run Microsoft Windows guests with a limited performance penalty.
Virtual machines can be created from different types of resources: either from a template or assembly containing preconfigured virtual machines, or from scratch using an ISO file (image) of an installation DVD. Booting a VM via PXE, or network boot for a PVM guest, is also possible.
The creation of a VM from template is based on cloning: the template is imported as an archive, unpacked and stored as a VM configuration file with images of its disks, which are cloned to create a new instance in the form of a VM. In the same way, an existing VM can be cloned to create a new VM, and to a new template as well. Cloning is discussed in further detail in Section 8.8, "Cloning a Virtual Machine or Template".
Assemblies can be described as a template of a group of virtual machines, or a collection of multiple VM templates. In Oracle VM Manager, templates and assemblies appear in different tabs of the storage repository, but their VM configuration files and disk images are stored in the same location as those of other virtual machines and templates.
Creating a VM from a virtual DVD (image file, ISO) is different depending on the virtualization mode. When creating an HVM guest, you can assign an ISO file located on a storage repository so that the new VM immediately boots from the virtual DVD. Conversely, a PVM guest cannot simply boot from DVD out of nothing, and uses an ISO file mounted remotely, accessing it via NFS, HTTP or FTP.
As mentioned in this section and in Section 2.5, "Storage", virtual machine resources are stored in storage repositories. The contents and structure of storage repositories is described in detail in Section 8.5, "Virtual Machine Resources".
Once a VM is running, it can be accessed through a VNC console, which allows it to be used as a regular pc. All operations on the VM are executed through Oracle VM Manager, as described in Section 8.9, "Managing Virtual Machines".
This section gives an overview of the deployment options for Oracle VM.
As shown in Figure 2-2, an Oracle VM deployment, involves these components:
Oracle VM Manager: The host machine on which Oracle VM Manager is installed is known as the Oracle VM Manager host. It provides the interface where all virtual machine management tasks are performed. Operational commands are sent to the Oracle VM Servers through the Oracle VM Agent.
Oracle VM Server(s): An Oracle VM Server must always belong to a server pool, even if it is the only member.
The information needed to keep the server pool operational is kept in shared storage and is available to all cluster nodes.
Server Pools: A server pool is an autonomous region that contains one or more Oracle VM Servers. A server pool presents a unified view of the storage in which the virtual machines reside. When clustering is activated, a server pool must have its own shared storage, unless an NFS share is used, as an NFS share can span multiple server pools.
Storage: A shared storage resource is mounted on each Oracle VM Server in a server pool to store virtual machines, external resources, and other data files. In order to perform live migration of virtual machines, each Oracle VM Server involved must have shared access to storage.
See Chapter 5, "Managing Storage" for more information on creating different types of shared storage.
Oracle VM templates are self-contained and pre-configured virtual machines with key Oracle technologies. Each Oracle VM template is packaged using Oracle best practices, which eliminates installation and configuration costs, reduces risk and dramatically shortens deployment time lines.
Oracle VM templates of many key Oracle products are available for download, including Oracle Linux, Oracle Solaris, Oracle Database, Fusion Middleware, and many more.
Oracle VM template licensing includes a free download and free trial use with the option to purchase a product license. Oracle VM templates do not have time limits or feature limitations, that is, Oracle VM templates are full featured and do not have expiration dates. Oracle VM templates can be quickly transitioned from evaluation into production by purchasing Oracle technology licenses.
You can download Oracle VM templates from the Oracle Technology Network:
The password for the root user of all Oracle VM templates is ovsroot. The password for the oracle account in the OVM_os_version_ORACLE_11G template is oracle.
Before using the downloaded templates, you must import them into Oracle VM Manager. See Section 188.8.131.52, "Importing a Virtual Machine Template" for information on importing templates.
For more information on these templates, see
The Oracle VM Management Pack is an Oracle Enterprise Manager plug-in that adds Oracle VM Manager functionality to Oracle Enterprise Manager. The Oracle VM Management Pack provides management at the Oracle VM Server, server pool and virtual machine layers, along with guest operating system monitoring, administration, provisioning and patch management. Oracle VM Servers can be managed from only one of the two management options, either Oracle VM Manager or from the Oracle VM Management Pack.
The Application Change Console is a separate stand alone application that is licensed with the Oracle VM Management Pack. The Application Change Console (ACC) is able to parse configuration files to track changes/differences and send alerts/notification on when changes are made. The Application Change Console has pre-built parsers for Operating System configuration files. After installing the Application Change Console, you can point the Application Change Console to the Oracle VM Servers and virtual machines using hostnames. The Application Change Console SSHes into a host to gather and track configurations. There are no additional agents required to be installed. All of the Application Change Console components can run on Oracle Linux on Oracle VM.