Difference between revisions of "Multipath"

From wikieduonline
Jump to navigation Jump to search
 
(59 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
https://en.wikipedia.org/wiki/Linux_DM_Multipath
 
https://en.wikipedia.org/wiki/Linux_DM_Multipath
  
 +
* https://linux.die.net/man/5/multipath.conf
 +
* https://linux.die.net/man/8/multipath
 +
* https://linux.die.net/man/8/multipathd
  
* <code>multipath -l</code>
+
 
 +
 
 +
* <code>mpathconf</code>
 +
** <code>mpathconf --enable --with_multipathd y</code>
 +
* <code>multipath -l</code> (show the current multipath topology from information fetched in [[sysfs]] and the [[device mapper]])
 +
* <code>[[multipath -ll]]</code>
 +
** <code>multipath -ll DEVICE_NAME</code>
 +
 
 +
* <code>[[multipath -v2]]</code> or  <code>[[multipath -v3]]</code>  
 
* <code>multipath -t</code>
 
* <code>multipath -t</code>
:<code>-t</code> Display the currently used multipathd configuration
+
:<code>-t</code> Display the currently used [[multipathd]] configuration
* <code>multipathd show config</code>
+
* <code>[[multipathd]] show config</code>
  
 
* [[Ubuntu]]: <code>multipath-tools</code> package
 
* [[Ubuntu]]: <code>multipath-tools</code> package
** Binaries: <code>multipath</code> <code>multipathd</code> <code>mpathpersist</code>
+
** Binaries: <code>multipath</code> <code>[[multipathd]]</code> <code>[[mpathpersist]]</code>
 
* [[RHEL]]: <code>device-mapper-multipath</code> package
 
* [[RHEL]]: <code>device-mapper-multipath</code> package
  
 
Config files:  
 
Config files:  
* <code>/etc/multipath.conf</code><ref>https://www.thegeekdiary.com/understanding-the-dm-multipath-configuration-file-etc-multipath-conf/</ref><code>https://manpages.debian.org/unstable/multipath-tools/multipath.conf.5.en.html</code>
+
* <code>/etc/[[multipath.conf]]</code><ref>https://www.thegeekdiary.com/understanding-the-dm-multipath-configuration-file-etc-multipath-conf/</ref><code>https://manpages.debian.org/unstable/multipath-tools/multipath.conf.5.en.html</code>
* <code>/etc/multipath/wwids</code>
+
* <code>/etc/multipath/[[wwids]]</code>
 +
 
 +
== Configuration file: /etc/[[multipath.conf]] <ref>https://en.wikipedia.org/wiki/Linux_DM_Multipath</ref>==
 +
# System level defaults (''defaults''): User can override system level defaults.
 +
# Blacklisted devices (''blacklist''): User specifies the list of devices that is not to be under the control of DM-MPIO.
 +
# Blacklist exceptions (''blacklist_exceptions''): Specific devices to be treated as multipath devices even if listed in the blacklist.
 +
# Storage controller specific settings (''devices''): User specified configuration settings will be applied to devices with specified "Vendor" and "Product" information.
 +
# Device specific settings (''multipaths''): Fine tune the configuration settings for individual LUNs.
 +
 
 +
== Routing policies implemented: failover, multibus and group_by_serial ==
 +
* failover : 1 path per priority group. IO thus get routed to one path only.
 +
* multibus : 1 priority group containing all paths to the LU. Brings the maximum spreading, but assumes that all paths are excitable without penalty.
 +
* group_by_serial : 1 priority group per storage controller (serial), paths through one controller are assigned to the associated PG. This policy applies to controllers that impose a latency penalty on LU management hand-over between a pair of redundant controllers.
 +
To modify a policy for device [[major]] 8 and [[minor]]:
 +
* <code>multipath -p multibus -D 8 0</code>
 +
 
 +
== Readings ==
 +
* Varoqui, C. (2010.) The Linux multipath implementation. Retrieved from http://christophe.varoqui.free.fr/refbook.html
 +
* Changelog: https://git.opensvc.com/?p=multipath-tools/.git;a=log
  
== Default multipath.conf configuration ==
+
== Related terms ==
<pre>
+
* <code>[[blkid]]</code> <code>[[multipath -f]]</code> <code>[[multipath -w]]</code> <code>[[pvcreate]]</code>
RHEL
+
* <code>[[multipath-tools]]</code> Ubuntu package
cat /etc/multipath.conf | grep -v "#" | grep .
+
* [[Hitachi Dynamic Link Manager (HDLM)]]
defaults {
 
    polling_interval            5
 
    no_path_retry              4
 
    user_friendly_names        no
 
    flush_on_last_del          yes
 
    fast_io_fail_tmo            5
 
    dev_loss_tmo                30
 
    max_fds                    4096
 
}
 
blacklist {
 
        protocol "(scsi:adt|scsi:sbp)"
 
}
 
devices {
 
    device {
 
        all_devs                yes
 
        no_path_retry          4
 
    }
 
}
 
  
</pre>
+
== Activities ==
 +
* Review <code>no_path_retry</code> configuration options in [[multipath.conf]] to avoid [[pvs]] to hang : https://www.suse.com/support/kb/doc/?id=7022310
 +
* [[Multipath: remove multipath device unpresented to host]]: <code>multipath -f</code>
 +
* Review [[multipath-tools]] source code: https://git.opensvc.com/gitweb.cgi?p=multipath-tools%2F.git
 +
* Map some [[LUN]] to your system with multipath uninstalled and verify no [[dm]] devices are created. Install multipath and check again.
  
 
== See also ==
 
== See also ==
* EMC <code>powerpath</code>
+
* [[EMC]] <code>[[powerpath]]</code>
* {{Fibre Channel}}
+
* <code>[[kpartx]]</code>
 +
* {{HBA}}
 +
* {{Linux Fibre Channel}}
 +
* {{Linux block devices}}
 +
* {{lvm commands}}
  
 
[[Category:Linux commands]]
 
[[Category:Linux commands]]

Latest revision as of 09:36, 20 September 2020

https://en.wikipedia.org/wiki/Linux_DM_Multipath


  • mpathconf
    • mpathconf --enable --with_multipathd y
  • multipath -l (show the current multipath topology from information fetched in sysfs and the device mapper)
  • multipath -ll
    • multipath -ll DEVICE_NAME
-t Display the currently used multipathd configuration

Config files:

Configuration file: /etc/multipath.conf [2][edit]

  1. System level defaults (defaults): User can override system level defaults.
  2. Blacklisted devices (blacklist): User specifies the list of devices that is not to be under the control of DM-MPIO.
  3. Blacklist exceptions (blacklist_exceptions): Specific devices to be treated as multipath devices even if listed in the blacklist.
  4. Storage controller specific settings (devices): User specified configuration settings will be applied to devices with specified "Vendor" and "Product" information.
  5. Device specific settings (multipaths): Fine tune the configuration settings for individual LUNs.

Routing policies implemented: failover, multibus and group_by_serial[edit]

  • failover : 1 path per priority group. IO thus get routed to one path only.
  • multibus : 1 priority group containing all paths to the LU. Brings the maximum spreading, but assumes that all paths are excitable without penalty.
  • group_by_serial : 1 priority group per storage controller (serial), paths through one controller are assigned to the associated PG. This policy applies to controllers that impose a latency penalty on LU management hand-over between a pair of redundant controllers.

To modify a policy for device major 8 and minor:

  • multipath -p multibus -D 8 0

Readings[edit]

Related terms[edit]

Activities[edit]

See also[edit]

scan: pvscan vgscan
LVM: lvs lvmscan lvm fullreport lvmreport lvmconfig lvmdump lvmcheck lvm dumpconfig
Scan: pvs vgs lvs pvscan vgscan
PV: pvcreate pvremove pvscan pvremove pvscan pvs pvchange pvck pvdisplay pvresize
LV: lvdisplay lvcreate lvremove, lvresize, lvextend, lvreduce, lvrename
VG: vgdisplay,vgcreate,vgremove, vgextend, vgreduce, vgscan, vgchange, vgrename, vgcfgbackup, vgcfgrestore, vgimportclone, vgck
Check commands: pvck vgck
  1. https://www.thegeekdiary.com/understanding-the-dm-multipath-configuration-file-etc-multipath-conf/
  2. https://en.wikipedia.org/wiki/Linux_DM_Multipath
  3. Advertising: