VMware ESX essentials: Virtual Machine File System
This section of our chapter excerpt on storage from the book "VMware ESX Essentials in the Virtual Data Center" explains the difference between direct- and network-attached storage and how to configure a client's network file system devices.
Solution provider takeaway: The VMware Virtual Machine File System (VMFS) is a high-performance file system designed for storing and running virtual machines. This first section of our chapter excerpt, from VMware ESX Essentials in the Virtual Data Center, provides an overview of VMFS, the different storage options available and how to configure a client's network file system.
Download the .pdf of the chapter here.
When designing a virtual infrastructure environment, one of the most important things to consider and plan for is the storage back end. There are several options available: local storage, Fibre Channel and iSCSI. The first thing to think about is where you store and run your virtual machines. VMware's VMFS file system is specially designed for the purpose of storing and running virtual machines.
Virtual Machine File System
VMware developed its own high performance cluster file system called VMware Virtual Machine File System or VMFS. VMFS provides a file system which has been optimized for storage virtualization for virtual machines through the use of distributed locking. A virtual machine stored on a VMFS partition always appears to the virtual machine as a mounted SCSI disk. The virtual disk or *.vmdk file hides the physical storage layer from the virtual machine's operating system. VMFS versions 1 and 2 were flat file systems, and typically only housed .vmdk files. The VMFS 3 file system now allows for a directory structure. As a result, VMFS 3 file systems can contain all of the configuration and disk files for a given virtual machine. The VMFS file system is one of the things that set VMware so far ahead of its competitors. Conventional file systems will allow one server to have a read/ write access or lock to a given file at any given time. VMware's VMFS is a file system which will allow multiple nodes or multiple VMware ESX servers to read and write to the same LUN or VMFS partition concurrently.
Now that we know about VMFS, let's take a look at the different storage options that are made available.
Direct-attached storage (DAS) is storage that is, as the name implies, directly attached to a computer or server. DAS is usually the first step taken when working with storage. A good example would be a company with two VMware ESX Servers directly attached to a disk array. This configuration is a good starting point, but it typically doesn't scale very well.
Network-attached storage (NAS) is a type of storage that is shared over the network at a file system level. This option is considered an entry-level or low-cost option with a moderate performance rating. VMware ESX will connect over the network to a specialized storage device. This device can be in the form of an appliance or a computer that uses Network File System (NFS).
The VMkernel is used to connect to a NAS device via the VMkernel port and supports NFS Version 3 carried over TCP/IP only. From the standpoint of the VMware ESX servers, the NFS volumes are treated the same way VMware ESX would treat iSCSI or Fibre Channel storage. You are able to VMotion guests from one host to the next, create virtual machines, boot virtual machines as well as mount ISO images as CD-ROMs when presented to the virtual machines.
When configuring access to standard Unix/Linux-based NFS devices, some configuration changes will need to be defined. The directory /etc/exports will define the systems that are allowed to access the shared directory. And there are a few options in this file that you should be aware of.
1. Name the directory to be shared.
2. Define the subnets that will be allowed access to the share.
3. Allow both "read" and "write" permissions to the volume.
4. no_root_squash -- The root user (UID = 0) by default is given the least amount of access to the volume. This option will turn off this behavior, giving the VMkernel the access it needs to connect as UID 0.
5. sync -- All file writes MUST be committed to the disk before the client write request is actually completed.
Windows Server 2003 R2 also natively provides NFS sharing when the Windows Services for Unix (SFU) service is installed and configured. Out of the box, Windows Server 2003 R2 has this ability, but it can also be run on Windows Server 2003 (non-R2), and Windows 2000 Server after downloading SFU from Microsoft's Website.
1. After storage has been allocated, the folders are presented similarly as NFS targets.
2. Because there is no common authentication method between VMware ESX and a Microsoft Windows server, the /etc/passwd file must be copied to the Windows server, and mappings must be made to tie an account on the ESX server to a Windows account with appropriate access rights.
VMware ESX essentials in the Virtual Data Center: Storage
VMware ESX essentials: Virtual Machine File System
VMware ESX essentials: Fibre Channel SAN and iSCSI
About the book VMware ESX Essentials in the Virtual Data Center details best practices for ESX and ESXi, guides you through performance optimization processes for installation and operation, uses diagrams to illustrate the architecture and background of ESX and covers the two most popular releases, 3.0 and 3.5.