White Paper Symmetrix Virtual Provisioning
White Paper Symmetrix Virtual Provisioning
White Paper Symmetrix Virtual Provisioning
Abstract
This white paper provides a detailed description of the technical aspects and benefits of deploying VMware
Infrastructure version 3 on EMC® Symmetrix® devices using Virtual Provisioning™.
October 2010
Copyright © 2008, 2010 EMC Corporation. All rights reserved.
EMC believes the information in this publication is accurate as of its publication date. The information is
subject to change without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” EMC CORPORATION
MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE
INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable
software license.
For the most up-to-date listing of EMC product names, see EMC Corporation Trademarks on EMC.com
All other trademarks used herein are the property of their respective owners.
Part Number H4285.5
Introduction
This white paper will discuss how to best leverage Symmetrix Virtual Provisioning in a VMware
Infrastructure 3 environment. The primary features and benefits of Symmetrix Virtual Provisioning are
discussed, but for more detailed information please refer to the document Best Practices for Fast, Simple
Capacity Allocation with EMC Symmetrix Virtual Provisioning Technical Note available on Powerlink®.
This paper primarily addresses the considerations and best practices for deploying VMware Infrastructure 3
environments on thinly provisioned devices.
An understanding of the principles that are exposed here will allow the reader to deploy VMware
Infrastructure 3 environments with Virtual Provisioning in the most effective manner.
Audience
This white paper is intended for storage architects, and server and VMware administrators responsible for
deploying VMware Infrastructure 3 on Symmetrix DMX using Enginuity 5773 and later operating
environments, as well as on Symmetrix VMAX using Enginuity 5874 and later operating environments.
Virtual Provisioning is now free for all supported Symmetrix platforms, new and existing, which includes
all Symmetrix VMAX arrays plus DMX3/4 arrays running Enginuity 5773.
Term Description
Device A logical unit of storage defined within a Symmetrix array. In this paper this style of
device is also referred to as a traditional device and a non-thin device
Device Capacity The actual storage capacity of a device
Device Extent Specifies a quantum of logical contiguous block of storage
Host Accessible Device A device that is exported for host use
Internal Device A device used for internal function of the array
Metavolume An aggregation of host accessible devices, seen from the host as a single device
Pool A collection of internal devices for some specific purpose
Term Description
Thin Device A host accessible device that has no storage directly associated with it
Data Device An internal device that provides storage capacity to be used by thin devices
Thin Device Extent The minimum quantum of storage that must be mapped at a time to a thin device
Thin Pool A collection of data devices that provide storage capacity for thin devices. It should be
noted that a thin pool can exist without any storage associated to it
Thin Pool Capacity The sum of the capacities of the member data devices
Bind The process by which one or more thin devices are associated to a thin pool
Unbind The process by which a thin device is diassociated from a given thin pool. When
unbound, all previous allocated extents are freed and returned to the thin pool
Enabled Data Device A data device belonging to a thin pool from which capacity is allocated for thin
devices. This state is under user control
Disabled Data Device A data device belonging to a thin pool from which capacity cannot be allocated for thin
devices. This state is under user control
Activated Data Device Reads and writes can be done from allocated and unallocated space on activated data
devices
Deactivated Data Device Reads and writes can be done from already allocated space on deactivated data devices.
No new allocations can be done on deactivated data devices
Data Device Drain The process of removing allocated extents off of one data device and moving them to
another enabled data device in the same thin pool
Thin Pool Enabled Capacity The sum of the capacities of enabled data devices belonging to a thin pool
Thin Pool Allocated A subset of thin pool enabled capacity that has been allocated to thin devices bound to
Capacity that thin pool
Thin Device Written The capacity on a thin device that was written to by a host. In most implementations
Capacity this will be a large percentage of the thin device allocated capacity
Thin Device Subscribed The total amount of space that the thin device would use from the pool if the thin device
Capacity were completely allocated
Oversubscribed Thin Pool A thin pool whose thin pool enabled capacity is less than the sum of the reported sizes
of the thin devices using the pool
Thin Device Allocation The capacity limit that a thin device is entitled to withdraw from a thin pool, which may
Limit be equal to or less than the thin device subscribed capacity
Thin Device Utilization The ratio between the thin device written capacity and thin device allocated capacity.
Ratio This value is expressed as a percentage
Thin Pool Subscription The ratio between the sum of the thin device subscribed capacity of all its bound thin
Ratio devices and the associated thin pool enabled capacity. This value is expressed as a
percentage
Thin Pool Allocation Ratio The ratio between the thin pool allocated capacity and thin pool enabled capacity. This
value is expressed as a percentage
Pre-allocating Allocating a range of extents from the thin pool to the thin device at the time the thin
device is bound. Sometimes used to reduce the operational impact of allocating extents
or to eliminate the potential for a thin device to run out of available extents
New features
Solutions Enabler 7.1 and Enginuity 5874 SR1 introduce two new features to Symmetrix Virtual
Provisioning– thin pool write balancing and zero space reclamation. Thin pool write balancing provides the
ability to automatically rebalance allocated extents on data devices over the entire pool when new data
devices are added. Zero space reclamation allows users to reclaim space from tracks of data devices that are
all zeros.
Figure 4. Initiating a thin pool write balancing operation with Solutions Enabler
As pictured in Figure 5, while the balancing operation executes, varying data devices will go into the
“Balancing” state temporarily as extents are drained off of them onto other less utilized data devices.
Figure 7. The allocation of a Symmetrix thin device before undergoing space reclamation
This situation is ideal for space reclamation as over 90% of the allocated and written space from this thin
device can be reclaimed and returned to the thin pool as free space. In Figure 8, the space reclamation
process is initiated through the Solutions Enabler command line interface. Enginuity is told to examine the
entire thin device for any extent full of zeros and to then deallocate them.
2
Thin devices not bound to a thin pool are presented as not-ready to the host. However, the SCSI INQ
command to the device succeeds. The VMware ESX server kernel, therefore, cannot determine the correct
status of the unbound device. If the VMware ESX server kernel performs a read on unbound thin devices,
zeros would be returned back. Similarly, any attempt to create a datastore on an unbound thin device will
fail. Therefore, EMC strongly dissuades customers from presenting unbound thin devices to VMware ESX
servers.
Figure 12. Track allocation from a thin pool in response to VMware file system format
activity
120
100
80
% VMFS Used
60
%VMFS Used (Normalized)
% Pool Allocation
40
20
3
Previously allocated but unused blocks can be de-allocated if a utility is used to zero unused blocks out
(such as the sDelete utility for Windows) and then a zero-space reclamation operation is performed on the
thin device. For more information on zero-space reclamation, please refer to the section, “Virtual
Provisioning space reclamation.” Note that zero-space reclamation requires a Symmetrix VMAX running
Enginuity 5874 or later.
Figure 14. Using the Virtual Infrastructure Client to create a new virtual machine
Table 3. Allocation policies when creating new virtual disks on a VMware datastore
Figure 17. Zeroedthick virtual disk allocation size as seen in a VMFS datastore browser
However, since the VMware kernel does not actually initialize unused blocks, the full 10 GB is not
consumed on the thin device. This virtual disk resides on thin device 0482 and, as seen in Figure 18, only
consumes 1600 MB of space on it (1400 MB for the data and 200 for the VMFS metadata).
Note: Eagerzeroedthick is the default allocation mechanism for cloning virtual machines, deploying virtual
machines from template, and Storage VMotion. In VMware vCenter Server update 6 this behavior can be changed
so the default for all of these operations is the Virtual Provisioning-friendly “zeroedthick” format. For information
on implementing this change refer to the section “Changing the default virtual disk allocation mechanism policy”
in this paper.
Figure 19. Eagerzeroedthick virtual disk allocation size as seen in a VMFS datastore
browser
Unlike with “zeroedthick” the VMware kernel does initialize all the unused blocks, so the full 10 GB is
reserved on the VMFS and consumed on the thin device. The “eagerzeroedthick” virtual disk resides on
thin device 0484 and, as seen in Figure 20, consumes 10.2 GB of space on it (10 GB for the data and 200
MB for the VMFS metadata).
It is important to note that VMware vCenter Server 2.5 does not offer an option to use non-default behavior
when creating virtual disks for virtual machines. Creating virtual disks using a “thin” allocation mechanism
requires the use of the CLI utility, vmkfstools, on the service console or remote CLI for VMware ESX
Server version 3i.
3. Find the <nfc> tag and enter the following line (exactly as seen in Figure 21):
<eagerzeroedthick>false</eagerzeroedthick>
4. Restart the vCenter agent on the ESX host by issuing the command service vmware-vpxa
restart on the service console.
4
All virtual machines cannot be cloned or converted to a template. Please consult the VMware
documentation for further details.
Figure 22. Cloning virtual machines using Virtual Infrastructure Client with
“eagerzeroedthick” as default policy
The virtual machine has a 40 GB virtual disk with only approximately 1.5 GB of data. Since the allocation
policy is “eagerzeroedthick” the resulting allocation on the Symmetrix thin pool is the full 40 GB, as the
remaining 38.5 GB is filled with zeros written by the ESX kernel. This is shown in Figure 23.
Figure 23. Thin device allocation with the "eagerzeroedthick" virtual machine
Figure 24. Cloning virtual machines using Virtual Infrastructure Client with “zeroedthick”
as the default policy
The virtual machine has a 40 GB virtual disk with only approximately 1.5 GB of data. Since the allocation
policy is “zeroedthick” the resulting allocation on the Symmetrix thin pool is only the amount of data
written by the guest OS of the virtual machine—the remaining 38.5 GB is not written out by the ESX
kernel until written to by the guest OS. This is shown in Figure 25.
Figure 25. Thin device allocation with the "zeroedthick" virtual machine
As shown by contrasting these two examples, EMC highly recommends upgrading to VMware vCenter
Server 2.5 update 6 and implementing this change. The savings in physical storage space and also in time
to clone the virtual machines are dramatic.
5
EMC is actively working with VMware on the vStorage initiative that may allow in the future for space
reclamation to be performed on a single virtual disk.
6
For more information on the EMC Storage Viewer version 1.1 please refer to the white paper on
Powerlink entitled Using EMC Storage Viewer for VMware Infrastructure Client.
Performance considerations
The architecture of Virtual Provisioning creates a naturally striped environment where the thin extents are
allocated across all volumes in the assigned storage pool. The larger the storage pool for the allocations is,
the greater the number of devices that can be leveraged for the VMware Infrastructure 3 I/O.
One of the possible consequences of using a large pool of data devices and potentially sharing these devices
with other applications is variability in performance. In other words, possible contention with other
applications for physical disk resources may cause inconsistent performance levels. If this variability is not
desirable for a particular application, that application could be dedicated to its own thin pool. Symmetrix
supports up to 512 thin pools.
When a new data extent is required from the thin pool there is an additional latency introduced to the write
I/O while the thin extent location is assigned and formatted. This latency is approximately 1 millisecond.
Thus, for a sequential write stream, a new extent allocation will occur on the first new allocation, and again
when the current stripe has been fully written and the writes are moved to a new extent. If the application
cannot tolerate the additional latency it is recommended to preallocate storage to the thin device when the
thin device is bound to the thin pool.
1. Virtual machines configured with virtual disks using the eagerzeroedthick format continue to operate
without any disruption.
2. Virtual machines that do not require additional storage allocations continue to operate normally.
3. If any virtual machine in the environment is impacted due to lack of additional storage, other virtual
machines continue to operate normally as long as those machines do not require additional storage.
4. Some of the virtual machine may need to be restarted after additional storage is added to the thin pool.
In this case, if the virtual machine hosts an ACID-compliant application (such as relational databases),
the application performs a recovery process to achieve a transactionally consistent point in time.
5. The VMkernel continues to be responsive as long as the VMware ESX server is installed on a device
with sufficient free storage for critical processes.
Conclusion
EMC Symmetrix Virtual Provisioning provides a simple, noninvasive, and economical way to provide
storage for VMware Infrastructure 3 environments. The VMFS behavior dovetails very nicely into this
type of configuration, while certain operations may not allow VMware administrators to realize the full
benefits of the product. The following scenarios are optimal for use of Virtual Provisioning with VMware
Infrastructure 3 by default:
Deployment of new virtual machines using a VMware Infrastructure 3 client
Creation of virtual machine templates on virtually provisioned devices using the Compact option of the
Clone to Template wizard
Systems where overallocation of storage is typical
Systems where rapid growth is expected over time but downtime is limited
The following are situations where Virtual Provisioning may not be optimal by default (unless a change in
default allocation mechanism policy is made using VMware vCenter Server 2.5 update 6):
Provisioning new virtual machines from templates using Virtual Infrastructure
Cloning virtual machines to thin devices using Virtual Infrastructure
Performing a Storage VMotion operation
The following are situations where Virtual Provisioning may not be optimal:
VMware Infrastructure 3 environments that cannot tolerate an occasional response time increase of
approximately 1 millisecond due to writes to uninitialized blocks
Virtual machines in which data is deleted and re-created rapidly and the underlying data management
structure does not allow for reuse of the deleted space