Выбрать главу

♦ The storage

The concepts of a storage area network have long revolved around using a Fibre Channel protocol for communication among nodes connected to the network. However, recently the quick adoption of iSCSI storage area networks has introduced a strong competitor to its fibre channel predecessor. Whereas fibre channel storage networks use the Fibre Channel Protocol (FCP) for communication among nodes, iSCSI provides a similar block-level data transfer over standard IP networks.

As your virtualization career moves forward, you will, at some point, most certainly be in a position where you must understand and differentiate between the two most popular SAN architectures today: Fibre Channel and iSCSI. Both architectures offer significant benefits in the areas of reliability, redundancy, scalability, performance, and security. Incorporating a shared storage back-end helps eliminate many of the network failure issues that administrators find themselves constantly fixing. ESX Server with a back-end SAN offers:

♦ Automatic failover and multipathing at the host bus adapter (HBA) and storage port

♦ A high-performance file system in VMFS-3

♦ VMotion, Distributed Resource Scheduler (DRS), and High Availability (HA)

♦ Support for Microsoft Cluster Services (MSCS)

♦ VMware Consolidate Backup (VCB)

SAN devices offer additional benefits in the areas of storage replication and mirroring. Using third-party software, you can replicate or mirror the data on your LUNs to other LUNs on the same or even different storage devices. This feature offers administrators great possibilities in the areas of disaster recovery and business continuity.

Creating and Managing LUNs

After you finish your debate on fibre channel versus iSCSI and you purchase one or the other, you will then have to spend some time devising the proper procedure for managing and implementing LUNs. We are discussing LUN creation and management separately from the fibre channel and iSCSI sections because of its independence from the actual storage architecture. Details on the configuration of fibre channel and iSCSI will follow.

A logical unit number (LUN) is a logical configuration of disk space carved from an underlying set of physical disks. The physical disks on which LUNs are configured are most often arranged as a Redundant Array of Independent Disks (RAID) to support performance and/or redundancy for the data to be stored on the LUN. This section will look at RAID architectures, LUN addressing, and the age-old question of many little LUNs versus fewer big LUNs.

No matter your storage device, fibre channel or iSCSI, you will need to create LUNs, or at least work closely with someone who will create LUNs for you. Virtual machine performance can, in some cases, come down to a matter of having a solid LUN strategy in place for the activity level of that VM. Choosing the right RAID level for a LUN is therefore an integral part of your VI3 implementation. The most common types of RAID configurations are:

RAID 0 Disks configured in RAID 0 do not offer any type of redundancy or protection against drive failure. RAID 0 does, however, provide the fastest performance times because data is written simultaneously to all drives involved. A RAID 0 volume, also commonly referred to as a stripe, can have two or more disks as part of the array. Figure 4.4 outlines the structure of a RAID 0 configuration.

Figure 4.4 A RAID 0 disk configuration provides high-speed performance for data stored across a series of disks.

RAID 1 A RAID 1 configuration puts two identically sized allocations of space from two drives together for the provisioning of a backup strategy that allows for either of the drives to fail and still maintain data. A RAID 1 volume, also commonly referred to as a mirrored array, loses 50 percent of the available drive space. For example, two 500GB LUNs configured as a RAID 1 array will only provide 500GB of storage. Figure 4.5 outlines the structure of a RAID 1 configuration.

Figure 4.5 A RAID 1 disk array, or mirrored volume, provides redundancy in the event of a single drive failure. A RAID 1 array is the most expensive disk type because it incurs a 50 percent loss in the amount of storage.

RAID 5 A RAID 5 array writes data and parity simultaneously to all drives involved in the array. RAID 5 arrays provide redundancy in the event of a single drive failure by writing parity in equal increments across all drives. Parity is a mathematical calculation that allows N-1 drives the ability to make up the data on any other drive. A RAID 5 is the most efficient array when looking at disk space loss. The RAID 5 array only loses one drive's worth of space. For example, a RAID 5 array made up of four 250GB hard drives will have approximately 750GB of storage space available. Figure 4.6 outlines the structure of a RAID 5 configuration.

Figure 4.6 A RAID 5 array is commonly used because of its data protection and limited loss of space. Both data and parity are written equally across all drives in the array.

RAID 1+0/RAID 0+1 For a more advanced disk array configuration, a RAID 1+0 or RAID 0+1 might be used. These structures combine the use of RAID 0 and RAID 1 technologies. RAID 1+0 involves mirroring a stripe, while RAID 0+1 involves striping several mirrors.

One of the most common challenges facing VI3 administrators is the process of sizing LUNs. Administrators can quite easily determine the RAID levels of a LUN (as explained in the preceding paragraphs), but sizing the LUN is an entirely different challenge. To determine the size of a LUN, administrators must have a game plan for testing virtual machine performance or have a solid understanding of the functions of the virtual machine(s) to be located on a LUN. 

How Much Space Does a Virtual Machine Consume? 

There is no definitive answer to this question, simply because administrators can choose to build virtual machines with virtual hard drives of varying sizes. There is, however, a generic but effective way of determining size requirements for a virtual machine. For each virtual machine, there is a set of associated files that have a direct influence on storage requirements, including the virtual machine hard disk, the suspended state, and the virtual machine swap file. Use the following formula to calculate the storage requirements for a virtual machine:

<size of the virtual machine hard disks> + <size of suspended state for virtual machine> + <memory limit - memory reservation> = minimum storage requirement for a virtual machine

For example, if a virtual machine consisted of a 25GB Virtual Machine Disk Format (VMDK) file, a memory limit of 4GB, and a memory reservation of 2GB, the minimum storage requirement could be calculated as follows:

25GB (virtual machine) + 25GB (suspended state) + 2GB (limit - reservation) = 52GB

In this case, a 55GB LUN would suffice for the virtual machine. However, keep in mind that if you decide to increase the RAM limit to 8GB or to reduce the RAM reservation to 0, you will then be jeopardizing the accuracy of the minimum storage requirement calculation.

Storage space for snapshots should also be considered, even if only for the temporary duration of the snapshot process (see Chapter 6). Luckily for SAN and VI3 administrators, the placement of a virtual machine's files is not a permanent decision. Moving a virtual machine to different storage locations is a simple but offline process. 

When it comes to LUN design and management, VMware defines two common philosophies: 

♦ The adaptive scheme

♦ The predictive scheme

Each scheme offers its own set of advantages and disadvantages to VI3 administrators. Undoubtedly, you will find that neither option is the appropriate solution in every situation. It is safe to say that most administrators will find themselves incorporating a blend of both philosophies as a means of compromise and earning the best of both worlds.