Multipath IO Configuration: Difference between revisions

From OSNEXUS Online Documentation Site
Jump to navigation Jump to search
m Point to the Windows MPIO page for failover clusters and Hyper-V
No edit summary
 
Line 1: Line 1:
This page explains how to configure multipath I/O on Windows, VMware and Linux hosts that connect to QuantaStor over iSCSI or Fibre Channel. With multipathing configured, each [[Storage Volumes|storage volume]] appears to the host as one device that fails over between paths.
== Understanding MPIO with QuantaStor ==
== Understanding MPIO with QuantaStor ==
QuantaStor supports round-robin style active/active multipathing using Microsoft's MPIO and via Linux using the device-mapper multipath (dmmp) driver. Active/active multipath support not only boosts performance, it also gives you the benefit of automatic path failover when a network connection is lost to one of your NICs on the host (initiator side) or the storage system (target side).
QuantaStor supports round-robin active/active multipathing through Microsoft MPIO on Windows and the device-mapper multipath (DMMP) driver on Linux. Multipathing spreads I/O across the paths to a volume and fails over to the remaining paths when a network connection on the host or the storage system goes down. On a Fibre Channel HA pool, the paths through the node that owns the pool are active and the paths through the partner node are standby. When the pool fails over, the host moves I/O to the partner node's paths.
 
Put each iSCSI path on its own subnet or VLAN. Several IP addresses on one subnet do not give you separate paths. QuantaStor presents iSCSI on every iSCSI-enabled network interface by default, so the only QuantaStor-side setup is giving each interface an address on the right subnet.


iSCSI Multipathing should be configured using IP's on different network subnets/vlans to ensure proper communication of the paths. Using the same subnet with multiple IP's will not provide a proper multipathing config. QuantaStor will present out iSCSI communication on any iSCSI enabled interface by default, there is no additional configuration required inside QuantaStor to enable path(s) for iSCSI Multipathing other than configuring the network interface with an appropriate IP address and subnet.
For example, this configuration gives two network paths between QuantaStor and the host:
e.g. the below example networking configuration would provide two network paths between the QuantaStor and the Host connecting to the QuantaStor.


<pre>
<pre style="font-size: smaller">
QuantaStor server IP configuration
QuantaStor server IP configuration


Line 19: Line 21:
</pre>
</pre>


Once the Network configuration is correct, the appropriate Multipathing configuration will need to be performed on the Host Client side, the rest of this section details how to configure Multipathing for the most popular client operating systems.
Once the network configuration is correct, configure multipathing on the host. The sections below cover the most common host operating systems.
 
For Microsoft MPIO configuration you'll need to add the QuantaStor vendor / model information so that Microsoft's default DSM (device specific module) can detect QuantaStor volumes and automatically enable multipathing for them thereby combining multiple paths to your QuantaStor Storage System in a single device as seen in the Windows Disk Manager. 


For Linux, you'll need to first install dmmp for your Linux distribution, and then modify the /etc/multipath.conf file to include an additional stanza so that the system properly identifies the QuantaStor devices and uses the correct multi-path device identification and path management rules.
QuantaStor supports SCSI-3 persistent reservations, so you can use it with Microsoft Failover Clustering, Hyper-V and other cluster software that needs SCSI-2 or SCSI-3 reservations.
 
<pre>
Note: QuantaStor supports SCSI-3 Persistent Reservations so you can use it with Microsoft's Failover Clustering / Hyper-V and other cluster solutions that require SCSI-2 or SCSI-3 reservations.
</pre>


=== Configuring Microsoft MPIO ===
=== Configuring Microsoft MPIO ===
''For Windows Server failover clusters, Cluster Shared Volumes and Hyper-V on QuantaStor HA pools, see [[Windows MPIO for Failover Clusters and Hyper-V]] for the recommended MPIO setup and timer tuning; the steps below cover only adding the QuantaStor device string.''
''For Windows Server failover clusters, Cluster Shared Volumes and Hyper-V on QuantaStor HA pools, see [[Windows MPIO for Failover Clusters and Hyper-V]] for the recommended MPIO setup and timer tuning; the steps below cover only adding the QuantaStor device string.''


The first step in configuring MPIO on Windows Server is to navigate to MPIO properties. (Note that desktop versions of Windows such as XP, Vista, and Windows 7/8 do not support MPIO, you must be using Windows Server 2003/2008/2012) The easiest way to get to the MPIO configuration screen is to type MPIO in the ''Start'' menu search bar. It can also be found in the Control Panel under "MPIO".
MPIO is a Windows Server feature and is not available on desktop editions of Windows. To open the MPIO properties, type MPIO in the ''Start'' menu search box, or open MPIO in Control Panel.


