3.1 What is Storage Used for in Oracle VM?

Storage in Oracle VM is used for a variety of purposes. These can be grouped into two main categories:

  • Oracle VM Server clustering resources.

  • Oracle VM virtual machine resources (such as templates, ISOs, assemblies, disk images and configuration data).

In the first instance, it is absolutely essential that any Oracle VM Server clustering resources that are used within a deployment are located on shared storage. Shared storage is any storage mechanism that can be made available to all of the Oracle VM Server instances within a server pool. This is a requirement because data relating to the health and availability of components within a pool needs to be shared across all members within a pool. While it is possible to avoid taking advantage of the clustering facilities provided by Oracle VM, thereby avoiding any requirement for shared storage, this is an uncommon configuration and due to the range of support that Oracle VM provides for different shared storage technologies it is highly recommended that some form of shared storage is used for at least this purpose.

In general, it is highly recommended that Oracle VM virtual machine resources also make use of shared storage and this is, in fact, a requirement if clustering is enabled for a server pool. By using shared storage for these resources, it is possible to migrate or restart virtual machines between different servers within a pool. It is possible to use local storage, such as the physical disks attached to any particular Oracle VM Server, within a deployment, for the purpose of provisioning virtual machine resources but doing so severely limits configuration.

The actual provisioning of virtual machine resources is usually achieved by creating a storage repository. In Oracle VM terms, a repository is a file system that is logically structured in a particular way so that different resources can be located easily and made available for the purpose of creating, cloning or running virtual machines. If the repository is located on an NFS server share, the directory structure required for the repository is simply created on the existing file system exposed through the share. On shared physical disks exposed through SAN hardware via ISCSI or Fibre Channel, the disk or LUN is formatted with an OCFS2 file system, and the directory structure is created on top of this. OCFS2 is used in this situation because the file system is accessed simultaneously by multiple Oracle VM Servers, something which most file systems cannot handle, but which OCFS2 is explicitly designed to handle. Since OCFS2 is not available on SPARC, iSCSI and Fibre Channel disks cannot be used to host a repository accessible to SPARC-based Oracle VM Servers. For SPARC-based servers you should always use an NFS server share to host a repository.

A repository can also be created on a local storage disk, with the exception that the data within such a repository would only be available to virtual machines running on the Oracle VM Server to which the disk is attached. For SPARC-based servers, ZFS and SAS disks are treated as local storage disks.