When it comes to determining the type of storage to deploy, are you a storage-technology snob? Or do you consider...
network-attached storage (NAS) devices as part of your storage strategy?
There's clearly a perception among some systems administrators that high-end solutions such as Fibre Channel-based SANs provide the better performance. Or they might prefer products based on iSCSI, which provide some of the same benefits such as block-level disk I/O. Plus, iSCSI-based products run over existing copper-based Ethernet connections instead of requiring a much more expensive fiber optic infrastructure, making them even more attractive to admins.
So where does this leave the tried and true NAS device? While newer technologies get most of the attention, modern NAS devices provide many new features, including ones that simplify virtualization and support larger numbers of virtual machines (VMs). How these advanced features benefit virtualization will be the focus of this tip.
Virtualization and NAS
Before diving into a list of advanced NAS features, let's look at the different ways in which you can use NAS devices for supporting host servers and their VMs. The first and most obvious one is to store virtual hard disks on network shares rather than on local server storage. Assuming that network latency and bandwidth are not issues, this approach helps centralize storage and reduce administration overhead. It's also possible to have multiple virtual machines share the same base virtual disk for read-only access while storing changes on separate disks.
NAS storage can also be used for storing backups of VMs and for storing any data that must be shared between systems (such as ISO files). As with physical machines, you can connect to NAS shares from within a VM. This is often a useful approach for organizations that are often doing widespread application testing or deployment.
In addition, there are several other reasons that organizations should consider NAS devices (see figure 1).
Figure 1: Potential benefits of using NAS storage
Performance and scalability
With potentially dozens of VMs competing for the same disk resources, it's important to consider performance and scalability when evaluating storage solutions. Most NAS solutions support a broad range of capacity options. New drives can be added to increase performance and storage space whenever necessary and without downtime. Large memory caches can dramatically improve throughput for the many random disk I/O requests that are typically generated by virtual machines. The best way to increase disk I/O is to avoid hitting the disk at all. Employing network adapter teaming and multiple network connections on a faster infrastructure (10Gb Ethernet) can significantly increase scalability. Organizations can also use different types of hard disks based on their performance vs. cost calculations. Most vendors offer support for SAS, SATA and SCSI.
Improving data protection
Storing data is one thing, but making sure that it's well protected is another. Multi-gigabyte sizes plus the fact that they are locked when VMs are running make virtual hard disk files difficult to manage. Some advanced NAS features can help. The ability to perform snapshots or split-mirror backups means that you can get a point-in-time copy of an entire NAS volume without worrying about shutting down or pausing VMs (however, memory state does need to be flushed to disk in order to get a "clean" backup.)
The ability to perform block-level replication between multiple devices helps create and maintain backup and disaster recovery sites while minimizing network requirements. NAS solutions can also support automatic fail-over from one storage array to another. Multiple-parity RAID implementations can also protect against the risk of data loss due to drive failures in large arrays.
Storage management and administration
Most modern NAS devices provide features for keeping track of and managing storage resources. Some vendors offer centralized management consoles that make it easy to control numerous storage devices. Systems administrators can use their existing methods (Directory Services and file system permissions) to manage access to data. Compared to managing local storage on individual host servers, these features offer painless virtualization administration.
Another great feature is de-duplication, or "single instance" storage. The idea here is that much of the data that is stored on most file systems is duplicated, for example, a single PowerPoint presentation that 20 users have stored to their network drives. De-duplication can identify which files or blocks of data are copies and store only a single copy of each. While this may not significantly impact virtual hard disks, it can help reduce storage requirements for ISO files and other types of data that tends to remain relatively static.
If your virtualization deployment is suffering from a lack of performance or you're frequently hitting the wall when trying to get enough usable disk space, you should probably take a close look at the many advanced NAS-related features. In most organizations, the best long-term strategy will likely involve a combination of local storage, direct-attached storage, NAS, iSCSI and higher-end products. Overall, NAS is a useful tool in addressing virtualization challenges, one that should not be overlooked.
About the author: Anil Desai is an independent consultant based in Austin, Texas. He specializes in evaluating, implementing and managing solutions based on Microsoft technologies. He has worked extensively with Microsoft's Server products and the .NET development platform and has managed data center environments that support thousands of virtual machines. Desai holds Microsoft Certified Systems Engineer, Microsoft Certified Solution Developer and Microsoft Certified Database Administrator certifications and is a Microsoft Most Valued Professional.