Using NFS for Server Virtualization
Using NFS for Server Virtualization
Over the last few years several of the virtualization software providers, VMware and Citrix among them, have moved beyond the traditional fibre channel and iSCSI methods of providing a shared storage infrastructure and have included support for NFS as a storage sharing protocol. With NFS for server virtualization, users now have a compelling alternative to the traditional shared storage methods provided in the past.
Thursday, November 5, 2009
The protocol chosen for the shared infrastructure is critical because storage is one of the most expensive aspects of server virtualization, and it’s required to deliver some of the key capabilities that virtualization offers. Features like migration of virtual machines between physical hosts, automated resource balancing and replication for disaster recovery are all enabled via a shared storage infrastructure.
The challenge for some data centers is that the cost of traditional methods of sharing storage are either too complex or too expensive, leading to limited virtual server deployments or limited use of the above advanced capabilities. Choosing NFS as a protocol may help keep both acquisition costs down as well as ongoing administrative costs. What may be most important is NFS’s ability to improve the ROI of the server virtualization project because it enables advanced features to be more easily implemented. Finally, data protection may also improve because of some unique capabilities that a NAS-based system will provide.
Misconceptions
There are two common misconceptions about using NFS for server virtualization. The first is the confusion that NFS is only for UNIX and that virtual machines based on the Windows OS cannot utilize the protocol. In server virtualization the OS of the VM does not matter when it comes to communicating to the virtual infrastructure, it is actually the virtual host that is doing most of the communication and starting the virtual session. As long as the host itself supports NFS, the OS of the virtual machine is immaterial.
The second misconception relates to performance. There is a concern that because NFS is based on IP and because it’s a file communication protocol, not a block storage I/O protocol, it won’t provide adequate performance. While it is true that NFS will not outperform fibre channel-connected hosts, it will provide equivalent performance to iSCSI and typically do so with less load on the physical host. It is also true that many of the servers in a typical environment will not need anything close to the bandwidth capabilities of a fibre channel infrastructure. Candidly, NFS performance is simply good enough for most environments.
Using a File Based Protocol for Servers Converted to Files
Consideration of what virtualization does to the traditional physical server provides some insight into why the NAS-based approach performs so admirably. Server virtualization products essentially encapsulate all the storage associated with a server and convert it to a single file, or very few files. In the VMware environment, for example, these files are called VMDKs. It makes sense then to manage servers that have been converted to files with a storage system that is optimized for managing files; in other words, a NAS.
As stated earlier, shared storage is required to implement features like live machine migration. This requires that two or more physical hosts have access to the same set of files at the same time. Before server virtualization, this was a capability that few environments needed and was something that traditional block storage protocols were designed specifically to prevent. NFS, on the other hand, is a file sharing protocol. It was designed specifically to have multiple physical machines and it is designed to have multiple servers and/or users access the same partition at the same time. Extending the file sharing to virtual hosts is a natural operation, something that NFS was designed to do.
In the block-based protocol environment, server virtualization suppliers had to build their own shared storage file systems that supported simultaneous access from multiple physical hosts. Not only is this an extra support burden on the makers of these solutions, there is also a performance burden having to manage the file system and make sure that only one host is accessing one virtual server’s file at a time.
Alternatively, by using NAS and NFS, the burden of having to manage the access to virtual machine images is removed from the virtualization platform. Instead, it’s done by a sharing protocol that has been managing multi-host access for decades. In addition to a simplification of the virtualization host workload it may be more reliable as well.
Using NFS for server virtualization not only eases the management burden on the virtual infrastructure, it often relieves the management burden on the storage administrator. With NFS, virtual host machines managing the virtual storage environment begin to look very similar to managing a file server. There are no LUN mapping issues to work through, simply point the virtual hosts at the NFS mounts and much of the advanced capabilities of server virtualization are available.
Improved Data Protection
Something that is always at the top of the list of concerns for any initial server virtualization project is data protection. Users quickly realize that the "old" way of doing things limits the scaling opportunity within a virtual environment, and that some of the advanced backup capabilities, like VMware Consolidated Backup (VCB), are cumbersome to work with.
Beyond simplifying storage management, using NFS for server virtualization actually improves the data protection capabilities of the virtualized server environment. With NFS, backing up virtual machines is similar to backing up files. If the NAS system has a robust snapshot engine, snapshots of the virtual machine images can be maintained outside of the virtual infrastructure, again freeing up resources. These virtual machine images can then be backed up via the NAS interface without tying up virtual infrastructure resources. In most cases the backups can be directed to locally attached storage devices via the NDMP protocol.
Companies like Isilon have taken off-host backups a step further by leveraging their NAS cluster architecture to implement a backup accelerator node. This node allows for rapid backups of the virtual machine images with zero impact on storage performance, even if both backups and traditional I/O are occurring at the same time.
NAS Considerations
There are considerations when using NFS for server virtualization that IT professionals need to be aware of. First, the virtual hosts themselves cannot boot from an NFS partition. This means that the host boot must happen from local storage or a separate fibre or iSCSI segment must be implemented. For smaller implementations, local booting of the host is more than adequate. For larger implementations, it make sense to implement a small fibre SAN for host booting. This also provides a fallback if there is a specific support needed for block I/O, application clustering being a typical example.
The second consideration is that using NFS for server virtualization requires the horsepower of a dedicated NAS, which is not a task for a simple file server. Further, as the environment scales, there is concern that the storage controllers themselves are becoming throttled. In truth, this can be a problem in either NAS or Block I/O implementations. In an upcoming article, Storage Switzerland will address how to overcome the potential storage controller bottlenecks that may result from a virtualized server environment.
George Crump, Senior Analyst
Related Articles
Legacy Storage in the Modern Data Center
VMware Storage Simplification Strategies
The Complexity of VMware Storage Mgmt.
Searching for High Performance Storage
Server Virtualization in Bottlenecking NAS Storage
Solving the Storage I/O Performance Bottleneck
What’s Causing the Storage I/O Bottleneck?
Related Webcast
Simplifying Storage For Virtualized Environments