Difference between revisions of "Multipath"
Jump to navigation
Jump to search
↑ https://www.thegeekdiary.com/understanding-the-dm-multipath-configuration-file-etc-multipath-conf/
↑ https://en.wikipedia.org/wiki/Linux_DM_Multipath
(→Routing policies implemented: failover, multibus and group_by_serial: To modify a policy for device major 8 and minor: * <code>multipath -p multibus -D 8 0</code>) |
|||
(55 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>== | + | == 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. | # 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. | # Blacklisted devices (''blacklist''): User specifies the list of devices that is not to be under the control of DM-MPIO. | ||
Line 21: | Line 32: | ||
# Storage controller specific settings (''devices''): User specified configuration settings will be applied to devices with specified "Vendor" and "Product" information. | # 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. | # Device specific settings (''multipaths''): Fine tune the configuration settings for individual LUNs. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Routing policies implemented: failover, multibus and group_by_serial == | == Routing policies implemented: failover, multibus and group_by_serial == | ||
Line 53: | Line 37: | ||
* multibus : 1 priority group containing all paths to the LU. Brings the maximum spreading, but assumes that all paths are excitable without penalty. | * 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. | * 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: | + | To modify a policy for device [[major]] 8 and [[minor]]: |
* <code>multipath -p multibus -D 8 0</code> | * <code>multipath -p multibus -D 8 0</code> | ||
== Readings == | == Readings == | ||
* Varoqui, C. (2010.) The Linux multipath implementation. Retrieved from http://christophe.varoqui.free.fr/refbook.html | * 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
- https://linux.die.net/man/5/multipath.conf
- https://linux.die.net/man/8/multipath
- https://linux.die.net/man/8/multipathd
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
multipath -v2
ormultipath -v3
multipath -t
-t
Display the currently used multipathd configuration
multipathd show config
- Ubuntu:
multipath-tools
package- Binaries:
multipath
multipathd
mpathpersist
- Binaries:
- RHEL:
device-mapper-multipath
package
Config files:
/etc/multipath.conf
[1]https://manpages.debian.org/unstable/multipath-tools/multipath.conf.5.en.html
/etc/multipath/wwids
Contents
Configuration file: /etc/multipath.conf [2][edit]
- 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[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]
- 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[edit]
blkid
multipath -f
multipath -w
pvcreate
multipath-tools
Ubuntu package- Hitachi Dynamic Link Manager (HDLM)
Activities[edit]
- Review
no_path_retry
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:
multipath -f
- 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[edit]
- EMC
powerpath
kpartx
- HBA,
rescan-scsi-bus.sh
,/sys/class/fc_host/
- Fibre Channel: HBA,
multipath-tools
,multipath
,multipath -ll
,/etc/multipath.conf
multipathd
rescan-scsi-bus.sh
powermt
Device mapper
dmsetup ls
, - Block devices:
blkid
(UUID),lshw -class disk
,hwinfo --disk
,udevadm
,rescan-scsi-bus.sh
,LUN
,hdparm
,findfs
, Add a new disk lsblk
,pvscan
lspci
,lsscsi
,smartctl
,fdisk
,parted
,Kpartx
,pvdiplay
,pvs
,udisksctl
,/dev/sd, nvme list
- LVM: LVM errors LVM scan commands
lkvmetad
, Add a new disk
- 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
Advertising: