How to Deploy a Sun ZFS Storage Appliance in an Oracle Virtual Desktop Infrastructure

May 2011

By Ryan Arneson

This article describes how to deploy a Sun ZFS Storage Appliance with the Oracle Virtual Desktop Infrastructure in your IT environment for a fast, easily managed desktop deployment that helps reduce costs and increase efficiency compared to a traditional desktop infrastructure. An example deployment is presented showing how to configure the Sun ZFS Storage Appliance with Hybrid Storage Pools that are accessed using Internet Small Computer System Interface (iSCSI) protocol and how to set up the Oracle Virtual Desktop Infrastructure 3.2 to simplify administration of the solution.

Configuration Overview

Deploying an Oracle Virtual Desktop Infrastructure (Oracle VDI) integrated with a Sun ZFS Storage Appliance in your IT environment will enable you to quickly and easily deploy, secure, upgrade, and manage all your virtual desktops. The example presented in this article will show you how to configure the Sun ZFS Storage Appliance with Hybrid Storage Pools accessed using Internet Small Computer System Interface (iSCSI) protocol and how to set up the Oracle Virtual Desktop Infrastructure 3.2 to simplify administration of the solution.

Figure 1 shows a high level overview of the Oracle VDI architecture. It consists of Oracle VDI Core servers running the Solaris 10 operating system, Oracle VM VirtualBox virtualization servers running the Solaris 10 operating system, and a Sun ZFS Storage Appliance providing storage with access via iSCSI protocol. Desktops are deployed on individual iSCSI LUNs hosted on the Sun ZFS Storage Appliance, from which snapshots can be easily made and quickly cloned for mass deployment. Users can access the desktops through a variety of methods, such as from a Sun Ray or Oracle Virtual Desktop Client, using Secure Global Desktop (SGD) Web Access, or using a Remote Desktop Protocol (RDP) client from an existing workstation or laptop device.

Figure 1

Figure 1: High level overview of the Oracle VDI Infrastructure architecture

The Sun ZFS Storage Appliance includes a DTrace-based storage analytics tool, flash-based Hybrid Storage Pools, enterprise-class data services, massive scalability capabilities, and a choice of storage protocols. The Sun ZFS Storage Appliance features an easy-to-use management interface and a comprehensive analytics environment to help isolate and resolve issues.

To meet a variety of scalability and availability requirements, Oracle offers four models of the Sun ZFS Storage Appliance, including the Sun ZFS Storage 7120; the Sun ZFS Storage 7320 and 7320C; the Sun ZFS Storage 7420 and 7420C; and the Sun ZFS Storage 7720. These models utilize a common storage software foundation. Three of them (excluding the Sun ZFS Storage 7120) offer up to 2 TB of read cache, enabling a typical appliance response time in the low single digit milliseconds. Write flash, available on all four platforms, enables response times of less than 1 ms for synchronous writes.

High availability for Oracle VDI storage can be achieved by using a Sun ZFS Storage Appliance that supports clustering, such as the Sun ZFS Storage 7320 or the Sun ZFS Storage 7420. These models provide dual controllers with shared access to the data disks, which enables one controller to take over for another controller in the event of a failure or planned maintenance. This configuration also allows some degree of load-balancing as the Oracle VDI servers will attempt to evenly place the desktops on both controllers. Another way to achieve high availability is to use multiple, smaller Sun ZFS Storage Appliances and spread the desktops across all available resources.

Note: When adding a clustered configuration to an Oracle VDI setup, make sure both cluster controllers are in the CLUSTERED state so that the system is configured as active/active and the controllers are online and own their respective resources. Adding a cluster with controllers in the OWNER or STRIPPED state may result in errors and problematic deployments.

Oracle VDI offers a complete solution for managing and providing access to virtualized desktop environments hosted in the datacenter. Oracle VDI enables organizations to simplify administration, reduce operating costs, increase utilization of existing IT assets, and boost security by moving from a traditional desktop environment to a virtual desktop architecture.

The Oracle VDI servers control the deployment of Sun ZFS Storage Appliance iSCSI LUNs to the Oracle VM VirtualBox servers. The virtual desktops are hosted in the Oracle VM VirtualBox layer, which is attached to the Sun ZFS Storage Appliance using iSCSI protocol. The VDI servers control the creation of additional snapshots and clones on the Sun ZFS Storage Appliance as desktops are needed and then control the attachment of these clones to the Oracle VM VirtualBox servers to provide the new desktops.

Components Used in the Example Deployment

The hardware and software components used in the setup described in this article are shown in Table 1 and Table 2 respectively. Individual deployments will have differing sizing requirements. Therefore, the table contents do not represent a list of all possible components or serve as a comprehensive sizing guide. Please contact your Oracle Technical Sales Representative for assistance in planning your deployment.

Table 1. Hardware Components Used in Example Deployment

Equipment

Quantity

Configuration

Primary Storage

1

Sun ZFS Storage 7120
24 GB DRAM
1 x 24 - 2 TB SAS-2 disk tray

Servers

3

Sun Fire X4170 M2 Server
72 GB DRAM
2 internal HDDs

Network

1

1 GbE network switch

 

Table 2. Software Components Used in Example Deployment

Software

Version

Sun ZFS Storage Appliance Software

2010.Q3.3

Oracle Solaris Operating System

Solaris 10 U9 (x64)

Oracle Virtual Desktop Infrastructure

3.2.2 (build9)

Oracle VM VirtualBox

3.2.12

Microsoft Windows

Windows 7


Configuring the Sun ZFS Storage Appliance

When a Sun ZFS Storage Appliance is integrated into Oracle VDI, you no longer need to tediously configure each share or LUN. The tasks of configuring an iSCSI network, LUNs, and any LUN snapshots and clones needed for mass deployment can all be automated for more efficient deployment. You only need to decide how the networking will be configured and what the storage pool layout is going to be.

Network Configuration

In the setup described in this paper, a simple network configuration utilizes two of the four built-in 1 GbE Network ports on the Sun ZFS Storage Appliance.

To increase bandwidth and improve resilience, these ports are bundled into a single channel using the IEEE 802.3ad Link Aggregation Control Protocol (LACP) as shown in Figure 1. This configuration results in a single, linked interface for iSCSI traffic. Configuring this iSCSI network on a private subnet or VLAN enhances data traffic isolation and security.

Figure 2

Figure 2: Sun ZFS Storage Appliance screen showing a network configured with LACP Aggregation

Figure 3 shows the network configuration, which includes a single 1 GbE management port (igb0) configured on the public network two 1 GbE ports (igb1 and igb2) configured as an LACP data link for iSCSI traffic.

Figure 3

Figure 3: Sun ZFS Storage Appliance screen showing the configuration of the management network and the private storage network.

Storage Configuration

We recommend that a mirrored (RAID10) configuration be used for Oracle VDI deployments to meet the demanding random I/O patterns produced by a large number of virtual desktops accessing the same physical disk spindles. Mirrored disk pools are able to provide the needed IOPs at low latency, which prevents desktop users from experiencing desktop lag or slowness. Parity disk pools (either single- or double-parity RAID) may provide acceptable performance in low usage or demonstration configurations, but care should be taken to perform a detailed pre-deployment test validation to confirm that such a pool layout is adequate to meet user needs before the system is put into production.

For the configuration described in this article, a mirrored pool is used consisting of twenty-four 2 TB SAS-2 drives in a single disk shelf. Even though the Sun ZFS Storage 7120 has internal drives that could be part of a pool, for this particular configuration, the internal drives were omitted from the pool. They could optionally be configured into a separate pool to provide network drive access for the desktop users.

The pool was also configured using two of the four SSDs available on the Sun ZFS Storage 7120 as log devices. These log SSDs were placed in a striped configuration. Figure 4 shows how the devices were allocated.

Figure 4

Figure 4: Allocation of drives in the storage pool configuration

The use of SSDs as log devices in an Oracle VDI configuration is optional. You can configure the VDI software to use either the SSDs or the in-memory file system write cache. Using the in-memory write cache can deliver lower latency. However, data may be at risk if the Sun ZFS Storage Appliance reboots or experiences a power loss while desktops are active because the in-memory write cache is not a non-volatile (battery-backed) cache. For this reason, we recommend that log SSDs be configured for any storage pool that is to be used for desktop deployments.

