Network And Storage Experts Believe That It Is Better To Use Block Level Storage For Virtual Servers.

Are NAS And NFS The Right Options For Virtualization And Deployment Of Virtual Machines?

Network And Storage Experts Believe It Is Better To Use Block Level Storage For Virtual Servers. 

Fortunately, most hypervisors support the Network File System (NFS) protocol, which is also supported by network attached storage (NAS).

This article will examine how to deploy virtual machines on NAS and the advantages and disadvantages of this method.

To take advantage of the advanced features of server virtualization, such as high availability or the ability to move a running virtual machine from one host to another, you need shared storage space, as it is one of the essential prerequisites of virtual servers.

In the past, companies had to use a costly communication mechanism based on Fiber Channel SAN (FC SAN) to achieve such capability. Still, over time the dependence on this expensive technology has become less. So that today most of the server virtualization products are from the storage equipment connected to the network ( NAS) support, which can be a suitable and cost-effective alternative to FC SAN.

Another efficient solution in this field is iSCSI, which like NAS, uses the TCP/IP protocol over a standard Ethernet network. However, iSCSI works like Fiber Channel based on block storage technology and is, therefore, more expensive than NAS.

Typically, NAS systems support file sharing protocols such as SMB, NFS, and CIFS, but server virtualization products mostly use NFS, although some only support the NFS protocol. NFS architecture


The latest version of the above protocol is called NFSv4, which consists of the following three critical underlying technologies:

  •  Remote Procedure Calls
  •  External Data Representation
  •  Network file system procedures (NFS Procedures)

The third component, called Network File System Procedures (NFS Procedures), is a set of software instructions that specify how data is written to and read from storage. The NFS protocol uses the RPC communication mechanism that allows one server (NFS client) to communicate with another server (NFS server). The External Data Representation (XDR) component is the data encoding standard in the NFS protocol and is used as a standard language by clients and servers.

A server based on the NFS protocol may be a dedicated NAS device, such as QNAP, Synology, Net-App, etc., or a regular operating system server.

Typically, NFS is used in Unix and Linux operating systems, but it is possible in other operating systems such as Windows. NFS is a stateless protocol, meaning that the server does not store any information about the connection with the client, and each RPC event contains information that completes a relationship.

In this way, there is no game connection between the client and the server, and recovery from the failure of a communication channel is made most simply so that the client sends his request to the server twice and waits for the server to give him a response.

NFS in the world of server virtualization

NFS is widely used in connection with shared storage that is to be shared between multiple virtual hosts. All major server virtualization platforms support the NAS NFS storage mechanism in conjunction with virtual machines so that network professionals can quickly provide single storage space to clients and servers. Since NFS is a protocol with many uses, it offers a variety of ways for virtual hosts to access NFS storage.

For example, a physical server can be prepared and turned into an NFS server, or virtual SAN software or dedicated storage tools can use for this purpose.

Each of the above options has its function, offers specific features, and is different from each other in terms of cost. The best option is dedicated storage, which provides the highest performance, but has a higher price than similar examples.

Of course, it is possible to get a cheap server, put enough hard disks in it, and then install a server operating system like Linux or Windows and configure it to act as an NFS server. Also, it is possible to use dedicated software such as open source shared storage software (Openfiler).

Most data storage equipment vendors market their products with the NFS support approach.

Among these vendors, QNAP, NetGear, and Synology should be mentioned. The products of these companies are pre-configured, the NFS protocol in them is responsible for writing and reading data, and it is possible to use them when connected to the network.

Fortunately, the variety of these products has made many choices available to consumers, so you should get the right product based on your budget and work needs.

Since NFS is a file-level protocol, it is configured differently than block storage devices. When you provision storage based on block-level storage technology, you have a storage I/O adapter on the host that communicates with the storage device locally or remotely. Usually, the above adapter is SCSI, Fiber Channel, or iSCSI and is a network adapter that acts as a hardware or software initiator.

You are using the NFS protocol from a hypervisor-based NFS client to communicate with a host-based network adapter to speak with an NFS server you use. In the above method, there is no need to scan the storage device on the input/output adapters; What do you do with block storage?

When adding an NFS-based storage device to a virtual host, you enter the name of the NFS server and the location of the shared folder, and that’s it.

Next, once the initial storage configuration process is complete, you create virtual machines on them, just like block-level storage devices.

What are the advantages and disadvantages of using NAS in virtual environments?

