Usage of Regular Expressions (regexes) to identify devices is not recommended for use in /etc/mulitpath.conf

This document (7018191) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)

Situation

Using regular expressions in the /etc/multipath.conf file to identify devices may not work as expected, resulting in custom device settings specified not being active / enabled.

Resolution

To properly identify devices and any custom configured settings, specify the device(s) vendor and product attributes directly instead of using a regular expression, for example do not use "*" or ".*".

The following is an example of how to properly specify a DGC VRAID device with a custom hardware handler setting in /etc/multipath.conf:

devices {
    device {
        vendor "GDC"
        product "VRAID"
        hardware_handler "1 alua"
    }
}

Cause

Multipath has a built-in hardware configuration database (that can be dumped using "multipath -t" or by looking in "/usr/share/doc/packages/multipath-tools/multipath.conf.defaults") which already specifies some devices as regular expressions. This makes calculating the overlap of two different regular expressions specified for the same product potentially unsolvable.

Additional Information

Multipath has a built-in hardware configuration database , which already specifies some devices as regular expressions. For example:

    device {
        vendor "DGC"
        product ".*"
        product_blacklist "LUNZ"
        path_grouping_policy "group_by_prio"
        path_checker "emc_clariion"
        features "1 queue_if_no_path"
        hardware_handler "1 emc"
        prio "emc"
        failback "immediate"
        rr_weight "uniform"
        no_path_retry 60
    }

When a new device is added to multipath a regular expression match will be done between the incoming "vendor" and "product" strings against those in the built-in hardware table to determine if the incoming device matches this entry. If an /etc/multipath.conf file is created, the intention of this configuration file is to override or add to the built-in hardware table.

If the configuration from /etc/multipath.conf were to be read first, all settings from later configurations for a device will be lost requiring the user to specify the device with all its relevant entries. This means that any default settings specified by the built-in hardware table will be lost, especially updates to settings from the build-in hardware table would not be reflected in the custom settings, which can result in degraded performance and/or invalid custom settings after updates.

If the configuration from /etc/multipath.conf is checked after parsing the internal hardware table, it is needed to determine where the updated settings should be applied. This would require calculating the overlap of two different regular expressions, and modify the original regular expression from the internal hardware table to exclude the overlap region which can potentially be unsolvable as the required computation increases exponentially.

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7018191
  • Creation Date: 26-Oct-2016
  • Modified Date:03-Mar-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback@suse.com

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

Join Our Community

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.


SUSE Customer Support Quick Reference Guide SUSE Technical Support Handbook Update Advisories
Support FAQ

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.

Go to Customer Center