[[File:mpio.png|frame|center|The string you will want to add for QuantaStor is "OSNEXUS QUANTASTOR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;". ]]
[[File:mpio.png|thumb|right|202px|The string to add for QuantaStor is "OSNEXUS QUANTASTOR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".]]


Once you're at the MPIO dialog, select the "MPIO Devices" tab and then click the "Add" button. The string you will need to add for QuantaStor is exactly:
On the ''MPIO Devices'' tab, click ''Add'' and enter this string exactly:


<pre>
<pre style="font-size: smaller">
OSNEXUS QUANTASTOR       
OSNEXUS QUANTASTOR       
       ^          ^^^^^^
       ^          ^^^^^^
</pre>
</pre>


Note that the '^' characters are provided here so that you can see where the spaces are. Note also that these are all capital letters, '''with one space between the words, and exactly six trailing spaces after QUANTASTOR.''' If you don't have exactly (6) trailing spaces then the MPIO driver won't recognize the QuantaStor devices and you'll end up with multiple instances of the same disk in Windows Disk Manager.
The '^' characters show where the spaces go. Enter the string in capitals, with one space between the words and exactly six trailing spaces after QUANTASTOR. Windows matches the string against the 8-character vendor field and the 16-character product field that QuantaStor reports. Without the six trailing spaces, the MPIO driver does not recognize QuantaStor volumes, and Disk Management shows one disk per path.
 
=== VMWare Special Note ===
=== VMWare Special Note ===


In the case that VMWare is used, no changes to multipathing are required. VMWare works with iSCSI and FC multipathing by default.
VMware ESXi needs no multipathing changes. It handles iSCSI and Fibre Channel multipathing to QuantaStor with its default settings.


=== Configuring Linux Device-Mapper Multipath (DMMP) ===
=== Configuring Linux Device-Mapper Multipath (DMMP) ===


After you have device mapper installed on your Linux distribution, you'll need to login to your system as root and then add this section to your ''/etc/multipath.conf'' file for CentOS:  
After you install device mapper multipath on your Linux distribution, log in as root and add the following to {{Code|1=/etc/multipath.conf}}. If the file already has ''defaults'' or ''devices'' sections, add these entries to them rather than creating second copies.
 
<pre style="font-size: smaller">
defaults {
        find_multipaths        yes
}


<pre>
devices {
         device {
         device {
                 vendor                  "OSNEXUS"
                 vendor                  "OSNEXUS"
                 product                "QUANTASTOR"
                 product                "QUANTASTOR"
                getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
                 path_grouping_policy    multibus
                 path_grouping_policy    multibus
                 failback                immediate
                 failback                immediate
                 path_selector          "round-robin 0"
                 path_selector          "round-robin 0"
                 rr_weight              uniform
                 rr_weight              uniform
                rr_min_io              100
                 path_checker            tur
                 path_checker            tur
         }
         }
}
</pre>
</pre>


On Ubuntu/Debian the 'getuid_callout' part is a little different so use this version for Ubuntu:
By default, multipath-tools uses ''find_multipaths strict'', and Debian and Proxmox VE keep that default. In strict mode it only creates a multipath device for a WWID already listed in {{Code|1=/etc/multipath/wwids}}. A newly assigned QuantaStor volume can then appear as separate sd devices with no multipath device over them. With ''find_multipaths yes'', it creates a multipath device for any volume it sees on two or more paths.
 
For Fibre Channel, enable ALUA by using this device entry in place of the one above:


<pre>
<pre style="font-size: smaller">
devices {
         device {
         device {
                 vendor                  "OSNEXUS"
                 vendor                  "OSNEXUS"
                 product                "QUANTASTOR"
                 product                "QUANTASTOR"
                 getuid_callout "/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/%n"
                 prio                    alua
                 path_grouping_policy    multibus
                hardware_handler        "1 alua"
                 path_grouping_policy    group_by_prio
                 failback                immediate
                 failback                immediate
                 path_selector           "round-robin 0"
                 no_path_retry           10
                 rr_weight              uniform
                 rr_weight              uniform
                rr_min_io              100
                 path_checker            tur
                 path_checker            tur
         }
         }
}
</pre>
</pre>


