Difference between revisions of "Multipath"

From wikieduonline
Jump to navigation Jump to search
 
(74 intermediate revisions by the same user not shown)
Line 1: Line 1:
<code>multipath -l</code>
+
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
  
Config file: <code>/etc/multipath.conf</code>
+
 
<code>/etc/multipath/wwids</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>-t</code> Display the currently used [[multipathd]] configuration
 +
* <code>[[multipathd]] show config</code>
 +
 
 +
* [[Ubuntu]]: <code>multipath-tools</code> package
 +
** Binaries: <code>multipath</code> <code>[[multipathd]]</code> <code>[[mpathpersist]]</code>
 +
* [[RHEL]]: <code>device-mapper-multipath</code> package
 +
 
 +
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/[[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
 +
 
 +
== Related terms ==
 +
* <code>[[blkid]]</code> <code>[[multipath -f]]</code> <code>[[multipath -w]]</code> <code>[[pvcreate]]</code>
 +
* <code>[[multipath-tools]]</code> Ubuntu package
 +
* [[Hitachi Dynamic Link Manager (HDLM)]]
 +
 
 +
== 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: