Professional Documents
Culture Documents
Mpio - Boot From SAN
Mpio - Boot From SAN
Mpio - Boot From SAN
www.Microsoft.com/MPIO
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.
!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
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
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(.
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
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.
/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.
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1
21
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
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1
2%
1. 6lic+ ;e$t.
Figure &. Windows Server 200 MPIO Feature Installation 'onfir(ation "#I
20
25
'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
'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
""
/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
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
"#
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
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
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.
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
"%
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
"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!
/*!.: 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
/*!.: 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"
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#
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&.
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-
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.
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
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
#/
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
;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,
'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.
'o return e$tended information about the tracing status& do the following from the 6M9 (rom(t,
Highly Available Storage, Multi(ath Solutions in Windows Server "//0 and Windows Server "//1
#A
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