This post is Part 2 in our series exploring how flash impacts VM performance and deployment strategies. Our first post covered the impacts of VM host / storage array block alignment, this post covers the performance differences between different VM types, and the third post will cover how different LUN and datastore sizes impact performance. Show Introduction: The Results Up FrontStorage provisioning in virtual infrastructure involves multiple steps with crucial choices and decisions. One of them is the data format of the virtual disks. VMware vSphere virtual disks or VMDKs (virtual machine disks) can be provisioned in three different formats: Thin, Lazy Zero Thick (aka Flat), or Eager Zero Thick. The differences lie in the way the data is pre-allocated or whether blocks are zeroed at creation, or run-time. These concepts are well understood in the community, and several years ago VMware set out to prove that there was no performance difference between these three VM types and published comprehensive test results to prove it. Regardless, this remains a topic of ongoing debate, and many customers still believe they see significant performance differences between the three VM types. We wanted to test how the move to vSphere 5 and the move to all-Flash storage might impact the performance of the different VM types. You can read about our detailed testing methodology below, but the short answer is: it just doesn’t matter, all VM types perform the same. There are, however, operational differences that Pure Storage introduces, given our support for inline deduplication, pattern removal, thin provisioning, VAAI, and the raw performance of Flash. Our findings are as follows:
Read on to learn more about the testing we did to prove-out these recommendations. Background Reading: VM Types ExplainedOne of the first decisions in SAN storage provisioning is making the LUN decision: determining what RAID level for the LUN based on the application I/O profile to provision a physical LUN to ESXi. This task is usually done based on prior experience with the application or some help from vendor’s best practice guide. The next step is to choose a suitable virtual disk format for VM’s virtual disk. Here are three formats of virtual disks:
With the exception of VMware Fault Tolerance (FT) feature (see VMware KB Article: 1004617 and page 59 of vSphere 5.0 Performance best practice) and Microsoft clustering (page 8 of Setup of MSCS guide) there is no hard requirement to use thick or Eager zeroed data format. The size of the VMDK on the datastore is same as the size of the virtual disk that was created. The following table summarizes the three VM types, and their implications on space usage, performance, and provisioning time (click to enlarge): The Details: Testing Validation
We tested with I/O intensive workload in our lab with the three different data formats on data stores carved out Pure Storage FlashArray and exposed to three similar Windows 2008 R2 VMs. WorkloadMicrosoft Exchange server Jetstress 2010 was used to simulate a real life I/O intensive workload. The test run was configured to do a performance test on exchange mailbox profile. The run was done on two databases with 3 threads per database and number of copies per database was 1. IOPS per mailbox was 1. The Jetstress profile is shown below: Hardware & Software Configuration
Results
As summarized above, the results showed substantially similar performance between the three VM types (click to enlarge): Observations
All in all it does not really matter what data format you select for the application, you can just create a LUN and expose to a cluster in two-step process. Then carve out a vmdk in any data format and you are done. No more LUN decisions, and data format decisions; that’s the beauty of all flash based FlashArray. ConclusionYet another benefit of using the Pure Storage FlashArray in your data center: you never have to worry about the data formats on your virtual machine disks. Related workReading Time: 3 minutes VMware virtual machines (VMs) function like physical servers. The hard disk space is where the operating system (OS), applications, files, and other information lives. However, VMware virtual disks have storage options beyond that of physical servers. In most cases, configurations for your VMware VMs have virtual hard disks for your storage needs. However, on some occasions, your VMs may need access to the physical hard disks on the host servers. Let’s look at the VMware disk types and how they work. A virtual disk is a set of files appearing as a physical disk drive to a VM's operating system. VMware makes the files appear to the OS this way through its use of datastores. These file storage containers are either local to the host server or remotely located across a network on another device, such as a storage area network (SAN). The datastores mask the specifics of the storage devices used and provide a standard for storing VM files. When configuring a VM with a virtual disk, a new OS gets installed without repartitioning a physical disk or rebooting the host server. Depending on the virtual disk size and the host OS, VMware creates files to hold the virtual disks. By default, the virtual disk files start small and grow to the max needed. The advantage is that the smaller file size requires less storage space and is easier to move if you relocate VMs to a new location. The disadvantage is that writing data to a disk configured in this way takes longer. When using VMware and vSphere, there are three main virtual hard disk types: We will take a closer look at each of these VMware disk types. Thick Provision Lazy Zeroed is the default disk type. During creation, the space required for the virtual disk gets allocated. It is zeroed on command with the first write from the VM. Thus, a virtual disk set up as 10 GB will use 10 GB on the datastore, despite the actual usage in the VM's OS. Note: Zeroing or zero filling is a formatting method where the formatter wipes the disk contents by overwriting them with zeros. Thick Provision Eager Zeroed also sees its virtual disk space allocated during the disk creation. Like thick provisioned lazy zeroed, space is zeroed upon disk creation. While this type of disk takes the longest to create, there is an increase in performance since zeroing does not happen at runtime. It also has a virtual disk set up as 10 GB using 10 GB on the datastore, despite the actual usage in the VM's OS. Advanced vSphere features like fault tolerance require using this disk type. Thin Provision uses only the space needed on the datastore. In other words, setting up a 10 GB virtual disk and putting 3 GB of data on it will result in 3 GB of space used on the datastore. Although the size increases as required, it will not shrink when deleting files in the VM OS. As a result, thin provisioned disks have the lowest performance of the three VMware disk types. A physical disk in VMware is the direct access of the host server’s physical hard drive or partition. Customers will use physical disks if they want VMware to run an OS from an existing disk partition. Also, a great use case would be workloads needing higher input/output operations per second (IOPS) performance, like virtual desktop infrastructure (VDI) and data archiving solutions. One thing to note is that it would be best not to use physical disks to share files between the host server and VM OSs. Due to potential data corruption, it is not safe for the same partition to be visible to both the host server and VMs. Instead, shared folders are the better solution. There are several options when setting up VMware disks. Whether you want to use the physical host server disks or one of the virtual options for your VM disks will depend on your specific needs. Liquid Web’s VMware hosting provides a scalable, redundant, and fully customizable solution for your mission-critical workloads. Once you have considered the pros and cons of private cloud vs public cloud, our Sales team can help you decide what will work best for you. Ron is a Technical Writer at Liquid Web working with the Marketing team. He has 9+ years of experience in Technology. He obtained an Associate of Science in Computer Science from Prairie State College in 2015. He is happily married to his high school sweetheart and lives in Michigan with her and their children. |