In most cases, NAS storage devices operate in a virtualized server environment, similar to block-level storage devices, but there may be limitations due to the type of architecture employed. Among the essential rules should be the following :

  •  If you are not using local storage on the virtual host and want to boot directly from a shared storage device, you will need a storage device other than a NAS system. Fiber Channel and iSCSI adapters can boot the hypervisor directly from a shared storage device without using local storage. 
  •  NFS uses a software client embedded in the hypervisor instead of a hardware I/O adapter. Because of this, it imposes a significant processing overhead on the CPU, as the hypervisor must use a software client to communicate with the NFS server. The above mode will reduce performance on a host that has to handle traffic because the CPUs are shared among the virtual machines.
  •  In environments based on vSphere virtualization technology, it is possible to create virtual machine storage on NFS devices. Still, it does not achieve the high performance of the VMFS file system. In this case, there is no problem of not having access to most of the vSphere features, but on the other hand, you cannot use Raw Device Mappings (RDM) to connect a physical disk directly to a virtual machine.
  •  This time delay occurs for various reasons. Some vendors do not advise consumers to use NFS-based storage for sensitive applications such as Exchange, as they may experience significant latency. Of course, the above problem is more accurate with cheap NFS equipment. 
  •  NFS does not support a host-to-server multipathing mechanism based on the NFS protocol. So only one TCP session is established to the NFS datastore, which reduces performance. This limitation can mitigate by using multiple smaller datastores instead of larger datastores or by using 10 Gigabit Ethernet (10 GbE), where each session has access to more throughput. The multipath limit does not affect high availability; however, to ensure that availability is at its best, you can use multiple NICs in a virtual switch. 

Despite the limitations we’ve mentioned, there are still good reasons why NAS storage performs better than block-level storage devices.

Among these reasons, should note the following:

  • Most NFS  storage devices use the Thin Provisioning mechanism by default, which is vital in optimizing disk space. In this case, the virtual disks do not consume the allocated space.
  • The NFS- based device performs the file locking and queuing mechanism, which can provide better performance compared to iSCSI/FC, were locking and queuing are performed by the host server. 
  •  NFS does not have a disk I/O queue like a block-level storage device, so it performs better. NFS performance varies based on network bandwidth and disk array capabilities (RAID architecture type). 
  • NAS  implementation costs less than traditional FC storage. Instead of expensive HBA adapters, NAS devices require only conventional network cards and use standard network components instead of switches and expensive Fiber Channel cables.
  •  Since NAS removes much of the complexity of managing shared storage space, there is often no need to hire network and storage administrators. Working files on an NFS server is more straightforward than managing LUNs on a SAN.
  •  The required virtual storage space can quickly expand by increasing the disk on the NFS server without making any configuration changes. In this case, everything is done automatically. 
  •  Operations such as snapshots, replication, and copying are performed at the file system level instead of the LUN, which provides more flexibility. 

As you can see, NAS offers good vital benefits, and even with some disadvantages, you should not give up on using it in conjunction with virtual machines. More problems are around low-quality products or storage designed for simple applications, but some companies intend to use them for professional work.

Based on a careful architecture and proper management of host-managed virtual machine workloads, NAS can be as good a choice as block-level storage devices.

Does the NAS provide acceptable performance?

Most network and IT experts consider NAS an ideal alternative to block-level storage in the case of virtual servers because it offers acceptable performance. In most cases, NAS performance is not on par with an FC SAN, but if you use an efficient architecture based on the NFS protocol, they can easily handle peak workloads.

Some networking experts compare iSCSI to NAS because both are low-cost alternatives to Fiber Channel storage, and each can take advantage of existing Ethernet infrastructure.

VMware Inc has researched and compared virtual machines’ performance on NAS, iSCSI, and FC storage devices. This research shows that the NASAnd iSCSI hardware and software versions are almost identical.

More specifically, unless the CPU becomes a bottleneck, the maximum throughput that both iSCSI and NFS technologies provide will be limited by the available network bandwidth.

Both software iSCSI and NFS are more efficient than Fiber Channel and hardware iSCSI when writing workloads, provided the write block sizes are small (less than 16 KB). They use more CPU cycles for larger blocks, making software iSCSI and NFS less efficient than hardware iSCSI and Fiber Channel.

Achieving the best NAS performance depends on several factors.

The first is having enough resources and powerful CPUs. In this case, the central processor does not face the bottleneck problem when processing the NFS protocol.

 In this case, virtual machines should ensure that the host’s CPU time is not consumed excessively. Unfortunately, there is no way to prioritize or reserve resources such as the CPU for NFS protocol processing, so you need to make sure that the workload on the host is set to be capable of handling NFS protocol workloads. Using technologies like VMware’s Distributed Resource Scheduler helps balance processor workloads evenly across hosts.

The second factor is network architecture. The performance of NAS storage is highly dependent on the condition and configuration of the network and how it is used. In this case, you should isolate NAS traffic on dedicated physical NICs that are not shared with virtual machines.

Also, you should ensure that you are using a physically isolated storage network to the NFS host and that servers are dedicated and not shared with any other network traffic.

Network cards have speed limits; for example, 1 Gbps network cards provide good throughput for everyday applications.

Still, if network traffic increases and NFS has to respond to more workloads, you should consider getting 10 NICs. Be a gigabit per second. Of course, there are smart traffic management tricks you can use to increase performance. Among these technologies, “Jumbo Frames” should be mentioned.

The third determining factor in improving NFS performance is the type of NAS storage device you are using. If you use an old physical server as an NFS server, you shouldn’t expect it to handle the workloads of virtual machines without problems. More specifically, when shopping for NAS storage, you need to check your business requirements and get an estimate of the I/O operations that the virtual machines will have so that you can buy the right option.

last word

In the past, NAS was not a viable alternative to virtualization due to limited support from virtualization vendors. Now things have changed, and NAS fully supports NFS. Also, NFS has matured and evolved in various areas, such as a hypervisor, file sharing, storage, etc., to become a suitable platform for virtualization.