In the case that a Fibre Channel card is in use, ALUA will need to be enabled. The multipath device entry will have these properties:
Earlier versions of this page included ''getuid_callout'' and ''rr_min_io'' lines in these entries. Current multipath-tools ignores both options, so this page no longer includes them. Existing configurations that still contain them do not need changing.


<pre>
Also add this ''blacklist_exceptions'' section. multipath-tools treats a device as blacklisted unless it has at least one udev property that matches a property exception. This entry keeps QuantaStor volumes off the blacklist.
        device {
                vendor "OSNEXUS"
                product "QUANTASTOR"
                getuid_callout "/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/%n"
                prio alua
                hardware_handler "1 alua"
                path_grouping_policy group_by_prio
                failback immediate
                no_path_retry 10
                rr_min_io 100
                path_checker tur
                rr_weight uniform
        }
 
</pre>


Please Note: Starting with the 0.5 release of the linux multipath tools, an additional ''property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"'' definition needs to be added to the definitions in the blacklist_exceptions portion of the multipath.conf file.
<pre style="font-size: smaller">
 
<pre>
blacklist_exceptions {
blacklist_exceptions {
     property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"
     property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"
Line 109: Line 97:
         vendor "OSNEXUS"
         vendor "OSNEXUS"
         product "QUANTASTOR"
         product "QUANTASTOR"
     }
     }
}
}
</pre>
</pre>


Once the file is updated you'll want to restart the multipath service like so:
After you update the file, restart the multipath service:


<pre>
<pre style="font-size: smaller">
service multipathd restart
service multipathd restart
</pre>
</pre>


Once you have it all configured and you're logging into the iSCSI target / storage volume with your iSCSI initiator you'll want to run 'multipath -l' to list the paths and you should see something like this:
Then run {{Code|1=multipath -ll}} on the host. Each QuantaStor volume appears once as an OSNEXUS,QUANTASTOR device, with its paths listed beneath it. With the Fibre Channel entry, the paths through the node that owns the pool form the active path group.


