4.6. Storage

4.6.1. Introduction to Storage
4.6.2. Local Storage
4.6.3. Network File System Storage
4.6.4. iSCSI Storage
4.6.5. Sun ZFS Storage

4.6.1. Introduction to Storage

Storage is closely related to virtualization because the virtualization platforms require a location for creating and storing the virtual disks used for desktops.

Whether you have limited hardware or dedicated storage appliances, Oracle VDI is designed to enable you to use a variety of storage types to meet your requirements. Oracle VDI supports four types of storage:

The storage types that can be used for a desktop provider type depend on the virtualization platform and the operating system, as shown in the following table.

Table 4.2. Supported Storage Types by Virtualization Platform

Storage Type

VirtualBox (Linux)

VirtualBox (Solaris)

Microsoft Hyper-V

Local

 

Network file system

 

iSCSI

  

Sun ZFS


VMware vCenter desktop providers also require storage but the storage is managed by the VMware infrastructure and not Oracle VDI. However, Oracle VDI is able to query vCenter for the available storage, and can select the data store to use when creating virtual disks.

For all other desktop providers, storage is managed independently of Oracle VDI.

All the supported storage types require preparation before they can be used. The level of preparation required depends on how directly Oracle VDI manages the storage.

For high availability, a desktop provider can be configured to use more than one storage. To achieve the best performance and to balance the load, Oracle VDI selects a storage to clone and host virtual disks based on the available free space and current workload. Once a virtual disk is created, it remains on the storage until it is deleted. With some storage platforms, such as Sun ZFS Storage Appliances, you can also create storage clusters to provide redundancy for the hardware components of a storage server.

An Administrator can enable maintenance mode for a storage, Section 8.9.1, “Oracle VM VirtualBox and Microsoft Hyper-V Host Maintenance”. In maintenance mode, the storage is disabled and all running desktops are either shut down or suspended. Once this mode is enabled, maintenance can take place on the storage. This mode is also useful for replicating and replacing a storage server, for example to replace hardware.

4.6.2. Local Storage

Local storage enables you to use any local directory on the virtualization host.

Local storage can be inexpensive to set up and performs reasonably, but it is not suitable for high availability deployments. Because the storage is not shared between virtualization hosts, personal desktops cannot be load-balanced between hypervisors and there is also no redundancy in the event of failure.

Local storage is different from all the other storage types because it is not a central storage that is accessed by all virtualization hosts. Instead each virtualization host accesses its own local disk to store the virtual disks. With local storage, the virtualization hosts and the storage hosts are the same. When local storage is used, Oracle VDI automatically creates a local storage for each virtualization host that is added to the desktop provider so that the free space and number of desktops can be monitored on each host.

You can only have one local storage for a Oracle VM VirtualBox desktop provider and you cannot mix local storage with any other storage type.

Storage Preparation

To use local storage with Oracle VDI, you must configure a directory at the same location on each virtualization host. The directory must reside in a local file system and it must not be provided by a shared storage location. For performance reasons, it is better to use a server with at least two disks, so that the storage can be separated from the operating system. When you add the storage for a desktop provider, you simply provide the path to the directory.

How the Storage is Used

The virtual disks are created in the local file system using the VirtualBox command line. When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the path to the virtual disk in the local file system.

4.6.3. Network File System Storage

Network file system storage enables you to use any distributed file system that can be mounted or shared on the virtualization host.

A network file system storage can be a Network File System (NFS) share. In a production environment, it is best to use a file system that is designed for clustering such as the Oracle Cluster File System version 2 (OCFS2).

Compared to local storage, network file system storage provides shared access for the virtualization hosts. High availability and redundancy can be achieved through the use of multiple shares and multiple network paths. However the performance for virtual disk I/O can be slower than a local disk. There is also the management overhead in setting up, monitoring, and maintaining this type of storage.

For Oracle VM VirtualBox desktop providers on Oracle Solaris platforms, you cannot mix network file system storage with the Sun ZFS storage type.

Storage Preparation

To use network file system storage with Oracle VDI, you must configure the network file system on a storage host and mount it at the same mount point on all the virtualization hosts for a desktop provider. When you add the storage for a desktop provider, you simply provide the path to mount point of the storage.

It is best to permit root access to the network file system from the virtualization hosts, as this enables virtual disks to be cloned with secure file permissions.

How the Storage is Used

The virtual disks are created in the shared file system using the VirtualBox command line. When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the path to the virtual disk in the shared file system.

4.6.4. iSCSI Storage

iSCSI storage enables you to connect virtualization hosts to any storage device that supports the Internet SCSI (iSCSI) protocol.

iSCSI storage is only available for Oracle VM VirtualBox desktop providers on Oracle Linux platforms.

With iSCSI storage, existing IP networks are used to connect a virtualization host to a LUN on a storage area network (SAN) device so that the LUN appears to the host as a locally attached disk. The virtualization host acts as the iSCSI initiator (the client) and the storage is the iSCSI target.

The following are requirements for using an iSCSI storage with Oracle VDI:

  • The storage must be compatible with the Oracle Linux iSCSI stack.

  • The storage must be able to publish an iSCSI target and a Logical Unit Number (LUN).

  • The storage must provide unauthenticated access to the LUN.

Storage Preparation

To use an iSCSI storage with Oracle VDI, you must configure an iSCSI target and LUN on the storage host. Section 4.7.6, “Setting Up an iSCSI Target on Sun ZFS Systems” provides some example instructions for preparing an iSCSI target.

Oracle VDI formats the LUN using the Oracle Cluster File System version 2 (OCFS2) file system. You must ensure that the hosts for Oracle VM VirtualBox desktop provider run the same Oracle Linux kernel and kernel version, as this is an OCFS2 requirement.

