Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

Multi-Path I/O Test

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated test

Overview

Customers of an enterprise storage solution rely heavily on the high availability of its components. In storage, high availability is often implemented by redundancy. Multi-path I/O (MPIO) is one such implementation for the fabric layer of an enterprise storage solution. Microsoft supports multi-path I/O with a multi-path driver (mpio.sys) and a Device Specific Module (msdsm.sys) that ship with Windows Advanced Server operating system in the Windows Vista timeframe.

The test provides multi-path I/O testing for the compatibility of a vendor's storage solution with Microsoft driver solutions. It focuses on the following areas:

  1. Path failover and recovery should not affect data transfer quality. One purpose of setting up an MPIO environment is to increase the reliability of data transferring. This test simulates several simple scenarios that would happen in the real world to break a path, and then checks whether the environment can transfer data normally.

  2. Data transfer efficiency should be improved, or at least not degraded, in an MPIO environment.

  3. Storage devices should work normally under all policies they declare to support.

Note  For a Device Specific Module (DSM) that supports vendor policy (policy value = 7), please make the vendor's policy the current policy before running this test.

Details

The test includes the following basic test assertions, which are combined into four test cases:

  1. Failover: Data transfer is not broken when some paths are broken but not all.

  2. Failback: Data transfer works normally when some paths are restored from failover.

  3. Link bounce: For an MPIO environment, all paths except for one path are broken. If that path is broken and recovers within 15 seconds, the data transfer is able to continue without error.

  4. Simultaneous failover and failback, or "simultaneous bouncing": Data transfer is not broken when some paths fail over and other paths fail back simultaneously.
  5. Load balance policy: Different policy can be set and data transfer can work correctly with it. For Round Robin Load Policy and Round Robin Load Policy with subset, the test checks whether efficiency is degraded.

The test components include a stand-alone test application, a fault injection filter driver, a test case configuration file, an iSCSI configuration file (if the path is created over an iSCSI session), and the Device Test Manager (DTM).

Follow these steps to operate the test:

  1. DTM starts the stand-alone test application, which retrieves the test cases to run.
  2. DTM retrieves the MPIO test environment information for further testing.
  3. If a path is not over iSCSI, the test loads the filter driver for a related HBA instance for further testing.
  4. If the path is over iSCSI, provide the iSCSI configuration information using one of the following ways:
    • Input the configuration data into the window pop-up on the test client, which creates the Iscsihctconfig.ini file under [WLK PATH]\JobsWorkingDir\Tasks\[WTTJOBNAME]\.

      Ff564484.iscsi_test_evironment_info(en-us,VS.85).png

      Note  If your test environment includes multiple targets, input at least one target related information, including IQN, portal IP and port number. For IP address, if you have several IP addresses, input the one used to connect that target. For MPIO test, you do not need to input HBA PnP ID.

      Note  If your iSCSI environment support mutual chap, please check both Mutual radio box and Supports Mutual Chap check box.

    • The input iSCSI configuration information will be stored in a configuration file located on the test machines ([WLKClient]\JobsWorkingDir\iscsihctconfig.ini). You can rerun the test on same test client for same iSCSI storage target without re-inputting iSCSI configuration information. You can also choose to create the iscsihctconfig.ini file manually and put it under [WLKClient] \JobsWorkingDir\ on test machine, which contains the configuration data. Use the following format:

      [Targets]
      DiskTarget=Target
      [Target]
      TargetName=iqn.2001-05.com.equallogic:0-8a0906-7e2dd0401-fd1d03f67f74b96b-10-2411a0920-0
      PortalPort=3260
      PortalIPAddress=10.10.20.80
      CHAPType=None
  5. Set the load balance policy, which declares support, simulates failover and failback scenarios, and performs testing. For a non-iSCSI test environment, simulate the link bouncing and simultaneous bouncing scenarios.
  6. Set the Round Robin policy for non-ALUA storage and ALUA storage to enable performance checking.
  7. The test tool logs to WTTLogger.

Run time: Approximately 1 to 3 hours, depending on the test environment configuration
Log file: mpiotest.log
System restart required: Yes
Supported operating systems for logo or signature testing:
  • Windows Server 2008

  • Windows Server 2008 R2