<pre>
Mount filesystems from the device under {{Code|1=/dev/mapper/}}, not from {{Code|1=/dev/sdX}}. A filesystem mounted from an sd device bypasses the multipath driver and gets neither the extra paths nor failover.
14f534e455855530038323061623737393365306365643738dm-2 OSNEXUS,QUANTASTOR
[size=512M][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 120:0:0:0 sdg 8:96  [active][undef]
\_ 119:0:0:0 sdf 8:80  [active][undef]
14f534e455855530038323061623737393735393231656332dm-1 OSNEXUS,QUANTASTOR
[size=4.0G][features=0][hwhandler=0]
\_ round-robin 0 [prio=0][active]
\_ 118:0:0:0 sde 8:64  [active][undef]
\_ 117:0:0:0 sdc 8:32  [active][undef]
</pre>


Remember, you'll need to make sure that you mount your filesystems using the correct unique device ID under ''/dev/mapper/'' so that the multipath driver is utilized.  If you mount your filesystem from /dev/sdXX you'll have completely bypassed the multi-path driver and will not get the performance an fail-over capabilities.
== Related pages ==
 
* [[Windows MPIO for Failover Clusters and Hyper-V]]
=== RHEL 8.6 ===
* [[Proxmox Storage Plugin]]
 
* [[Storage Volumes]]
Some users noticed that /sbin/scsi_id command did not exist in Redhat 8.6, but the/lib/udev/scsi_id command did, as in Ubuntu/Debian. They suspected that when they booted their system, it was trying to execute “scsi_id” to an FC attached volume that was not supposed to be there, which prevented it from booting.
 
As a result, they configured multipathing like the below for volumes that are FC attached to RHEL 8.6:
 
<pre>
device {
vendor "OSNEXUS"
product "QUANTASTOR"
getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n"
prio alua
hardware_handler "1 alua"
path_grouping_policy group_by_prio
failback immediate
no_path_retry 10
rr_min_io 100
path_checker tur
rr_weight uniform
 
}
</pre>

Latest revision as of 10:31, 12 October 2026

This page explains how to configure multipath I/O on Windows, VMware and Linux hosts that connect to QuantaStor over iSCSI or Fibre Channel. With multipathing configured, each storage volume appears to the host as one device that fails over between paths.

Understanding MPIO with QuantaStor

QuantaStor supports round-robin active/active multipathing through Microsoft MPIO on Windows and the device-mapper multipath (DMMP) driver on Linux. Multipathing spreads I/O across the paths to a volume and fails over to the remaining paths when a network connection on the host or the storage system goes down. On a Fibre Channel HA pool, the paths through the node that owns the pool are active and the paths through the partner node are standby. When the pool fails over, the host moves I/O to the partner node's paths.

Put each iSCSI path on its own subnet or VLAN. Several IP addresses on one subnet do not give you separate paths. QuantaStor presents iSCSI on every iSCSI-enabled network interface by default, so the only QuantaStor-side setup is giving each interface an address on the right subnet.

For example, this configuration gives two network paths between QuantaStor and the host:

QuantaStor server IP configuration

10.0.1.121/24
10.0.2.121/24


Host Client IP Configuration

10.0.1.125/24
10.0.2.125/24

Once the network configuration is correct, configure multipathing on the host. The sections below cover the most common host operating systems.

QuantaStor supports SCSI-3 persistent reservations, so you can use it with Microsoft Failover Clustering, Hyper-V and other cluster software that needs SCSI-2 or SCSI-3 reservations.

Configuring Microsoft MPIO

For Windows Server failover clusters, Cluster Shared Volumes and Hyper-V on QuantaStor HA pools, see Windows MPIO for Failover Clusters and Hyper-V for the recommended MPIO setup and timer tuning; the steps below cover only adding the QuantaStor device string.

MPIO is a Windows Server feature and is not available on desktop editions of Windows. To open the MPIO properties, type MPIO in the Start menu search box, or open MPIO in Control Panel.

The string to add for QuantaStor is "OSNEXUS QUANTASTOR      ".

On the MPIO Devices tab, click Add and enter this string exactly:

OSNEXUS QUANTASTOR      
       ^          ^^^^^^

The '^' characters show where the spaces go. Enter the string in capitals, with one space between the words and exactly six trailing spaces after QUANTASTOR. Windows matches the string against the 8-character vendor field and the 16-character product field that QuantaStor reports. Without the six trailing spaces, the MPIO driver does not recognize QuantaStor volumes, and Disk Management shows one disk per path.

VMWare Special Note

VMware ESXi needs no multipathing changes. It handles iSCSI and Fibre Channel multipathing to QuantaStor with its default settings.

Configuring Linux Device-Mapper Multipath (DMMP)

After you install device mapper multipath on your Linux distribution, log in as root and add the following to /etc/multipath.conf. If the file already has defaults or devices sections, add these entries to them rather than creating second copies.

defaults {
        find_multipaths         yes
}

devices {
        device {
                vendor                  "OSNEXUS"
                product                 "QUANTASTOR"
                path_grouping_policy    multibus
                failback                immediate
                path_selector           "round-robin 0"
                rr_weight               uniform
                path_checker            tur
        }
}

By default, multipath-tools uses find_multipaths strict, and Debian and Proxmox VE keep that default. In strict mode it only creates a multipath device for a WWID already listed in /etc/multipath/wwids. A newly assigned QuantaStor volume can then appear as separate sd devices with no multipath device over them. With find_multipaths yes, it creates a multipath device for any volume it sees on two or more paths.

For Fibre Channel, enable ALUA by using this device entry in place of the one above:

devices {
        device {
                vendor                  "OSNEXUS"
                product                 "QUANTASTOR"
                prio                    alua
                hardware_handler        "1 alua"
                path_grouping_policy    group_by_prio
                failback                immediate
                no_path_retry           10
                rr_weight               uniform
                path_checker            tur
        }
}

Earlier versions of this page included getuid_callout and rr_min_io lines in these entries. Current multipath-tools ignores both options, so this page no longer includes them. Existing configurations that still contain them do not need changing.

Also add this blacklist_exceptions section. multipath-tools treats a device as blacklisted unless it has at least one udev property that matches a property exception. This entry keeps QuantaStor volumes off the blacklist.

blacklist_exceptions {
    property "(ID_SCSI_VPD|ID_WWN|ID_SERIAL)"
    device {
        vendor "OSNEXUS"
        product "QUANTASTOR"
    }
}

After you update the file, restart the multipath service:

service multipathd restart

Then run multipath -ll on the host. Each QuantaStor volume appears once as an OSNEXUS,QUANTASTOR device, with its paths listed beneath it. With the Fibre Channel entry, the paths through the node that owns the pool form the active path group.

Mount filesystems from the device under /dev/mapper/, not from /dev/sdX. A filesystem mounted from an sd device bypasses the multipath driver and gets neither the extra paths nor failover.

Related pages