The storage platform in a virtual infrastructure serves as most important foundation piece of the infrastructure. There are certainly many options to choose from. Those storage options generally fall into two main categories. Block storage and File System storage. Let’s take a look at these two categories.
Block Storage
This method of providing shared storage to a VMware cluster has been supported the longest. At its core, block storage presents a set of physical disks as a logical disk to a host (ESX server in this case). This is a very well understood method of providing storage for the virtual infrastructure. There are a couple of protocols that we can use to provide this type of storage: Fibre Channel and iSCSI.
Fibre Channel
- Fibre Channel uses a dedicated Fibre Channel fabric to provide connectivity for the storage.
- Fibre Channel was built from the ground up as a storage protocol.
- Fibre Channel is the most mature protocol for block storage presentation.
iSCSI
- iSCSI can use the same network fabric as your LAN servers. However, it is best to use a separate Ethernet fabric.
- iSCSI is an IP based storage protocol that utilizes the existing TCP/IP stack.
- iSCSI is a relatively new protocol for block storage.
The protocol chosen to support the Block Storage infrastructure will depend on a number of factors that go beyond the scope of this post. I will say that if you are building a greenfield environment with the Cisco UCS, it is already utilizing Fibre Channel over Ethernet. So, choosing a Fibre Channel fabric is a good way to go.
File System Storage
This method of providing shared storage to a VMware cluster utilizes the Network File System (NFS) protocol. This method doesn’t provide a logical disk to the host server. The host server is simply connecting to a network share or mount point using the IP network. This certainly offers some advantages in reducing management complexity. This comes at the cost of file system overhead versus providing a block disk to the host.
Which to Choose?
There are block-only storage devices and there are file system-only storage devices. So, which one should you choose?
It was a trick question. You shouldn’t have to choose. There are unified storage arrays (like the EMC VNX series) that offer Fibre Channel, iSCSI, NFS and CIFS from the same array. This is definitely a good way to go for needs today and future scalability tomorrow. We discussed the methods for providing VMware specific storage. I want to focus on one more protocol option in this post. Common Internet File System (CIFS) is the protocol that is used for Windows File Serving. Most of the clients I deal with have Windows File Servers with large hard drives. This can introduce some challenges when virtualizing those servers.
- A single VMFS datastore can only be 2TB minus 512 bytes. This means a single file system needs to fit within those parameters.
- Also, large VMDK files are more difficult to manage.
- Why virtualize the file server at all?
I typically recommend that the files from the file servers be consolidated onto the unified storage array. This offers several advantages:
- The file system can expand without restrictions placed on it by Windows.
- There are fewer Windows Servers to patch and maintain if the files are consolidated onto the array.
- No need to take resources on the VMware infrastructure if the files are consolidated onto the array.
If the infrastructure typically uses Linux file servers, NFS can be used for the same purpose.
Block-only or File System-only storage arrays hinder flexibility in the infrastructure. Shouldn’t the storage platform be as flexible as the virtual infrastructure can be?