• subscribe
September 16, 2011 04:43 PM

Microsoft Multipath I/O for iSCSI

Build a highly available, fault-tolerant SAN configuration
Windows IT Pro
InstantDoc ID #136286

Many businesses, regardless of size, are looking to SANs to address increasingly demanding storage needs. SANs offer flexibility for a variety of common infrastructure scenarios, including database and email servers, common file storage, and virtualization. SANs are incredibly popular when fault tolerance is a requirement, allowing quick recovery from disk or server failure. SANs can be built using a variety of technologies, ranging from DAS, to Fibre Channel, to incredibly popular iSCSI networks. Although many SAN architects and administrators focus on building a fault-tolerant disk subsystem, or clustering the servers in front of them, it isn’t uncommon to find attention to the actual connections to the SAN neglected, with basic configurations that have single points of failure or less than optimal overall performance caused by bottlenecks and misconfiguration.

Complicating matters is the fact that many SAN vendors provide their own device drivers and management software designed to work with their equipment—but that the OS can’t take true advantage of. Often, SANs built using equipment from multiple vendors must use generic drivers and might lack end-to-end management. 

To address these problems, Microsoft built support for Multipath I/O (MPIO) in Windows Server, which is designed to help businesses build highly available, fault-tolerant SAN configurations. As an additional benefit, MPIO can improve performance depending on your SAN equipment and overall configuration. In this article, I describe some of the features of MPIO in Windows Server 2008 R2, and I provide general recommendations for leveraging this powerful feature in your environment.

 

MPIO Basics

Before going into detail about the features of MPIO in Windows Server, it’s necessary to cover a few basics about the available configuration options, including the benefits of each option. Note that some of these options might not be available to you, depending on the type of SAN you have, as well as the support for MPIO available from the manufacturer of the components that it consists of. Server 2008 R2 supports the following six MPIO configurations:

  • Failover
  • Failback
  • Round-Robin
  • Least Queue Depth
  • Weighted Path
  • Least Blocks

Failover. The simple Failover configuration, also known as Fail Over Only, requires two or more paths from the server to the disks whether DAS, via host bus adapters (HBAs) in a Fibre Channel system, or NICs and paths in an iSCSI SAN. The SAN administrator will select one path as the primary communication path and each additional path as failover paths. Each failover path has a preference assigned to it, and each path is used in turn from the most preferred to the least preferred when the primary path fails. When the primary path is restored, the SAN administrator must manually configure the system to use it, switching back from the failover path in use. 

Failback. The second configuration option, called Failback, is somewhat related to the Failover option. Like Failover, a primary path is defined; when it fails, communication is routed over alternative paths in decreasing order of preference. However, unlike Failover, communication is routed back over the primary path when it’s restored. Failback is typically used when a primary communication path is faster or has fewer devices between the server and the disk subsystem than Failover paths and therefore has fewer points of failure. It should be noted that Failover and Failback operations aren’t necessarily instantaneous, and there might be momentary disruptions in service when communication paths are switched. Although many applications won’t suffer from momentary disruptions, high-performance applications such as database servers and heavily used email mailbox servers might see even a momentary disruption as a disk failure, which could cause unintended consequences such as server cluster node failovers on connected servers. For this reason, Failover is typically preferred over Failback unless the differences between the primary and alternative paths are marked. Figure 1 shows an example of Failover and Failback configurations in an iSCSI SAN deployment.

Figure 1: iSCSI MPIO Failover and Failback
Figure 1: iSCSI MPIO Failover and Failback

Round-Robin. When a server has two or more communication paths, the SAN administrator can choose to leverage them in a Round-Robin configuration. In this configuration, if a path fails, it ceases to be used by the server and is dropped from the round-robin pool of available paths until communication is restored. The advantage of this configuration is that requests are sent over multiple paths to the disk subsystem, which can improve performance. This configuration doesn’t take into account the performance characteristics of each path, the complexity of the requests, or a queue of outstanding requests on a path, if any. To address potential performance issues, a SAN administrator should use this configuration only if all communication paths are equal.



ARTICLE TOOLS

Comments
    There are no comments to display. Be the first one!
You must log on before posting a comment.

Are you a new visitor? Register Here