Although the use of read cache SSDs (in appliance models that support them) is optional, they should be considered for large deployments where many desktops may need to frequently access unique data.

The Oracle VDI software makes efficient use of templates for deploying virtual desktops and can host a number of templates in the main memory (DRAM) of the Sun ZFS Storage Appliance. When snapshots and clones are used as the method of deployment and a read request is made from a desktop, chances are good that the data will already be cached in DRAM, resulting in a fast response with low latency.

Project Configuration

Once the pool is configured, the final configuration step is to configure a Project. To configure a Project, complete these steps in the Sun ZFS Storage Appliance user interface:

  1. Go to the Shares > Projects tab.
  2. Click the + icon next to Projects.
  3. Enter a name for the project. (example: vdi-desktops)
  4. Click Apply.

Configuring the Oracle Virtual Desktop Infrastructure

Oracle VDI consists of VDI Core servers (Primary and Secondary) and Oracle VM Virtualbox servers. All these components are installed on servers running the Oracle Solaris 10 operating system. The servers also optionally communicate with Lightweight Directory Access Protocol (LDAP) or Microsoft Active Directory servers for user authentication.

Complete configuration of the Solaris operating system, Oracle VDI Core server and Oracle VM Virtualbox components, as well as Directory Server integration, is beyond the scope of this document. See the relevant installation and configuration documents for further information.

Desktop Provider Configuration

The Oracle VM Virtualbox servers and Sun ZFS Storage Appliances are configured using the Oracle VDI Desktop Providers. To configure a Desktop Provider, complete the following steps in the Oracle VDI user interface:

  1. Select the Desktop Providers tab.
  2. Click New and then click Next.
  3. Select Oracle VDI. Click Next.
  4. Select Specify New Host. Click Next.
  5. Enter a Hostname/IP, User Name, and Password. Click Next.
  6. Click Next to accept SSH/SSL Certificates.
  7. If another host is to be added, select Specify New Host and complete steps 4 through 6 above. Otherwise choose Select Exiting Hosts and click Next.
  8. Select Specify New Storage. Click Next.
  9. Enter a Storage Hostname/IP, User Name, and Password. Click Next.
  10. Click Next to accept SSL Certificates.
  11. In the ZFS Pool drop down menu, select the project created on the Sun ZFS Storage Appliance. Click Next.
  12. If another Sun ZFS Storage Appliance is to be added, select Specify New Storage and complete steps 8 through 11 above. Otherwise, choose Select Existing Storages. Click Next.
  13. If needed, change the name of the overall Desktop Provider. The default name is the name of the first host specified (for example, vdi-1). Click Next.
  14. Review the configuration. Click Finish.

(Optional) Complete the following steps to configure a private data network for iSCSI traffic and to use log SSDs for further data integrity protection:

  1. Select the Desktop Providers tab.
  2. Select a Desktop Provider (for example, vdi-1).
  3. Select the Storage tab.
  4. Choose the Sun ZFS Storage Appliance array to be modified. Click Edit.
  5. Enter the Password. Click Next
  6. Review the SSL Certificate. Click Next
  7. Change the ISCSI Interface to the configured private network.
  8. Unselect Cache: Enable. Click Finish.

Figure 5 shows the final configuration of the private network with appropriate cache settings

Figure 5

Figure 5: Configuring a private data network for a Sun ZFS Storage Appliance array

Pool Configuration

The Pools tab is used to administer configuration of virtual desktops, loading of templates, and cloning of desktops. A template is a special desktop used for cloning. It is a preconfigured operating system image that can be imported into Oracle VDI to be used for mass desktop deployments.

A template is typically pre-loaded with all the relevant applications and operating system patches required to meet the needs of the users for which desktops are to be deployed. Once a template is uploaded, it can be marked as the “Master Revision.” From this single template, hundreds of identical desktops can then be quickly rolled out using the Sun ZFS Storage Appliance snapshot and clone features. Templates can be revised after they have been uploaded if needed. For example, the software for an application can be upgraded to create a new version of the template to be used for subsequent deployments.

To configure a pool, complete the following steps in the Oracle VDI user interface:

  1. Select the Pools tab.
  2. Click New. Then click Next.
  3. Select a Desktop Provider (for example, vdi-1).
  4. Choose Pool Type. Click Next.
  5. Click Next again. The template will be modified in later steps.
  6. Click Next again. The cloning parameters will be modified in later steps.
  7. Enter a Pool name. The pool name will be added to the beginning of the name of each of the desktops in the pool (for example, mypool00000001). Click Next.
  8. Review the configuration. Click Finish.
  9. Select the pool that was just created.
  10. Select the Settings tab and modify as needed.
  11. Select the Template tab.
  12. Click Import Template. The screen in Figure 6 is displayed.
  13. Enter the path and select the folder where the template is located. Click OK.

Figure 6

Figure 6: Loading a template for a virtual desktop pool into the Sun ZFS Storage Appliance

Cloning Configuration

After the template has been imported onto the Sun ZFS Storage Appliance, the cloning properties must be configured to apply the template to new desktops and finalize any other changes needed for the desktop pool. Automatic cloning can be enabled once all the parameters have been set. In the Oracle VDI user interface:

  1. Select the Pools tab from the menu on the left side.
  2. Select the pool to be configured.
  3. Select the Cloning sub-tab.
  4. Select the previously uploaded template. Edit any Sysprep settings as needed.
  5. Perform other configuration changes as needed to set the number of desktops to be configured, the prefixes of the names of the desktops to be configured, and the number of desktops to start.
  6. If the desktops are to be automatically deployed, select Enable Automatic Cloning.
  7. Click Save to finish the configuration.

Impact on Disk Space Usage

Oracle VDI shows significant space savings as desktops are rolled out due to the use of thin-provisioned iSCSI LUNs in conjunction with ZFS snapshots and clones.

The template accounts for the bulk of the configured storage space. However, because thin provisioning is used to allocate disk space, only the blocks that are used are written to disk. The unused blocks to do not take up any space.

We measured the disk usage for a Windows 7 desktop template and the ten cloned desktops shown in Figure 7.

Figure 7

Figure 7: Ten cloned desktops running on a Sun ZFS Storage Appliance

Although the template and cloned desktops were configured to use a 20 GB hard disk, Figure 8 shows that they only using 12.2 GB of actual space on the Sun ZFS Storage Appliance.

Figure 8

Figure 8: Space used by one template and ten cloned desktops

Monitoring the Performance of Your Oracle VDI Deployment

The Sun ZFS Storage Appliance comes with an extensive set of DTrace-based Analytics that provide visibility into the performance of your Oracle VDI deployment. Each desktop is an individual iSCSI LUN in the appliance, so you can use DTrace Analytics to track performance, latency, and I/O size distribution down to the individual desktop level. This can greatly speed your ability to track down misbehaving desktops, identify bottlenecks, and intelligently plan for growth in the future.

The example graph in Figure 9 shows the Analytics results for iSCSI operations per second broken down by LUN. With just a click, you can drill down to view graphs of latency and I/O size on any individual desktop LUN.

Figure 9

Figure 9: DTrace Analytics showing iSCSI operations broken down by LUN

DTrace Analystics can also be used to evaluate overall network performance and provide you with a means to monitor that the LACP network aggregation is working properly. In Figure 10, network device bytes are broken down by device showing that both igb1 and igb2 are transmitting data.

Figure 10

Figure 10: DTrace Analytics for the network showing device bytes per second broken down by device

Disk operations, including log SSD operations, can be monitored to help identify bottlenecks on the hardware and help anticipate when systems may become over-subscribed. Figure 11 shows disk I/O operations per second broken down by disk. The two log SSD devices are highlighted.

Figure 11

Figure 11: DTrace Analytics for disk operations showing I/O operations per second broken down by disk

Conclusion

Combining the Sun ZFS Storage Appliance with Oracle VDI Infrastructure enables organizations to simplify administration, reduce operating costs, improve data protection, and boost operational efficiency. We described how to configure the Sun ZFS Storage Appliance for use with Oracle VDI. To demonstrate the significant space savings made possible through the use of thin-provisioned iSCSI LUNs in conjunction with ZFS snapshots and clones, we showed you an example of a Windows 7 template and ten cloned desktops that used only 12.2 GB of space. Finally, we gave you some examples of the use of the Sun ZFS Storage Appliance DTrace Analytics to monitor performance of your deployment.

Revision 1.0, 05/12/2011