Mpio - Boot From SAN

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 51

Windows Server High Availability with Microsoft MPIO

www.Microsoft.com/MPIO

Microsoft Corporation Published: January 2009

Abstract
A growing number of organi ations re!uire that their data be available "#$%& year round. 'o meet this re!uirement& centrali ed storage must be readily available and immune to outages at all times .'he Microsoft Multi(ath I/O )MPIO* framewor+ (rovides su((ort for multi(le data (aths to storage to im(rove fault tolerance of connection to storage& and may in some cases (rovide greater aggregate through(ut by using multi(le (aths at the same time.

'his white(a(er is intended for the following grou(s,


'he I' e$ecutive who is res(onsible for ensuring data is highly reliable and available and ma+es the relevant (rocurement and evaluation decisions. 'he first half of this (a(er focuses u(on the e$ecutive& (roviding an overview of the (roblem and the Microsoft im(lemented solution. 'he storage administrator who is ultimately res(onsible for ensuring that an organi ation-s data remains highly available. 'he second half of the (a(er addresses the needs of the storage administrator and includes a trouble shooting section Storage vendors who target Multi.Path solutions using the Microsoft MPIO framewor+ in Windows Sever "//0 and Windows Server "//1 family of o(erating systems. .

Microsoft Windows Server 200 White Paper

!he infor"ation contained in this docu"ent represents the current view of Microsoft Corporation on the issues discussed as of the date of publication# $ecause Microsoft "ust respond to chan%in% "ar&et conditions' it should not be interpreted to be a co""it"ent on the part of Microsoft' and Microsoft cannot %uarantee the accuracy of any infor"ation presented after the date of publication# !his docu"ent is for infor"ational purposes only# M(C)*S*+! M,-.S /* W,)),/!(.S' .0P).SS *) (MP1(.2' ,S !* !3. (/+*)M,!(*/ (/ !3(S 2*C4M./!# Co"plyin% with all applicable copyri%ht laws is the responsibility of the user# Without li"itin% the ri%hts under copyri%ht' no part of this docu"ent "ay be reproduced' stored in or introduced into a retrieval syste"' or trans"itted in any for" or by any "eans 5electronic' "echanical' photocopyin%' recordin%' or otherwise6' or for any purpose' without the e7press written per"ission of Microsoft Corporation# Microsoft "ay have patents' patent applications' trade"ar&s' copyri%hts' or other intellectual property ri%hts coverin% sub8ect "atter in this docu"ent# .7cept as e7pressly provided in any written license a%ree"ent fro" Microsoft' the furnishin% of this docu"ent does not %ive you any license to these patents' trade"ar&s' copyri%hts' or other intellectual property# 9 200 Microsoft Corporation# ,ll ri%hts reserved# Microsoft' Windows' Windows Server and Windows :ista are either re%istered trade"ar&s or trade"ar&s of Microsoft Corporation in the 4nited States and;or other countries# !he na"es of actual co"panies and products "entioned herein "ay be the trade"ar&s of their respective owners#

Contents
Contents.................................................................................................................................................. 1 High Availability Solutions.................................................................................................................... 2 MPIO Solutions....................................................................................................................................... 4 Making MPIO- ase! Solutions "ork.................................................................................................... # $he "in!o%s Storage Stack an! &rivers ......................................................................................... 1' (sing MPIO on "in!o%s Server 2'') ...............................................................................................1* (sing +,clai+.e-e to con.igure MPIO on "in!o%s Server 2'')..................................................../' Installation o. MPIO on Server Core installations o. "in!o%s Server 2'')........................................................................................................................................................ // .............................................................................................................................................................. /4 A,,en!i- A 0 Scri,t 1-a+,le 2 3uery the MPIO Policy .or a !evice................................................/4 A,,en!i0 MPIO 5 &SM Con.iguration an! best ,ractices ......................................................../*

A,,en!i- C 0 &eter+ining the Har!%are I& to be use! %ith MPIO..................................................41 A,,en!i- & 0 1nabling so.t%are tracing .or MPIO............................................................................44 A,,en!i- 1 - MPIO ti+ers.................................................................................................................... 4# A,,en!i- 6 0 Acrony+s2..................................................................................................................... 4* Conclusion ........................................................................................................................................... 4) 7esources............................................................................................................................................. 48

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

High Availability Solutions


3ee(ing mission.critical data continuously available has become a re!uirement over a wider range of customer segments from small business to datacenter environments. 4nter(rise environments using Windows Server re!uire 55.555 (ercent u(time for all +ey wor+loads including file server& database& messaging and other line of business a((lications. 'his level of availability can be difficult and very costly to achieve and it re!uires that redundancy be built in at multi(le levels, storage redundancy& bac+u(s to se(arate recovery servers& server clustering& and redundancy of the (hysical (ath com(onents.

A,,lication Availability through 6ailover Clustering


6lustering is the use of multi(le servers& Host 7us Ada(ters )H7A-s*& and storage devices that wor+ together to (rovide users with high a((lication availability. If a server e$(eriences a hardware failure& or is tem(orarily unavailable& end users are still able to trans(arently access data or a((lications on a redundant cluster node. In addition to (roviding redundancy at the server level& 6lustering can also be used as a tool to minimi e the downtime re!uired for (atch management and hardware maintenance. 6lustering solutions re!uire software that enables trans(arent failover between systems. Windows Server 8ailover 6lustering )WS86* or Microsoft 6luster Server )MS6S* as it was (reviously +nown is one such solution that is included with the 4nter(rise 4dition and 9atacenter versions of Microsoft Windows Server "//0 and Windows Server "//1.

Storage 7e!un!ancy through 7AI&


High availability solutions based on redundant arrays of inde(endent dis+s ):AI9* have been in use with mainframe e!ui(ment for several decades& and have been su((orted in the Windows o(erating system since the first release of Windows ;'. :AI9 solutions (rovide (rotection of data through the use of redundant dis+s& which can be configured for both fault tolerance and/or im(roved (erformance.

Storage Availability through MPIO


'he Microsoft MPIO framewor+ allows Windows to manage and efficiently use u( to 1" (aths from storage devices and a((lications/o(erating systems. Although both MPIO and WS86 result in high availability and im(roved (erformance& they are not e!uivalent conce(ts. While clustering (rovides high a((lication availability and tolerance of server failure& MPIO (rovides fault tolerant connectivity to storage. 7y em(loying MPIO and WS86 together as com(limentary technologies users are able to mitigate the ris+ of a system outage at both the hardware and a((lication levels. ;ote, When using the iS6SI Software 7oot initiator& a ma$imum of " (aths to the boot volume are su((orted.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"

MPIO (rovides the logical facility for routing I/O over redundant hardware (aths connecting server to storage. 'hese redundant hardware (aths are made u( of com(onents such as the cabling& Host 7us Ada(ters )H7A-s*& Switches& and Storage 6ontrollers and (ossibly even (ower. MPIO solutions logically manage these redundant connections so that I/O re!uests can be rerouted in the event that a com(onent along one (ath fails. As more and more data is consolidated on Storage Area ;etwor+s )SA;-s*& the (otential loss of access to storage resources is unacce(table. 'o mitigate this ris+& high availability solutions& li+e MPIO& have now become a re!uirement.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

MPIO Solutions
MPIO is a Microsoft.(rovided framewor+ that allows storage (roviders to develo( multi(ath solutions that contain the hardware s(ecific information needed to o(timi e connectivity with their storage arrays. 'hese modules are called 9evice S(ecific Modules )9SM-s*. 'he conce(ts around 9SM-s are e$(lored in greater detail later on within this document. 'he Microsoft MPIO solution is (rotocol inde(endent and can be used with 86& iS6SI& (arallel S6SI& and Serial Attached S6SI )SAS* interfaces on the following o(erating systems Windows Server "//02 Windows Server "//1

Multi,ath solutions in "in!o%s Server 2'') With Windows Server "//0& an I' storage administrator has several of choices while de(loying a MPIO solution. 'hese include, 9e(loy the Microsoft MPIO framewor+ and use a storage vendor (rovided 9SM for Windows Server "//0 in a 86& iS6SI& or SAS shared storage configuration 9e(loy the Microsoft MPIO framewor+ using the Microsoft 9SM )MS9SM* which is a generic 9SM (rovided for Windows Server "//0 in a 86& iS6SI& or SAS shared storage configuration

'he notable enhancements to the Microsoft MPIO solution in Windows Server "//0 include, As (reviously discussed& a com(lete solution that an I' de(artment can de(loy along with the a((ro(riate hardware Su((ort for Asymmetrical <ogical =nit Access )A<=A* controller model as defined in S6SI Primary 6ommands.1 )SP6.1*. Su((ort for storage arrays that follow the Active/Active controller model. 'his su((ort allows for using all available I/O (aths when they are healthy. /ote: When usin% the MS2SM' stora%e that i"ple"ents an ,ctive;,ctive stora%e sche"e but does not support ,14, will default to use the <+ailover=*nly> 1oad $alance policy' althou%h a different policy "ay be chosen later# Multi(athing solutions are not eligible to receive logo !ualification unless they adhere to the MPIO framewor+. I' administrators should verify the logo status of array vendor solutions. 'he following lin+ lists solutions logoed with vendor storage (roducts.

+ailover Clusterin% in Windows Server 200 does not support the use of parallel SCS( stora%e

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

8or additional information on logo re!uirements (lease refer to the Win>ual <ogo Site )htt(s,//win!ual.microsoft.com/default.as($*

With Windows Server "//1& an I' storage administrator can, 9e(loy a solution available only from vendors for a SA;. 'he storage array (artner builds their 9SM and offers the solution using the Microsoft MPIO framewor+ that Microsoft ma+es available to (artners. On the Windows Server "//1 (latform& the (artner (rovides a 9evice S(ecific Module )9SM* that understands the nuances of the vendor hardware and (lugs into the Microsoft (rovided MPIO architecture." 9e(loy the Microsoft MPIO 9SM for iS6SI included in the Microsoft iS6SI Software Initiator (ac+age

'his ?oint solution allows storage (artners to design hardware solutions that are integrated with the Windows o(erating system. 6om(atibility with both the o(erating system and other (artner (rovided storage devices is ensured through the Windows <ogo (rogram tests to hel( ensure (ro(er storage device functionality. 'his ensures a highly available multi(ath solution using Microsoft MPIO which offers su((ortability across Windows OS im(lementations. 6ustomers should refer to guidance from their hardware storage array (artner on which 9SM to use with their storage. Multi(ath solutions are su((orted as long as a 9SM is im(lemented in line with <ogo re!uirements for MPIO. Most Multi(ath solutions for Windows today do use the MPIO architecture and use a 9SM (rovided by the storage IH@. 6ustomers may use the Microsoft 9SM (rovided by Microsoft in Server "//0 if su((orted by storage (artner as well. 6ustomers should refer to their storage array (artner for guidance on which 9SM to use with a given storage array as well as the o(timal configuration. Multi(ath software suites available from storage IH@-s ty(ically (rovide an additional value add beyond the im(lementation of the MS9SM as the software ty(ically also (rovides auto configuration& heuristics for s(ecific storage arrays& as well as statistical analysis& and integrated management& It-s generally recommended to use the 9SM (rovided by the hardware storage array (artner to achieve o(timal (erformance since the storage array (artner can ma+e more advanced (ath decisions in their 9SM s(ecific to their array.

On Microsoft Windows Server 2003, the storage provider will redistribute the MPIO framework with the storage providers DSM.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

Making MPIO- ase! Solutions "ork


'he Windows o(erating system relies on the Plug and Play )PnP* Manager to dynamically detect and configure hardware )such as ada(ters or dis+s*& including hardware used for high availability/high (erformance Multi(athing solutions. /ote: , reboot is re?uired when the MP(* feature is first installed#

&evice &iscovery an! 1nu+eration


MPIO/Multi(ath drivers cannot wor+ effectively or efficiently until it discovers& enumerates and configures different devices that the OS sees through redundant ada(ters into a logical grou(. We will briefly outline in this section as to how MPIO wor+s along with 9SM in discovering and configuring the devices. Without any multi(ath driver the same devices through different (hysical (ath would loo+ li+e totally different devices thereby leaving room for data corru(tion. 8igure2 de(icts this scenario

6igure 12 "hat the o,erating syste+ 9sees: %ith an! %ithout MPIO 'he following are the se!uence of ste(s that the device driver stac+ wal+s through in discovering& enumerating and grou(ing the (hysical devices& device (aths into a logical set. )Assuming a scenario where a new device is being (resented to the server* 2. ;ew device arrives. ". PnP manager detects the arrival of this device. 1. MPIO driver stac+ is notified of this device arrival )it will ta+e further action if it is a su((orted MPIO device*. #. MPIO driver stac+ creates a (seudo device for this (hysical device. A. MPIO driver wal+s through all the available 9SM-s to find out which vendor s(ecific 9SM can claim this device. After a 9SM claims a device it is associated only with the 9SM that claimed it. B. 'he MPIO driver& along with the 9SM& ma+es sure the (ath to this device is connected& active& and ready for IO.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

If a new (ath for this same device arrives& MPIO then wor+s with the 9SM to determine whether this device is the same as any other claimed device. It then grou(s this (hysical (ath for the same device into a logical set called multi(ath grou(.

(ni;ue Storage &evice I!enti.ier


8or dynamic discovery to wor+ correctly& some form of identifier must be identified and obtainable regardless of the (ath from the host to the storage device. 4ach logical unit must have a uni!ue hardware identifier. 'he MPIO driver (ac+age does not use dis+ signatures (laced in the data area of a dis+ for identification (ur(oses by software. Instead& the Microsoft (rovided generic 9SM manufactures a uni!ue serial number from the hardware data re(orted by standard S6SI I;>=I:C commands. MPIO also (rovides for o(tionally using device manufacturer assigned uni!ue serial numbers. Since not all storage IH@-s assign their devices a uni!ue hardware serial number& Microsoft includes in its sam(le generic 9SM source code a means of deriving one& using other S6SI I;>=I:C data. Alternatively& vendor.s(ecific mechanisms can be im(lemented in IH@-s 9SM.

&yna+ic <oa! alancing


<oad balancing& the redistribution of read/write re!uests for the (ur(ose of ma$imi ing through(ut between server and storage device& is es(ecially im(ortant in high wor+load settings or other settings where consistent service levels are critical. Without Multi Path I/O software& a server sending I/O re!uests down several (aths may o(erate with very heavy wor+loads on some (aths while others are underutili ed. 'he Microsoft MPIO software su((orts the ability to balance I/O wor+load& without administrator intervention. MPIO determines which (aths to a device are in an active state and can be used for load balancing. 4ach vendor-s load balancing (olicy )which may use any of several algorithms& such as round robin& the (ath with the fewest outstanding commands& or a vendor uni!ue algorithm* is set in the 9SM. 'his (olicy determines how the I/O re!uests are actually routed. /ote: (n addition to the support for load balancin% provided by MP(*' the hardware used "ust support the ability to use "ultiple paths at the sa"e ti"e rather than 8ust fault tolerance#

1rror Han!ling= 6ailover an! 7ecovery


'he MPIO driver& in combination with the 9SM& su((orts end.to.end (ath failover. 'he (rocess of detecting failed (aths and recovering from the failure& li+e load balancing& is automatic& usually fast& and com(letely trans(arent to the I' organi ation. 'he data ideally remains available at all times. ;ot all errors result in failover to a new (ath. Some errors are tem(orary and can be recovered using a recovery routine in the 9SMD if recovery is successful& MPIO is notified and (ath validity chec+ed to verify that it can be used again to transmit I/O re!uests. When a fatal error occurs& the (ath is invalidated and a new (ath is selected. 'he I/O is resubmitted on this new (ath without re!uiring the A((lication layer to resubmit the data.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

&i..erences in loa! balancing ter+inology2 'here are " (rimary ty(es of load balancing technology referred to within Microsoft Windows. 'his white(a(er discusses the use of the first only. 2. MPIO <oad 7alancing E 'his ty(e of load balancing su((orted by MPIO is the use of multi(le data (aths between server and storage to (rovide greater through(ut of data then could be achieved with only one connection. ". ;etwor+ <oad 7alancing );<7* E 'his is a Microsoft Windows 6luster technology that (rovides load balancing of networ+ interfaces to (rovided greater through(ut across a networ+ to the server& and is most ty(ically used with Internet Information Server )IIS*.

&i..erences in .ailover technology2 When s(ea+ing about data (ath failover& such as the failover of H7A or iS6SI connections to storage& the following main ty(es of failover are available, 2. MPIO based 8ault 'olerant )8'* failover E In this scenario& multi(le data (aths to the storage are configured& and in the event that one (ath fails& the H7A or ;I6 is able to failover to the other (ath& and re.send any outstanding IO. a. 8or a server that has one or more H7A or ;I6& MPIO offers su((ort for redundant switch fabrics or connections from the switch to the storage array. b. 8or a server that has more than one H7A or ;I6& MPIO also offers (rotection against the failure of one of those ada(ters within the server directly. ". MPIO based <oad 7alancing E In this scenario& multi(le (aths to storage are also defined& however the 9SM is able to balance the data load to ma$imi e through(ut. 'his configuration can also em(loy 8' behavior so that if one (ath fails& all data would go over an alternate (ath. In some hardware configurations you may have the ability to (erform dynamic firmware u(dates on the storage controller& such that a com(lete outage is not re!uired for firmware u(dates. 'his ca(ability is hardware de(endant and re!uires )at a minimum* that more than one Storage 6ontroller be (resent on the storage so that data (aths can be moved off of a storage controller for u(grades. 1. 'he third ty(e of failover& such as Windows Server 8ailover 6lustering )WS86*. 'his ty(e of configuration offers resource failover at the a((lication level from one cluster server node to another. 'his ty(e of failover is more invasive than storage (ath failover in that it will re!uire client a((lications to reconnect after failover& and resend data from the a((lication layer. 'his method can be combined with scenarios 2 and/or " above to further mitigate ris+ e$(osure to different ty(es of hardware failures. 9ifferent behaviors are available de(ending on the ty(e of failover technology used& and whether it is combined with a different ty(e of failover or redundancy. 6onsider the following scenarios,

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

Scenario 12 (sing MPIO %ithout clustering2 'his scenario (rovides for either a fault tolerant connection to data& or a load balanced connection to storage. Since this layer of 8' o(eration (rotects only the connectivity between the server and storage& it does not (rovide (rotection against server failure.

Scenario 22 Co+bining the use o. MPIO in .ault tolerant +o!e %ith "S6C2 'his configuration (rovides the following advantages, If a (ath to the storage fails& MPIO can use an alternate (ath without re!uiring client a((lication reconnection. If an individual server e$(eriences a critical event such as hardware failure& the a((lication managed by WS86 is failed over to another cluster node. While this does re!uire client reconnection& the time to restoration of service may be much shorter than that re!uired for re(lacing the failed hardware.

Scenario /2 Co+bining the use o. MPIO in loa! balancing +o!e %ith "S6C2 'his scenario (rovides the same benefits as scenario " (lus, 9uring normal o(eration& multi(le data (aths may be em(loyed to (rovide greater aggregate through(ut than one (ath could (rovide.

Scenarios " and 1 may also be used as an aid to software u(date management to reduce total downtime (erceived by clients by ma+ing the managed a((lication available again on a different server while one is u(dated.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

$he "in!o%s Storage Stack an! &rivers


8or the o(erating system to correctly (erform o(erations that relate to hardware& such as addition or removal of devices or transferring I/O re!uests from an a((lication to a storage device& the correct device drivers must be associated with the device. All device.related functionality is initiated by the o(erating system& but under direct control of subroutines contained within each driver. 'hese (rocesses are considerably com(licated when there are multi(le (aths to a device. 'he MPIO software (revents data corru(tion by ensuring correct handling of the driver associated with a single device that is visible to the o(erating system through multi(le (aths. 9ata corru(tion is li+ely to occur because when an o(erating system believes two se(arate (aths lead to two se(arate storage volumes& it does not enforce any seriali ation or (revent any cache conflicts. 6onsider what would ha((en if ;'8S tries to initiali e its ?ournal log twice on a single volume.

Storage Stack an! &evice &rivers


Storage architecture in Windows consists of a series of layered drivers& as shown in 8igure ". );ote that the a((lication and the dis+ subsystem are not (art of the storage layers.* When a device such as a storage dis+ is first added in& each layer of the hierarchy is res(onsible for ma+ing the dis+ functional )such as by adding (artitions& volumes and the file system )8S**. 'he stac+ layers below the bro+en line are collectively +nown as the device stac+ and deal directly with managing storage devices.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2/

6igure 2. $he "in!o%s Storage Stack &evice &rivers 9evice drivers manage s(ecific hardware devices& such as a dis+s or ta(es& on behalf of the o(erating system.

Port &rivers Port drivers manage different ty(es of trans(ort& de(ending on the ty(e of ada(ter )=S7& iS6SI or 8ibre 6hannel )86*& for e$am(le* in use. Historically& one of the most common (ort drivers in the Windows system was the S6SI(ort driver. In con?unction with the class driver& the (ort driver handles PnP and (ower functionality. Port drivers manage the connection between the device and the bus. Windows Server "//1 introduced a new (ort driver& Stor(ort& which is better suited to high. (erformance& high.reliability environments and is ty(ically much more commonly used than S6SI(ort today.

Mini,ort &rivers 4ach storage ada(ter has an associated device driver +nown as a Fmini(ort.G 'his driver im(lements only those routines necessary to interface with the storage ada(ter-s hardware. A mini(ort (artners with a (ort driver to im(lement a com(lete layer in the storage stac+& as shown in 8igure ". Class &river 6lass drivers manage a s(ecific device ty(e. 6lass drivers are res(onsible for (resenting a unified dis+ interface to the layers above )for e$am(le& to control read/write behavior for a dis+*. 'he class driver manages the functionality of the device. 6lass drivers )li+e (ort and mini(ort drivers* are not a (art of the MPIO driver (ac+age (er seD however& the Plug and Play dis+ class driver& dis+.sys& is used as (art of the Multi(athing solution& since the class driver controls the dis+ add/removal (rocess and I/O re!uests (ass through this driver to the MPIO bus driver )see FMPIO 9rivers&G the following section*. 'he MPIO driver (ac+age consists of three multi(ath drivers, the (ort filter driver& the dis+.driver re(lacement& and the bus driverD all are im(lemented in the +ernel mode of the o(erating system. 'he MPIO driver (ac+age wor+s in combination with the PnP Manager& the dis+ class driver& the (ort driver& the mini(ort driver& and a device.s(ecific module )9SM* to (rovide full Multi(ath functionality. Multi,ath Port 6ilter &river >+,s.ltr? 'he multi(ath (ort filter driver loads between the (ort driver and the class driver& and manages information (assed u( the stac+ by the (ort drivers. 'he filter changes the default I9 for dis+ devices from the generic one of FHen9is+G to the MPIO s(ecific FMPIO9is+G.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

22

Multi,ath &isk &river >+,!ev.sys? 'he multi(ath dis+ driver wor+s as a (arallel im(lementation to the e$isting class driver. Once a device is identified and the 9SM of a s(ecific vendor is associated with it& m(dev.sys claims ownershi( of the dis+ device ob?ect )the P9O* and (revents any other driver from being associated with it. 'his directly (revents another driver from creating another device stac+ on the same <=; and mounting a new file systemIa (rocess that would destroy the original file system and any data on the <=;. Without this driver& this dis+ class driver would claim each instance of the dis+ devices& creating multi(le active (aths to the device. 'his driver also notifies the MPIO bus driver of new device arrivals.

Multi,ath us &river >+,io.sys? 7us drivers are res(onsible for managing the connection between the device and the host com(uter. 'he multi(ath bus driver (rovides a Fsoftware bus )also technically termed a Froot busG*GIthe conce(tual analog to an actual bus slot into which a device (lugs. It acts as the (arent bus for the multi(ath children )dis+ P9Os*. As a root bus& m(io.sys can create new device ob?ects that are not created by new hardware being added into the configuration. 'he MPIO bus driver also communicates with the other multi(ath drivers ) the MPIO (ort filter and MPIO class driver*& manages the PnP connection and (ower control between the hardware devices and the host com(uter& and uses WMI to allow storage array (artners to monitor and manage their storage and associated 9SMs. &SM Manage+ent Management and monitoring of the 9SM can be done through WMI. On Windows Server "//0& MPIO may be configured using the m(claim.e$e tool and additionally does include the needed WMI code within the MPIO drivers.

MPIO &rivers in "in!o%s Server 2'')


On Windows Server "//0& some of these MPIO drivers have been integrated into the storage stac+. In (articular 'he MPIO (ort filter driver m(s(fltr.sys has been integrated into Stor(ort. 'he M(dev dis+ class driver functionality has been integrated into class(n( .

/ote: (n order to receive a Windows 1o%o' "ultipath solutions need "eet the re?uire"ents of the MP(* +ra"ewor&# Stora%e partners that i"ple"ent their own class driver 5le%acy "ultipath6 are not supported in Windows Server 200

MPIO &SM
As e$(lained earlier& a storage IH@-s 9SM incor(orate +nowledge of the IH@-s hardware. A 9SM interacts with the MPIO driver. 'he MPIO 993 available from Microsoft includes source for a generic 9SM that Storage (artners can modify. A 9SM (lays a crucial role in device initiali ation& I/O re!uest handling including I/O re!uest error handling. 'hese 9SM actions are described further in the following sections.
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2"

&evice Initiali@ation :ecall that MPIO allows for devices from different storage vendors to coe$ist& and be connected to the same Windows Server "//0 based or Windows Server "//1 based system. 'his means a single Windows server may have multi(le 9SM-s installed. When a new eligible device is detected via PnP& MPIO attem(ts to determine which 9SM is a((ro(riate to handle this (articular device. MPIO contacts each 9SM& one device at a time. 'he first 9SM to claim ownershi( of the device is associated with that device and the remaining 9SMs are not allowed a chance to (ress claims for that already claimed device. 'here is no (articular order in which the 9SMs are contacted& one at a time. 'he only guarantee is that the Microsoft generic 9SM is always contacted last. If the 9SM does su((ort the device& it then indicates whether the device is a new installation& or the same device (reviously installed but which is now visible through a new (ath.

MPIO !evice !iscovery


8igure " showed the hierarchy of layered Windows drivers. 8igure 1 on the following (age illustrates how devices and (ath discovery wor+s with MPIO.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

21

Figure 3. MPIO device discovery flowchart

7e;uest Han!ling When an a((lication ma+es an I/O re!uest to a s(ecific device& the 9SM that claimed the device ma+es a determination& based on its internal load balancing algorithms& as to which (ath the re!uest should be sent.
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2#

1rror Han!ling If the I/O re!uest fails& the 9SM res(onsibilities include analy ing the failure to determine whether to sim(ly retry the I/O or to cause a failover to a new (ath or to return the error to the re!uesting a((lication. In case of a failover& the 9SM determines what new (ath should be used. 'he actual rebuild of the I/O and resubmission of the I/O is done by the Microsoft MPIO framewor+ and is not the res(onsibility of the 9SM. 'he details of the 9SM/MPIO interaction to ma+e all of this ha((en are beyond the sco(e of this document& and are given in the MPIO 9river 9evelo(ment 3it )993* material available from Microsoft. &etails o. the "in!o%s Server 2'') Microso.t &SM 'he Microsoft 9SM (rovided as (art of the com(lete solution in Windows Server "//0 includes su((ort for the following (olicies, 8ailover& where no load balancing is (erformed. 'he 9SM will s(ecify a (rimary (ath and a set of standby (aths. Primary (ath is used for (rocessing device re!uests. If the (rimary (ath fails& one of the standby (aths will be used.. Any one of the available (aths could be used as (rimary (ath& and the remaining (aths will be used as standby (aths. ;ote, With an array that su((orts A<=A& (aths will ty(ically be referred to as Active / O(timi ed and Active =no(timi ed rather than only as a Primary (ath. 8ailbac+ is the ability to dedicate I/O to a designated (referred (ath whenever it is o(erational. If the (referred (ath fails& I/O will be directed to an alternate (ath& but will automatically switch bac+ to the (referred (ath& with some 9SM assistance when it becomes o(erational again. :ound :obin <oad balancing where the 9SM will use all available (aths for I/O in a balanced& round robin fashion. 'his is the default (olicy chosen when the storage controller follows the true Active.Active model and the management a((lication does not e$(licitly choose a load balancing (olicy. :ound :obin with subset of (aths is load balancing wherein the a((lication will s(ecify a set of (aths to be use in :ound :obin fashion& and a set of standby (aths. 'he 9SM will use (aths from (rimary (ool of (aths for (rocessing re!uests as long as at least one of the (aths is available. 'he 9SM will use a standby (ath only when all the (rimary (aths fail. 8or e$am(le& given # (aths E A& 7& 6& and 9& A& 7& and 6 are listed as (rimary (aths and 9 is standby (ath. 'he 9SM will choose a (ath from A& 7& and 6 in round robin fashion as long as at least one of them is available. If all three fail& the 9SM will start using 9& the standby (ath. If A& 7& or 6 become available& 9SM will sto( using 9 and switch to the available (aths among A& 7& and 6.

9ynamic <east >ueue 9e(th <oad 7alancing where the 9SM will route I/O to the (ath with the least number of outstanding re!uests.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2A

Weighted Path load balancing where a weight is assigned to each (athD the weight indicates the relative (riority of a given (ath. 'he larger the number the lower the (riority. 'he 9SM will choose a (ath& among the available (aths& with least weight.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2B

(sing MPIO on "in!o%s Server 2'')


'his section is focused on the Storage Administrator and e$(lains how to install& administer and troubleshoot MPIO on Windows Server "//0.

A!!ing MPIO Su,,ort on "in!o%s Server 2'')


MPIO is an O(tional 6om(onent )O6* in Windows Server "//0 and is not installed by default. 'o install MPIO su((ort on a Windows Server "//0 server& (erform the following ste(s, 2. 8rom Server Manager& select FAdd 8eaturesG as shown in 8igure #.

Figure 4. Windows Server 200 !dd Features "#I

". Select Multi(ath I/O as shown in 8igure A.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

2%

Figure $ % Windows Server 200 Features Selection for Installation "#I

1. 6lic+ ;e$t.

Figure &. Windows Server 200 MPIO Feature Installation 'onfir(ation "#I

#. 6lic+ Install as shown in 8igure B.


Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

20

Figure ). Windows Server 200 MPIO Installation Progress "#I

A. Allow MPIO Installation to com(lete.

Figure . Windows Server 200 MPIO Installation *esults "#I

B. 6lic+ F6loseG to finish the MPIO installation


Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

25

MPIO Con.iguration an! &SM installation


When MPIO is installed& the Microsoft (rovided 9SM is also installed. An MPIO control (anel is also installed. 'his MPIO control (anel can be used to, 6onfigure MPIO functionality Install additional storage 9SMs

'he MPIO control (anel is accessed from the classic view of the 6ontrol Panel as shown in 8igure 5 on the ne$t (age.

Figure +. Windows Server 200 'ontrol Panel 'lassic ,iew showing MPIO 'ontrol Panel !--let

MPIO 6onfiguration can also be launched from Administrative 'ools as shown in 8igure 2/.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"/

Figure .0. Windows Server 200 !d(inistrative tools showing MPIO ad(inistration a--let

When the MPIO 6ontrol Panel a((let is launched as shown in either 8igure 5 or 8igure 2/& the a((let generates an MPIO Pro(erties (age as shown in 8igure 22

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"2

Figure ... MPIO Pro-erties "#I

'he MPIO Pro(erties (age has 1 tabs and by default& the MPIO.ed 9evices 'ab is selected. 'he FMPIO.ed 9evicesG tab shows the hardware I9-s of devices that will currently be managed by MPIO whenever they are (resent. 'he decision is based on their hardware id )ie. @endorJProduct string* matching one that is maintained by MPIO in its MPIOSu((orted9evice<ist )this is something that every 9SM s(ecifies in its I;8 at the time of installation*. 8igure 22 shows an e$am(le of a device is MPIO.ed. 'he Add 7utton in 8igure 22 allows for the administrator to s(ecify another MPIO.ed device. 8igure 2" shows the H=I generated when the Add tab in 8igure 22 is clic+ed.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

""

Figure .2 S-ecifying MPIO%ed devices "#I

/ote: !he :endor and Product (2@s needed in the <,dd MP(* Support> dialo% bo7 shown above will be provided by the Stora%e provider' and are specific to each type of hardware#

:eferring bac+ to 8igure 22& recall that there are 1 tabs in the H=I. 'he first tab FMPIO.ed devicesG Is e$(lained in (revious sections. 'he F9iscover Multi.PathsG tab runs an algorithm for every device instance that is (resent on the system and determines if multi(le instances actually re(resent the same <=; )through different (aths*. 8or such devices found& their hardware ids are (resented for the Admin for MPIO-ing )they-ll get MS9SM su((ort though*. Again& referring bac+ to 8igure 22& the F9SM InstallG tab can be used to install 9SMs (rovided by the storage IH@.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"1

Figure .3 /SM Install 0a1

Many storage arrays which are active/active and SP6.1 com(liant will wor+ using the Microsoft MPIO 9SM. Some storage array (artners also (rovide their own 9SMs to use with the Microsoft MPIO architecture. 'hese 9SMs may be installed using the 9SM Install tab in the MPIO (ro(erties 6ontrol Panel configuration utility, IH@-s are e$(ected to build their (ac+age using the MPIO 9evelo(ment 3it version 2."2 or higher from Microsoft. Many storage array (artners (rovide their own installation (ac+age for their 9SM. 8or Windows Server "//1& this installation (ac+age includes the MPIO core binaries signed by Microsoft. When such a (ac+age is run on Windows Server "//0& the o(erating system allows the vendor 9SM to be installed& but (revents the MPIO binaries already (resent in Windows Server "//0 from being u(dated by the (ac+age. 'hus the end result of running the vendor installation (ac+age is to (reserve the core MPIO binaries already (resent in Windows Server "//0& but the 1 rd (arty (rovided 9SM is added.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"#

How to configure the <oad 7alance (olicy for a <=;,


MPIO <=; load balancing is integrated with 9is+ Management. 'o configure MPIO <=; load balancing& start the 9is+ Management H=I

Figure .4 /is2 Manage(ent

8igure 2# shows the 9is+ Management H=I. :ight.6lic+ the 9esired dis+ )in this case 6, * to change the (olicy for& and choose (ro(erties,

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"A

Figure .$ /evice Pro-erties Page

6lic+ the MPIO tab in the 9evice Pro(erties Page shown in 8igure 2A.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"B

Figure .& MPIO /evice Pro-erties Page

8igure 2B shows the resulting H=I. 'he 9esired <oad 7alance Policy can be configured by selecting the dro(.down menu for <oad 7alancing Policy in 8igure 2B.

Figure .) 3oad 4alancing /ro- /own dialog 1o5

8igure 2% shows ?ust the resulting dro( down menu choices for <oad 7alancing. In this e$am(le& F8ail Over OnlyG is selected. Additional details about the currently configured 9SM can be dis(layed by clic+ing the 9etails button in 8igure 2B. /ote: When usin% a 2SM other than MS2SM' the 2SM vendor "ay use their own interface to "ana%e these policies#

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"%

Figure . /SM /etails

8igure 20 shows the resulting 9SM 9etails dialog ;ote, 8or additional information on 9SM 'imer 6ounters (lease refer to a((endi$ 9.

$roubleshooting 1-a+,les2
In the e$am(le below& we use I7M 2%#" storage Aeri.y %hether the storage is correctly setu, %ith MPIO 2. 6lic+ Start& in the search bo$& ty(e Fdevmgmt.mscG )without !uotes* and (ress 4;'4:. ". 6lic+ the @iew menu& and choose F9evices by connectionG a. 9o you see the node, FMicrosoft Multi.Path 7us 9riverGK b. 9o you see the node, FMicrosoft Multi.Path 9evice S(ecific ModuleGK 1. 4$(and each of the 86 ada(ters that the I7M storage is connected through a. 9o you see the I7M device)s* show u( under the H7AK #. 6lic+ Start& (oint to :un& ty(e FregeditG )without !uotes* and (ress 4;'4:. A. 4$(and H3<MLSystemL6urrent6ontrolSetL6ontrol and go to the MP94@ +ey a. 9o you see FI7M 2%#" G listed in the MPIOSu((orted9evice<ist valueK

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"0

B. 4$(and H3<MLSystemL6urrent6ontrolSetLServicesLmsdsmLParameters a. 9o you see FI7M b. If answers to MA and MB are both C4S& is the storage SP6.1 com(liantK S(ecifically& does it su((ort the A<=A semanticsK If answer to M1 is ;O& try uninstalling the MPIO O(tional 6om(onent )O6* and after rebooting& (erform ste( M1 )by(assing ste(s M2 and M"* and see if the devices show u( under the ada(ters. 2%#" G listed in the 9smSu((orted9evice<ist valueK

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

"5

(sing +,clai+.e-e to con.igure MPIO on "in!o%s Server 2'')


With Windows Server "//0& MPIO can be configured from the command line tool MP6<AIM. 'his ca(ability is also available when using Windows Server "//0 FServer 6oreG. =SAH4,
Installs MPIO OC and then ensures MSDSM claims passed in device. Usage: mpclaim reboot_option install_switch reboot_option $r $n device_switch device_hwid s!

"hether to automaticall# reboot or not automaticall# reboot without prompting suppress reboot re%uest C&''() IS (*P(C+(D +O )(,OO+!

install_switch "hether to multipath or remove MPIO support $i $u install MPIO OC and add multipath support -or device remove multipath support -or device and uninstall MPIO OC i- no remaning devices are multipath.d

device_switch $d $a device_hwid

"hether to appl# above options to all devices or passed in devices -ollowing parameters indicate hardware ids o- devices wor/ on all applicable devices 0ardwareIDs o- Devices to be MPIO.d1 as strings o- vendor2product341 delimited b# a space 5ote: Use empt# string with .$a. option!

A!! MPIO su,,ort .or 6C !evice>s?2


mpclaim.e6e $r $i $d 7device83_hardwareID9 7device8:_hardwareID9

/*!.: if the MP(* optional co"ponent is not installed' the tool will install it first# eg. 'o add MPIO su((ort for a device with @endorNA76 and ProductNWOCP mpclaim $r $i $d ;&,C "*<= ; )notice that the vendor string length is made 0 chars and the (roduct string length is made 2B chars and both fields are (added with s(aces as needed.* 8or e$am(le& to add MPIO su((ort for devices with @endorNNA76& ProductNNWOCP and @endorNN94& ProductNNQ3<M; mpclaim $r $i $d ;&,C "*<= ; ;D( >?'M5 ;

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1/

A!! MPIO su,,ort .or iSCSI !evices2 mpclaim $r $i $d ;MS@+:AABiSCSI,us+#pe_A6C; /*!.: if the MP(* optional co"ponent is not installed' the tool will install it first#

A!! MPIO su,,ort .or all !evices that are +ulti,athe!2 mpclaim.e6e $r $i $a ;; /*!.: (f the MP(* optional co"ponent is not installed' the tool will install it first# ,lso' the tool will %o throu%h all devices seen by the syste"' deter"ine if there are "ultiple paths to the device' and if yes' add MP(* support for it# (f any iSCS( dis& device is found' MP(* support will be added for all iSCS( dis& devices# 7e+ove MPIO su,,ort .or 6C !evice>s?2 mpclaim.e6e $r $u $d 7device83_hardwareID9 7device8:_hardwareID9

BO$12 if the MPIO o(tional com(onent is installed& the tool will also uninstall it.

eg. 'o remove MPIO su((ort for a device with @endorNNA76 and ProductNNWOCP

mpclaim $r $u $d ;&,C

"*<=

)notice that the vendor string length is made 0 chars and the (roduct string length is made 2B chars*

eg. 'o remove MPIO su((ort for devices with @endorNNA76& ProductNNWOCP and @endorNN94& ProuctNNQ3<M;

mpclaim $r $u $d ;&,C

"*<=

; ;D(

>?'M5

7e+ove MPIO su,,ort .or iSCSI !evices2 mpclaim.e6e $r $u $d ;MS@+:AABiSCSI,us+#pe_A6C;

/*!.: if the MP(* optional co"ponent is installed' the tool will also uninstall it#

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

12

7e+ove MPIO su,,ort .or all !evices on the syste+2 mpclaim.e6e $r $u $a ;; /*!.: if the MP(* optional co"ponent is installed' the tool will also uninstall it# ,lso' the tool will re"ove MP(* support for all devices on the syste"' even if "ultiple paths do /*! e7ist to the array# 4se caution when re"ovin% MP(* optional co"ponent fro" the syste"#

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1"

Installation o. MPIO on Server Core installations o. "in!o%s Server 2'')


Since a Server 6ore installation of Windows Server "//0 does not contain a Hra(hical =ser Interface )H=I*& installation of the MPIO feature is done from the 6M9 (rom(t. /ote: the co""ands listed in this section are only available on server core versions of Windows Server 200 # In order to list the :oles and 8eatures currently installed& ty(e FoclistG )without !uotes* at the 6M9 (rom(t. 'his will list all of the roles and features and their current installation state. 4$am(le oclist out(ut showing the MPIO feature installed,

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

11

'he MPIO feature may then be installed or removed using the ocsetu(.e$e tool. /ote: When addin% and re"ovin% roles and features usin% the ocsetup tool' the na"e of the co"ponent is case sensitive based on the na"e listed in the oclist tool#

$o install MPIO on server core2 2. At the command (rom(t& ty(e Fstart ocsetu( Multi(athIoG )without !uotes*.

$o re+ove the MPIO .eature on server core2 2. At the command (rom(t ty(e Fstart ocsetu( Multi(athIo /uninstallG )without !uotes*. After the uninstall is com(lete& the following message will be dis(layed,

". 'o restart the system and enable the change& clic+ Ces& otherwise clic+ ;o to (ost(one the restart until later. Access the MPIO control ,anel on server core2 2. 'o access the MPIO control (anel on a server core installation& ty(e Fm(ioc(l.e$eG )without !uotes* at the 6M9 (rom(t& and (ress 4;'4:. MP6<AIM.e$e may also be used on server core to configure MPIO su((ort after the feature is installed. 8or more information on MP6<AIM usage see the section on MP6<AIM earlier in this document.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1#

A,,en!i- A 0 Scri,t 1-a+,le 2 3uery the MPIO Policy .or a !evice


Please note, the use of included script samples are subject to the terms specified at htt(,//www.microsoft.com/info/c(yright.htm 'he following scri(t e$am(le shows how to !uery the current load balancing (olicy for MPIO devices. Once it successfully runs, it will print out integer values. i.e.) 1, 2, 3, 4, 5, 6, and 7 T ese values represent t e following !"#O policies$ 1 2 3 4 5 %&ail Over Only% %'ound 'o(in%, %'ound 'o(in wit )u(set% %*yna+ic ,east -ueue *ept % %.eig ted "at s%

NOTE: The script uses DSM_QueryLBPolicy_V2 class to query the current LB policy setting. The class works on W2K8 ! "ut it won#t work on W2K$. %or W2K$! DSM_QueryLBPolicy has to "e use& instea&.

On (rror )esume 5e6t

Const wbem@lag)eturnImmediatel# D Eh3A Const wbem@lag@orwardOnl# D Eh:A

strComputer D ;.;

"Script.(cho

Set obF"MIService D GetObFect ;winmgmts:HH; E strComputer E ;HrootH"MI;! Set colItems D obF"MIService.(6ecIuer# ;S('(C+ J @)OM DSM_Iuer#',Polic#_K:;1 ;"I';1 _ wbem@lag)eturnImmediatel# L wbem@lag@orwardOnl#!

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1A

@or (ach obFItem In colItems "Script.(cho ;&ctive: ; E obFItem.&ctive "Script.(cho ;Instance5ame: ; E obFItem.Instance5ame "Script.(cho ;'oad,alancePolic#: ; E obFItem.'oad,alancePolic#.'oad,alancePolic# "Script.(cho 5e6t

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1B

A,,en!i-

0 MPIO 5 &SM Con.iguration an! best ,ractices

When configuring a dis+ device to be managed by MPIO for multi(ath access& the hardware I9 for the dis+ device is re!uired to be (resent in two different locations in registry in order to be claimed by MPIO and the 9SM managing connection to the device. 'hese two locations are,
0?'MHS#stemHCurrentControlSetHControlHMPD(KHMPIOSupportedDevice'ist

A;9
0?'MHS#stemHCurrentControlSetHServicesH7DSM5&M(9HParametersHDsmSupportedDevice'ist

/ote: +or both re%istry &eys listed in this section' they are ).ABM41!(BSC data values' so if a nu"ber of devices are confi%ured' it "ay be necessary to actually open this &ey with ).A.2(! in order to view all of the hardware (2@s# 7y default& the only value listed in this +ey will be F@endor 0Product 2BG )without !uotes* will be listed for a hardware I9 associated with MPIO. 'his entry is intended as an e$am(le only to show the correct hardware I9 format which is made u( of an 0 byte vendor I9 followed by a 2B byte (roduct I9. If the device will be associated with the Microsoft 9SM )MS9SM*& then the R9SM ;AM4S will be MS9SM. If the device connection will be handled by a vendor (rovided 9SM& then the name of this +ey will be de(endent on the service name associated with the 9SM in the H3<MLSystemL6urrent6ontrolSetLServices registry hive.

It is strongly recommended that the hardware I9 for a s(ecific dis+ device should be configured such that it is only associated with one 9SM in the services +ey. 'his will hel( ensure that the device is only available to be claimed by the desired 9SM& and will hel( avoid a situation where a dis+ is not claimed by the desired 9SM& when multi(le 9SM-s have the ability to su((ort a given device. 'his (rocess may also be used to determine which 9SM a dis+ drive could be associated with for troubleshooting (ur(oses. Warnin%: )e"ovin% hardware (2@s fro" 2SM@s that are not re?uired should be perfor"ed by editin% the re%istry &eys directly' as re"ovin% a device fro" the MP(* A4( will result in the hardware (2 bein% re"oved in both re%istry locations above and prevent the device fro" bein% clai"ed by the desired 2SM#

When a hardware I9 is listed in both locations detailed above& it does not indicate that the hardware I9 will be actually claimed by the given 9SM& it is ?ust an indication that it would be (ossible for the devices to be claimed by the 9SM. 'he 9SM that is actually used for a given device is randomly selected from all 9SM-s that the hardware I9 is registered with. /ote: (f the hardware (2 is listed with the MS2SM' that 2SM will be selected only if no other 2SM@s clai" the device#
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

1%

'he 9SMSu((orted9evice<ist +ey contains the hardware I9-s of all devices that are ca(able of being associated with the selected 9SM.

$o search .or har!%are I&Cs registere! %ith +ore than one &SM2 #n order to deter+ine w ic *)!/s a ardware #* are associated wit , perfor+ t e following steps. 2. =sing :egedit& o(en the following registry +ey, 0?'MHS#stemHCurrentControlSetHControlHMPD(KHMPIOSupportedDevice'ist ". 'he list of current hardware I9-s will be dis(layed such as the e$am(le from regedit.e$e below,

1. Select one line from the @alue 9ata filed& and :ight.6lic+ and choose co(y. Such as MKendor 2Product 34N.

#. 8rom the 4dit menu in :egedit.e$e& choose 8ind. A. In the 8ind What bo$& right.clic+& and choose Paste. B. 6lic+ the 8ind ;e$t button. 'his will ?um( to the first 9SM that this hardware I9 is associated with. Ma+e a note of the registry (ath listed at the bottom of the :egistry 4ditor window such as the (ath to the MS9SM entry listed below. 0?'MHS#stemHCurrentControlSetHServicesHmsdsmHParameters

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

10

In order to chec+ for registration with other 9SM-s& re(eat ste( B until the :egistry 4ditor finishes searching the registry,

%. In order to disassociate the hardware I9 with a 9SM to (revent it from being claimed by a (articular 9SM& remove the hardware I9 from only the entry under the 9SM-s entry in the Services registry hive leaving only the hardware I9-s that you wish to have claimed by the 9SM. A reboot is re!uired after this ste( for the changes to ta+e effect.

$o a!! a har!%are I& to be use! %ith MPIO2

1. O(en the MPIO control (anel. On the M(io-d devices tab& clic+ the Add button.

2. In the Add MPIO Su((ort dialog bo$& (aste in the hardware I9 for the device to be managed by MPIO and then clic+ O3. +or infor"ation on deter"inin% the hardware (2 of a device to be used with MP(*' see
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

15

,ppendi7 C : 2eter"inin% the hardware (2 to be used with MP(*#

After the device is claimed by MPIO& the device originally shown in 9evice Manager will be hidden& and a (seudo.<=; device will be shown in device manager. 8or e$am(le& the single (ath dis+ device listed in device manager which is named Mem,oot san@l# SCSI Dis/ deviceN will become a hidden device& and will be re(laced with a new device named Mem,oot san@l# Multi$Path Dis/ DeviceN. 'he e$act name will de(end on a number of items& such as the ty(e of device and the 9SM being used. 'he original dis+ device is still viewable in 9evice Manager by choosing FShow Hidden 9evicesG from the Action menu.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#/

A,,en!i- C 0 &eter+ining the Har!%are I& to be use! %ith MPIO


In order to add the hardware I9 for a device to MPIO to allow the device to be managed by MPIO& it is first necessary to obtain the hardware I9 from the device& and then format the hardware I9 differently so that it can be recogni ed by MPIO. 'o determine the hardware I9 for a dis+ device to use with MPIO& (erform the following ste(s, ;ote, 'hese ste(s assume that the device is already configured and (resented to the system.

2. 6lic+ Start& ty(e F9evmgmt.mscG )without !uotes*& and (ress 4;'4:. ". In 9evice manager& clic+ the (lus symbol ne$t to 9is+ 9rives to e$(and the category. 1. :ight.6lic+ the desired dis+ device& and choose (ro(erties. #. 6lic+ the 9etails 'ab. A. In the Pro(erty dro( down list& select Hardware I9. B. A list such as the e$am(le below will be dis(layed,

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#2

%. 'he hardware I9 is in the format of 'CP4L@endorTProduct/model. 'he vendor field is 0 bytes& followed by a 2B byte field to describe the (roduct ty(e or model& such as, MSCSIHDis/em,oot__san@l#__________N :ight.6lic+ the hardware I9& and choose 6o(y. 0. O(en ;ote(ad& and (aste this string into ;ote(ad. 5. ;e$t we must convert the string to the format that is used with MPIO. 'he first ste( will be to remove the device ty(e )In this case FS6SILG )without !uotes* from the string. 'his would leave the resulting string, Mem,oot__san@l#__________N 5ot including %uotes!. 5ot including %uotes!.

2/. ;e$t& we must convert the number of underline characters to an e!ual number of s(aces. In this e$am(le& there are " underlines in the middle& and 2/ trailing underline characters. 'he resulting string is, Mem,oot san@l# M 5ot including %uotes!.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#"

22. 'he resulting string listed in ste( 2/ above is the value that will be listed in the MP94@ and 9SM registry +eys that are detailed in A((endi$ 7 in order to allow the device to be claimed by MPIO.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#1

A,,en!i- & 0 1nabling so.t%are tracing .or MPIO


'his section describes how to enable software trace logging for troubleshooting MPIO Issues. ;ote, Software trace logs are binary files that will ty(ically only be used by Microsoft Product Su((ort in the course of troubleshooting an issue& and are not directly viewable.

Creating D(I& .ile to enable tracing


8irst a RH=I9 8ileS needs to be created using note(ad.e$e and contain the H=I9 of the (rovider that corres(onds to the driver that we want trace for. 8or this e$am(le we will use MPIOH=I9.6'< as the file name. 'he file will contain the first line if we want it for MPIO and the second line if we want it for MS9SM.

U045A6/A8.2189.#A/%.0A69.7#%A962/A88BV /$////8888 /$8 U949A988A.8558.#B//.7065."9#9570/B7A7V /$////8888 /$8

'he format of these files is as follows,

RH=I9 of (rovider to traceS R'race 8lagsS R'race <evelS

;ote, 'he 'race 8lag and 'race <evel values will ty(ically be s(ecified by (roduct su((ort de(ending on the ty(e of troubleshooting being (erformed.

Start $race
'o start tracing& do the following from a 6M9 Prom(t, logman.e$e create trace R;ameS .ets .nb 2B "AB .bs B# .o R<og8ileS .(f RH=I9 8ileS logman.e$e is (resent in WwindirWLsystem1" directory. 'he above command starts a trace session. 'he name R;ameS is assigned to that session. 'he trace level is controlled by the value of the flag in the H=I9 8ile. RHuid 8ileS contains the trace H=I9 and trace flag. 'he trace messages are written to R<og 8ileS.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

##

8or e$am(le& to start a trace session by named MPIO'race and log file named MPIO'race.<og& do the following,

logman.exe create trace MPIOTrace -ets -nb 16 256 -bs 64 -o MPIOTRACE.log -p MPIO!"I#.CT$

Sto, $racing
'o sto( tracing do the following from 6M9 (rom(t,

logman.e$e sto( R;ameS .ets

8or e$am(le& to sto( the trace session with name MPIO'race& do

logman stop MPIOTrace -ets

'he log file is a binary file. If you are troubleshooting an MPIO issue via Microsoft Product su((ort services& (lease send the log file to them to assist in analy ing the failure.

3uery $race Status


'o verify that tracing is running (ro(erly& do the following from a 6M9 (rom(t. logman.exe %&er' -ets

'o return e$tended information about the tracing status& do the following from the 6M9 (rom(t,

logman %&er' MPIOTrace -ets

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#A

A,,en!i- 1 - MPIO ti+ers


2. PathAeri.y1nable!2 'his flag enables (ath verification by MPIO on all (aths every ; seconds )where ; de(ends on the value set in Path@erificationPeriod*. 'y(e is boolean and must be filled with either / )disbale* or 2 )enable*. 7y default& it is disabled. ". PathAeri.icationPerio!2 'his setting is used to indicate the (eriodicity )in seconds* with which MPIO has been re!uested to (erform (ath verification. 'his field is only honored if Path@erify4nabled is ':=4. 'his timer is s(ecified in seconds. 'he default is 1/ seconds. 'he ma$ allowed is MAO=<O;H. 1. P&O7e+ovePerio!, 'his setting controls the amount of time )in seconds* that the multi(ath (seudo.<=; will continue to remain in system memory& even after losing all (aths to the device. 'his timer is s(ecified in seconds. 'he default is "/ seconds. 'he ma$ allowed is MAO=<O;H. #. 7etryCount, 'his setting s(ecifies the number of times a failed IO if the 9SM determines that a failing re!uest must be retried. 'his is invo+ed when 9smInter(ret4rror)* returns :etry N ':=4. 'he default setting is 1. 7etryInterval , 'his setting s(ecifies the interval of time )in seconds* after which a failed re!uest is retried )after the 9SM has decided so& and assuming that the IO has been retried lesser number of times than :etry6ount*. 'his value is s(ecified in seconds. 'he default is 2 second

A.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#B

A,,en!i- 6 0 Acrony+s2
0,10 **2 *)! &3 &) &T 41# 560 #7O #58 ##) i)3)# #)8 #T ,19 !"#O !)3) !)*) ! 90) 9#3 9,6 O3 9T&) "*O "n" '0#* )09 )0) )3)# )"3:3 1)6 .!# .)&3 0sy++etric ,ogical 1nit 0ccess *river *evelop+ent 2it *evice )pecific !odule &i(re 3 annel &ile )yste+ &ault Tolerant 4rap ical 1ser #nterface 5ost 6us 0dapters #nput 7 Output #ndependent 5ardware 8endor #nternet #nfor+ation )erver #nternet )3)# #ndependent )oftware 8endor #nfor+ation Tec nology ,ogical 1nit 9u+(er !ulti:pat #7O !icrosoft 3luster !icrosoft *)! 9etwor; 0ttac ed )torage 9etwor; #nterface 3ard 9etwor; ,oad 6alancing Optional 3o+ponent 9ew Tec nology &ile )yste+ " ysical *evice O(<ect "lug and "lay 'edundant 0rray of #ndependent *is;s )torage 0rea 9etwor; )erial 0ttac ed )3)# )+all 3o+puter )yste+ #nterface )3)# "ri+ary 3o++ands = 3 1niversal )erial 6us .indows !anage+ent #nterface .indows &ailover 3lustering

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#%

Conclusion
'he Microsoft MPIO framewor+ (rovides hardware and software vendors with a means of creating Microsoft MPIO solutions that wor+ effectively with the Windows Server o(erating system to (rovide organi ations with reliable multi(le (ath su((ort on Windows Server "//0 and Windows Server "//1& 'he Microsoft MPIO solution (rovides su((ort for 8ibre 6hannel& (arallel S6SI& Serial Attached S6SI and iS6SI storage and also ensures that MPIO based storage solutions from different storage (artners can coe$ist on the same Windows Server host.

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#0

7esources
Infor(ation a1out the Windows 6ardware 7uality 3a1s is availa1le at

htt(,//www.microsoft.com/whdc/winlogo/default.ms($
Products designed for use with Windows are listed at htt-899www.(icrosoft.co(9whdc9hcl9default.(s-5

Information about Windows Management Instrumentation )WMI* is available at htt(,//msdn".microsoft.com/en.us/library/aa15#A0")@S.0A*.as($. More information on the Microsoft iS6SI Software initiator is listed at htt(,//www.microsoft.com/iS6SI More information on the Microsoft Stor(ort driver is available at, www.microsoft.com/stor(ort

Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1

#5

You might also like