Multipathing information for Linux

You can use Device-Mapper Multipathing (DMM) to improve performance of the Linux® operating system.

RHEL 7.x, RHEL 6.x

Start with the default file: [/usr/share/doc/device-mapper-multipath.*]

For hosts using the NVMe over Fibre Channel (FC-NVMe) protocol, use the following settings. Note the use of "NVMe" in the vendor parameter.


         device { 
                vendor                  "NVMe"
                product                 "FlashSystem-9840"
                path_selector           "service-time 0"
                path_grouping_policy    multibus
                path_checker            tur
                rr_min_io_rq            4         
                rr_weight               uniform
                no_path_retry           fail
                failback                immediate
                dev_loss_tmo            300
                fast_io_fail_tmo        25
                user_friendly_names     yes
                }
        

For hosts using protocols other than FC-NVMe, use the following settings.


         device { 
                vendor                  "IBM"
                product                 "FlashSystem-9840"
                path_selector           "service-time 0"
                path_grouping_policy    multibus
                path_checker            tur
                rr_min_io_rq            4         
                rr_weight               uniform
                no_path_retry           fail
                failback                immediate
                dev_loss_tmo            300
                fast_io_fail_tmo        5
                user_friendly_names     yes
                }
        

SUSE Linux Enterprise Server (SLES) 15.x, SLES 12.3 and 12.4

Start with the default file: [/usr/share/doc/packages/multipath-tools]

For hosts using the NVMe over Fibre Channel (FC-NVMe) protocol, use the following settings. Note the use of "NVMe" in the vendor parameter.


        device { 
                vendor                  "NVMe"
                product                 "FlashSystem-9840"
                path_selector           "queue-length 0"
                path_grouping_policy    multibus
                path_checker            tur
                rr_min_io_rq            4         
                rr_weight               uniform
                no_path_retry           fail
                failback                immediate
                dev_loss_tmo            300
                fast_io_fail_tmo        25
                user_friendly_names     yes
                }
        

For hosts using protocols other than FC-NVMe, use the following settings.

  
        device { 
                vendor                  "IBM"
                product                 "FlashSystem-9840"
                path_selector           "queue-length 0"
                path_grouping_policy    multibus
                path_checker            tur
                rr_min_io_rq            4         
                rr_weight               uniform
                no_path_retry           fail
                failback                immediate
                dev_loss_tmo            300
                fast_io_fail_tmo        5
                user_friendly_names     yes
                }
        
Note: You can reduce latency and improve IOPS by disabling the NVMe native multipath and enabling the SLES 15 multiqueue NVMe I/O scheduling.

For more information, see the IBM Redbook Implementing IBM FlashSystem 900 Model AE3, pages 147 - 148.

Linux 5.x

Start with the default file: [/usr/share/doc/device-mapper-multipath.*]

Update the following settings:

        device { 
                vendor                  "IBM"
                product                 "FlashSystem-9840"
                path_selector           "round-robin 0"
                path_grouping_policy    multibus
                path_checker            tur
                rr_min_io               4         
                rr_weight               uniform
                no_path_retry           fail
                failback                immediate
                dev_loss_tmo            300
                fast_io_fail_tmo        5
                user_friendly_names     yes
                }
        

System z Linux hosts

Included below is a recommended multipath.conf file for System z® Linux hosts. Copy and paste the following text into a standard text file to use as the multipath.conf file, or contact support to receive a copy. For online support for these systems, see the IBM® Support portal.

Note: Be sure to uncomment the lines that pertain to the Linux version for your system. In addition, be sure to modify the WWID line appropriately for your system.
defaults {
        udev_dir                /dev
        polling_interval        30
        checker_timeout         10
}
blacklist {
        wwid                    "*"
}
blacklist_exceptions {
        wwid                    "36005076*"
}
multipaths {
        multipath {
                wwid            36005076229849fc22800000000000000 
                alias           flashfs1
# Change this example WWID to match the FlashSystem LUN. 
        }
}
devices {
        device {
                vendor                  "IBM"
                product                 "FlashSystem-9840"
                path_selector           "round-robin 0"
                path_grouping_policy    multibus
                path_checker            tur
#               rr_min_io_rq            4         # Linux 7.x, 6.x
#               rr_min_io               4         # Linux 5.x
                rr_weight               uniform
                no_path_retry           queue
#               no_path_retry queue is recommended for typical usage (e.g. file system)
                failback                immediate
                dev_loss_tmo            infinity
                fast_io_fail_tmo        5
        }
}