The LUN should have a minimum capacity of 50 gigabytes (GB) and a maximum capacity of 16 terabytes (TB), see Section 10.4.8, “A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity” for details.

For more information about OCFS2, see Oracle Cluster File System Version 2 in the Oracle Linux Administrator's Solutions Guide for Release 6.

When you add the storage for a desktop provider, you provide the following details:

  • The IP address or fully-qualified DNS name of the storage host.

  • The iSCSI Qualified Name (IQN) of the iSCSI target.

  • The LUN number.

How the Storage is Used

Oracle VDI uses iSCSI to connect to the LUN on the storage host. Oracle VDI then automatically formats the LUN using the OCFS2 file system and mounts the file system at /vdi on all the virtualization hosts. The virtual disks are created in the shared file system using the VirtualBox command line.

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the path to the virtual disk in the mounted OCFS2 file system as shown in Figure 4.1.

Figure 4.1. iSCSI Storage and VirtualBox

The diagram shows the VDI Service registering virtual machines with a VirtualBox host and connecting the virtual machines to their virtual disks hosted on a separate iSCSI storage host.

4.6.5. Sun ZFS Storage

Sun ZFS storage enables you to use either a Sun ZFS Storage Appliance (ZFSSA) or Zettabyte File System (ZFS) storage pools on Oracle Solaris hosts. The following are the supported Sun ZFS storage platforms:

  • Sun ZFS Storage Appliance Software version 2009.Q2.5.1 and later

  • Oracle Solaris 10 10/09 x86 (64-bit) and later

    Note

    Oracle Solaris 11 and Oracle Solaris on SPARC platforms are not supported.

For Sun ZFSSA, note the following:

  • For performance reasons, do not disable the write cache if you do not have write solid-state drives (SSDs), also known as Logzilla. If the write cache is enabled and you have write SSDs, the write SSDs are not used. See Section 7.4.2, “About ZFS Storage Caches” for more information on write caching.

  • Oracle VDI supports only the default pool.

    Use projects to separate your areas of concern.

For Oracle VM VirtualBox desktop providers on Oracle Solaris platforms, you cannot mix Sun ZFS storage with any other storage type.

For more information about supported storage, see the following:

Storage Preparation

To use a ZFS storage, Oracle VDI requires SSH root access to the storage host and a ZFS pool on that host. The following provides some example instructions:

For Oracle VM VirtualBox desktop providers on Oracle Linux platforms, Oracle VDI formats the ZFS volume using the Oracle Cluster File System version 2 (OCFS2) file system. You must ensure that your VirtualBox hosts run the same Oracle Linux kernel and kernel version, as this is an OCFS2 requirement. Due to OCFS2, a storage should also have a minimum capacity of 50 gigabytes (GB) and a maximum capacity of 16 terabytes (TB), see Section 10.4.8, “A Sun ZFS or iSCSI Storage is Shown With a Reduced Capacity” for details. For more information about OCFS2, see Oracle Cluster File System Version 2 in the Oracle Linux Administrator's Solutions Guide for Release 6.

With Sun ZFS Storage Appliances, you can create storage clusters to provide redundancy for the hardware components of a storage host. Section 4.7.2, “Storage Clustering for Sun ZFS Storage Appliances” provides information about configuring clusters for use with Oracle VDI.

After configuring the storage, it is best practice to prepare the storage host for backup and recovery in the event of a failure. The following provides some example instructions:

When you add the storage for a desktop provider, you provide the following details:

  • The IP address or fully-qualified DNS name of the storage host.

  • The SSH port used on the host.

  • The user name and password of a user with root access to the host.

How the Storage is Used With VirtualBox (Oracle Solaris) and Hyper-V Desktop Providers

Each virtual disk is created as a thin-provisioned (sparse) ZFS volume in the ZFS pool and each ZFS volume is configured as an iSCSI target on the storage host. Oracle VDI uses either the Sun ZFS Storage Software command line (Sun ZFS Storage Appliances) or ZFS commands (Oracle Solaris hosts) to perform this configuration.

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the iSCSI target address of the ZFS volume. When the desktop is started, iSCSI is used to connect the desktop to its virtual disk, as shown in Figure 4.2.

Figure 4.2. Sun ZFS Storage and VirtualBox on Oracle Solaris Platforms

The diagram shows the VDI Service registering virtual machines with a VirtualBox host and connecting the virtual machines to their virtual disks hosted on separate ZFS volumes on the storage host.

How the Storage is Used With VirtualBox (Linux) Desktop Providers

A single thin-provisioned (sparse) ZFS volume is configured in the ZFS pool and the ZFS volume is configured as an iSCSI target on the storage host. Oracle VDI uses either the Sun ZFS Storage Software command line (Sun ZFS Storage Appliances) or ZFS commands (Oracle Solaris hosts) to perform this configuration. On the virtualization hosts, Oracle VDI uses iSCSI to connect to the ZFS volume on the storage host. The volume is formatted using the OCSF2 file system and mounted at /vdi on all the virtualization hosts. The virtual disks are then created in the shared file system using the VirtualBox command line.

When a user requests a desktop, Oracle VDI registers a virtual machine with a virtualization host and this includes the path to the virtual disk in the mounted OCFS2 file system as shown in Figure 4.3.

Figure 4.3. Sun ZFS Storage and VirtualBox on Oracle Linux Platforms

The diagram shows the VDI Service registering virtual machines with an VirtualBox host and connecting the virtual machines to their virtual disks hosted on a ZFS volume on the storage host.