Configuring Multipath I/O
Hardware vendors typically supply a Device Specific Module (DSM) for SAN hardware and software for configuring multipath I/O. That said, the Multipath I/O feature now includes the Microsoft DSM and some basic configuration options. The Microsoft DSM supports the Active/Active controller model as well as the asymmetric logical unit access controller model. It also implements path selection policies failover, failback, and load balancing. Failover policies allow you to configure a secondary path that should be used if a preferred path fails. If you want the preferred path to be used automatically when it becomes operational again, you can configure a failback policy.
Several types of load balancing policies are available, including round-robin, dynamic least queue depth, and weighted path. With round-robin, you can configure the DSM to use all available I/O paths in a balanced, round-robin fashion. With dynamic least queue depth, you can configure the DSM to route I/O to the path with the least number of outstanding requests. With weighted path, you assign each path a weight to indicate its relative priority with regard to a particular application and the DSM selects the path with the least weight among the available paths.
Devices that support the Active/Active controller model are referred to as Active/Active devices and by default are configured to use round-robin. Generally, devices that support the asymmetric logical unit access (ALUA) controller model are compliant with the standard called SCSI Primary Commands-3 (SPC-3) or later and by default are configured to use failover.
You manage the multipath I/O configuration using the MPIO Properties dialog box or the Mpclaim command-line tool. After you install the Multipath I/O feature using the Add Features Wizard, both tools are available on the server. You open the MPIO Properties dialog box, by selecting MPIO on the Administrative Tools menu.
Adding Multipath Hardware Devices
When you open the MPIO Properties dialog box and select the Discover Multi-Paths tab, Windows checks for available multipath devices and lists them by their hardware ID. To also view iSCSI devices, select the Add Support For iSCSI Devices check box. Using the MPIO Properties dialog box, you can manually configure a device to use multipath I/O by following these steps:
- Open the MPIO Properties dialog box. On the MPIO-ed Devices tab, you'll see a list of currently configured multipath devices. If the device you want to work with is not listed, click Add.
- In the Add MPIO Support dialog box, type the vendor ID as an eight-character string followed by the product ID for the device as a 16-character string. Click OK.
- You are prompted to restart the server to complete the operation. Click Yes to restart the server.
At an elevated command prompt, you can use Mpclaim to configure devices to use multipath IO as well. The basic syntax for installing a device follows:
mpclaim -r -i [-a | -c | -d DeviceId]
The -r parameter indicates that you want to restart the server to allow the device installation to be completed. Although you can suppress the restart using the -n parameter instead of -r, the device will not be installed and available for use until you restart the server. Use the -a parameter to configure multipath I/O support for all compatible devices. Use the -c parameter to configure multipath I/O support for all SPC-3 compliant devices. Use the -d parameter followed by a device's hardware ID to install a specific hardware device. The hardware ID of a device includes the vendor ID as an eight-character string followed by the product ID for the device as a 16-character string. In the following example, you install a device with EMSVendo0000234767834215 as the hardware ID:
mpclaim -r -i -d EMSVendo0000234767834215
Removing Multipath Hardware Devices
Using the MPIO Properties dialog box, you can uninstall MPIO for a device by following these steps:
- Open the MPIO Properties dialog box. On the MPIO-ed Devices tab, you'll see a list of currently configured multipath devices.
- Select the device that should no longer use multiple path I/O and then click Remove.
- You are prompted to restart the server to complete the operation. Click Yes to restart the server.
At an elevated command prompt, you can use Mpclaim to uninstall multipath I/O for a device as well. The basic syntax for uninstalling a device follows:
mpclaim -r -u [-a | -c | -d DeviceId]
Except for the -u parameter for uninstalling a device, the other parameters are the same as when you are installing MPIO for a device. The following example uninstalls the previously installed device:
mpclaim -r -u -d EMSVendo0000234767834215
Meeting Performance, Capacity, and Availability Requirements
Whether you are working with internal or external disks, you should follow the same basic principles to help ensure that the chosen storage solutions meet your performance, capacity, and availability requirements. Storage performance is primarily a factor of the disk's access time (how long it takes to register a request and scan the disk), seek time (how long it takes to find the requested data), and transfer rate (how long it takes to read and write data). Storage capacity relates to how much information you can store on a volume or logical disk.
Although early NTFS implementations limited maximum volume size and file size limit to 32 GB, later implementations extended these limits. With Windows Server 2008, you can have a maximum NTFS volume size of 256 TB minus 64 KB when you are using 64-KB clusters, and 16 TB minus 4 KB when you are using 4-KB clusters. Windows Server 2008 has a maximum file size on an NTFS volume of up to 16 TB minus 64 KB. Further, Windows Server 2008 supports a maximum of 4,294,967,294 files on each volume, and a single server can manage hundreds of volumes (theoretically, around 2,000).
Storage availability relates to fault tolerance. You ensure availability for essential applications and services by using cluster technologies. If a server has a problem or a particular application or service fails, you have a way to continue operations by failing over to another server. In addition to clusters, you can help ensure availability by saving redundant copies of data, keeping spare parts, and if possible making standby servers available. At the disk and data level, availability is enhanced by using redundant array of independent disks (RAID) technologies. RAID allows you to combine disks and to improve fault tolerance.
RAID can be implemented in software or in hardware. By using software RAID, the operating system maintains the disk sets at some cost to server performance. Windows Server 2008 supports RAID 0 (disk striping), RAID 1 (disk mirroring), and RAID 5 (disk striping with parity). Each of these software-implemented RAID levels requires processing power and memory resources to maintain. By using hardware RAID, you use separate hardware controllers (RAID controllers) to maintain the disk arrays. Although this requires the purchase of additional hardware, it takes the burden off the server and can improve performance. Why? In a hardware-implemented RAID system, processing power and memory aren't used to maintain the disk arrays. Instead, the hardware RAID controller handles all the necessary processing tasks. Some hardware RAID controllers have integrated disk caching as well, which can give a further boost to overall RAID performance.
The RAID levels available with a hardware implementation depend on the hardware controller and the vendor's implementation of RAID technologies. Some hardware RAID configurations include RAID 0 (disk striping), RAID 1 (disk mirroring), RAID 0+1 (disk striping with mirroring), RAID 5 (disk striping with parity), and RAID 5+1 (disk striping with parity plus mirroring).
In this tutorial:
- Storage Management
- Essential Storage Technologies
- Improving Storage Management
- Booting from SANs and Using SANs with Clusters
- Configuring Multipath I/O
- Installing and Configuring File Services
- Configuring the File Services Role
- Configuring Storage
- Adding New Disks
- Using the MBR and GPT Partition Styles
- Using and Converting MBR and GPT Disks
- Using the Disk Storage Types
- Using and Converting Basic and Dynamic Disks
- Converting FAT or FAT32 to NTFS
- Working with Removable Disks
- Managing MBR Disk Partitions on Basic Disks
- Formatting a Partition, Logical Drive, or Volume
- Configuring Drive Letters
- Configuring Mount Points
- Extending Partitions
- Shrinking Partitions
- Managing GPT Disk Partitions on Basic Disks
- Primary Partitions
- Managing Volumes on Dynamic Disks
- Configuring RAID 0: Striping
- Moving Dynamic Disks
- Configuring RAID 1: Disk Mirroring
- Mirroring Boot and System Volumes
- Configuring RAID 5: Disk Striping with Parity
- Breaking or Removing a Mirrored Set
- Repairing a Mirrored System Volume
- Resolving Problems with RAID-5 Sets