Requirements

Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above)

  • Hardware storage RAID array that uses either the Microsoft DSM or a third-party DSM that interfaces to the Microsoft MPIO core architecture

  • Software components included with the DSM or hardware storage RAID array being tested

Hardware Requirements

The test tool requires the following hardware:

  • Device to be tested

  • Computer that meets the minimum software requirements

  • Windows keyboard

  • Two-button pointing device

  • Color display monitor capable of at least 1024 by 768 resolution, 32-bits per pixel, 60 Hz

  • Hard disk drive with a minimum of 20 GB available on partition C:

  • Multi-Path I/O Setup

Processor

The test tool runs on the x64 processor architectures.

Command Syntax

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

mpiotest.exe -d "[WDKDeviceID]" -s [ScriptName] -logo -bus "[WDKDataStorage_bus_type]

Code Tour

File Manifest

FileLocation

mpiotest.exe

...\Tests\%PROCESSOR_ARCHITECTURE%\nttest\DriversTest\storage\wdk\

mpfifltr.sys

...\Tests\%PROCESSOR_ARCHITECTURE%\nttest\DriversTest\storage\wdk\

iscsihctconfig.ini

...\Tests\%PROCESSOR_ARCHITECTURE%\nttest\DriversTest\storage\wdk\

mpiotest_script_fvt.txt

...\Tests\%PROCESSOR_ARCHITECTURE%\nttest\DriversTest\storage\wdk\

 

Test Assertions

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

3rd Party DSM must support the vendor’s specific load balance policy.
Test Assertion GUID: 7682274a-c6a1-11da-94f5-00123f3a6b60
Windows Logo Program: STORAGE-0007 Device storage special features meet industry standards and Windows requirements
Details: This test requires you to configure MPIO to comply with the vendor’s specific policy before the MPIO test. As the first test case for the MPIO test, it would do failover, failback, link bouncing, and simultaneous bouncing testing to make sure that the MPIO test environment can work normally with the third-party DSM. If there is no vendor-specific policy, skip the testing. If there is, configure the current policy to be the vendor’s specific one. Otherwise, the test will fail, and you must configure the correct setting before running the MPIO test. This test is performed for each MPIO pseudo-LUN.

DSM must support required WMI functions.
Test Assertion GUID: 7682274a-c6a1-11da-94f5-00123f3a6b60
Windows Logo Program: STORAGE-0007 Device storage special features meet industry standards and Windows requirements
Details: Get the MPIO path information through WMI, and print the information related to the specific DSM.

DSM must support failover and failback functionality and various load balance policies.
Test Assertion GUID: 7682274c-c6a1-11da-94f5-00123f3a6b60
Windows Logo Program: STORAGE-0007 Device storage special features meet industry standards and Windows requirements
Details: Classify the MPIO pseudo-LUN based on adapter information, storage information, and MPIO path information into different groups. For each MPIO pseudo-LUN group, choose one pseudo-LUN to run the testing:
  1. Set load balance policy on the pseudo-LUN.
  2. Perform failover, failback, link bouncing, and simultaneous bouncing testing to make sure the MPIO test environment can work normally on this specific policy.
  3. For each load balance policy other than the vendor's, repeat steps 1 and 2.

Note  For iSCSI MPIO, the test does not do link bouncing and simultaneous bouncing testing.

DSM must support round-robin data access.
Test Assertion GUID: 7682274d-c6a1-11da-94f5-00123f3a6b60
Windows Logo Program: STORAGE-0007 Device storage special features meet industry standards and Windows requirements
Details: Check whether test storage supports Round Robin Policy or Round Robin with Subset Policy or not. If it does, set the policy to be the supported one. For non-ALUA storage, set it to be Round Robin Policy, and for ALUA storage, set it to be Round Robin with Subset Policy. If it does not support either of these policies, skip this testing. Perform failover on all adapter ports or iSCSI sessions except one, then run I/O operations to collect the throughput data. Recover all adapter ports or iSCSI sessions, and then perform I/O operations to check the throughput. This throughput data should not be worse than the one with only one port or iSCSI session available. Otherwise, there will be warning messages.

 

 

Build date: 9/14/2012

Community Additions

ADD
Show:
© 2015 Microsoft