Virtual storage seems deceptively simple at first. VMware and Hyper-V both use a virtual hard disk (VHD), which is basically a file that acts as a hard drive for a virtual machine (VM). If you want to provide a VM with storage, then all you have to do is
While creating a VHD may not be especially difficult, doing so haphazardly can cause many problems. These files must be created in a way that will be most appropriate to the virtual server.
The first step is deciding where to store the VHDs. There are three options: VHDs can be stored on local volumes (direct-attached storage), network volumes (network-attached storage) or on a storage area network (SAN).
- Often the least expensive option, direct-attached storage (DAS) is usually the easiest to configure. DAS works best for servers hosting only a small number of VMs. These VMs should not run any disk-intensive applications because all of the VMs on the server are competing for the same disk resources. Even if disk capacity isn't an issue, performance almost always is because of multiple VMs making simultaneous I/O requests.
- Network-attached storage (NAS) is often just a shared network volume that has been reserved for storing virtual hard disk files. But, as I mentioned earlier, it's important to know the limitations of your virtualisation software as Microsoft doesn't support storing VHDs on NAS for use with Hyper-V.
- Storage area network (SAN), like NAS, is a network-based technology -- but the similarities between the options end there. The biggest difference architecturally is that SANs are dedicated networks solely used for storage (they also make use of storage-specific protocols). As a result, storage traffic doesn't compete with other types of network traffic as it would if VHD files were stored on NAS. A SAN is the most expensive -- but also the best-performing -- virtual storage solution.
Physical vs. emulated storage hardware
A concept that new virtualisation administrators may have trouble grasping is the difference between physical and emulated storage architecture. For example, consider that Hyper-V uses emulated Integrated Drive Electronics (IDE) controllers. VMs are required to boot from an IDE drive, however, this doesn't mean that virtual servers hosted on Hyper-V must boot from DAS.
VMs boot from a virtual hard drive file. This file is mapped to an emulated IDE controller to provide the illusion that the VM is booting from an IDE drive. However, the VHD file itself can reside on a local disk (including IDE, SATA, eSATA, PATA, SAS or SCSI). Likewise, it is also possible to place the VHD file on a SAN.
Making the most of your storage pool
Regardless of whether you use DAS or a SAN as a storage pool for virtual servers, storage performance must always be taken into account because of the way that VMs compete for disk resources. There are some things that can help the storage pool perform better.
Fixed-size hard drives usually take longer to create, but they offer better performance because they use a contiguous set of blocks on the physical disk.
For starters, use a RAID 0+1 storage architecture. This architecture provides the performance of disk striping with the fault tolerance of mirroring. In addition, ensure that your storage arrays include 10,000-rpmhard drives.
In the case of a SAN, provide each VM with a dedicated Fibre Channel adapter whenever possible. This helps to prevent the Fibre Channel connection from becoming a bottleneck.
Finally, some virtualisation platforms let you create virtual hard drives that are of a fixed size or that can dynamically expand. Fixed-size hard drives usually take longer to create, but they offer better performance because they use a contiguous set of blocks on the physical disk. In addition to being slow, dynamically expanding virtual hard drive files also have a reputation for catching administrators off-guard and running physical volumes out of disk space as they expand.
Of course, both of these issues assume that a physical disk pool contains two or more virtual hard drives. If possible, try to provide each VHD with a dedicated physical disk volume (or logical unit number).
There are several issues to consider when planning a storage pool for your virtual servers, but chief among these concerns are performance and compatibility.
ABOUT THE AUTHOR
|Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and healthcare facilities and was once a network administrator for Fort Knox. You can visit his personal website at www.brienposey.com.|
This was first published in March 2010