由于multipathd,进程卡在 D 状态

对于启用排队且所有路径都关闭的多路径,内核会将提交的 IO 存储在队列中,并在路径恢复时重新提交它们。
向这些多路径提交 IO 的进程陷入 D 状态(不间断睡眠)。
'no_path_retry 4' 多路径参数将指示内核在 4 次路径测试失败后拔出队列。

拔出队列将使所有存储的 IO 失败。
如果中断会持续,管理员可能希望立即拔掉队列。
下面的 multipathd CLI 命令就是这样做的:

以下命令可以在交互模式“multipathd -k”下使用。

模式禁用排队地图|多路径
在所有多路径设备上禁用排队。

恢复排队地图|多路径
在所有多路径设备上恢复排队。

使用启用排队地图恢复原始情况

[root@~]# multipathd -k
multipathd> disablequeueing m
map maps multipath multipaths
multipathd> disablequeueing maps

multipathd -k :将会话置于交互模式。
命令可用于列出当前配置或者更改配置。
例如,列出当前配置,并从配置文件(etc/multipath.conf)中获取最新配置。

list|show paths :显示 multipathd 正在监控的路径及其状态。

multipathd> show paths
hcil dev dev_t pri dm_st chk_st dev_st next_check
0:0:0:0 sda 8:0 1 undef ready running orphan
#:#:#:# pgpwde 253:0 -1 undef faulty running orphan
6:0:0:7 sdc 8:32 1 active ready running XXXXXXXXX. 19/20
multipathd>
# multipathd -k "show paths"
hcil dev dev_t pri dm_st chk_st dev_st next_check
0:2:1:0 sdb 8:16 1 active ready running XXXXXX.... 12/20
7:0:0:0 sdc 8:32 1 undef ready running orphan
12:0:0:2 sdf 8:80 50 active ready running XXXXXXXXXX 20/20
12:0:0:1 sde 8:64 50 active ready running XXXXXXXXXX 20/20
12:0:0:3 sdg 8:96 50 active ready running XXXXXXXXXX 20/20
12:0:0:0 sdd 8:48 50 active ready running XXXXXXXXXX 20/20
13:0:0:1 sdh 8:112 50 active ready running .......... 1/20
[root@ovcacn12r1 ~]#

list|show status :显示每个路径检查器状态下被监控路径的数量。

multipathd> show status
path checker states:
down 1
up 2
paths: 1
busy: False
multipathd>

list|show maps :显示 multipathd 正在监控的多路径设备。

multipathd> show maps
name sysfs uuid
mpathk dm-8 3600144f0f1f283fa000058e3b573000a
multipathd>
# multipathd -k"show maps"
name sysfs uuid
3600605b00a15ddc020260a750a6e5b93 dm-0 3600605b00a15ddc020260a750a6e5b93
3600144f0adb8c09200005547f5bd0003 dm-1 3600144f0adb8c09200005547f5bd0003
3600144f0b5d60bb10000587005a10003 dm-2 3600144f0b5d60bb10000587005a10003
3600144f0b5d60bb1000058766e74000a dm-3 3600144f0b5d60bb1000058766e74000a
3600144f0adb8c09200005547f5e80004 dm-4 3600144f0adb8c09200005547f5e80004

list|show topology :显示当前的多路径拓扑。
与“multipath -ll”相同。

multipathd> show topology
create: mpathk (3600144f0f1f283fa000058e3b573000a) dm-8 SUN ,ZFS Storage 7120
size=999G features='0' hwhandler='0' wp=rw
'-+- policy='service-time 0' prio=1 status=active
'- 6:0:0:7 sdc 8:32 active ready running
multipathd>

list|show wildcards :显示交互式命令中使用的格式通配符,采用 $format:

multipathd> show wildcards
multipath format wildcards:
%n name
%w uuid
%d sysfs
%F failback
%Q queueing
%N paths
%r write_prot
%t dm-st
%S size
%f features
%h hwhandler
%A action
%0 path_faults
%1 switch_grp
%2 map_loads
%3 total_q_time
%4 q_timeouts
%s vend/prod/rev
path format wildcards:
%w uuid
%i hcil
%d dev
%D dev_t
%t dm_st
%o dev_st
%T chk_st
%s vend/prod/rev
%c checker
%C next_check
%p pri
%S size
%z serial
%m multipath
%N host WWNN
%n target WWNN
%R host WWPN
%r target WWPN
%a host adapter
pathgroup format wildcards:
%s selector
%p pri
%t dm_st
multipathd>

list|show config :显示当前使用的配置,源自默认值和配置文件 /etc/multipath.conf 中指定的值。

list|show blacklist :显示当前使用的黑名单规则,源自默认值和配置文件 /etc/multipath.conf 中指定的值。

multipathd> show blacklist
device node rules:
- blacklist:
(config file rule) ^(sdb|ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*
(config file rule) ^hd[a-z]
(default rule) ^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*
(default rule) ^(td|hd|vd)[a-z]
(default rule) ^dcssblk[0-9]*
- exceptions:
[empty]
wwid rules:
- blacklist:
(config file rule) 26353900f02796769
- exceptions:
[empty]
device rules:
- blacklist:
(default rule) DGC:LUNZ
(default rule) EMC:LUNZ
(default rule) IBM:Universal Xport
(default rule) IBM:S/390.*
(default rule) DELL:Universal Xport
(default rule) SGI:Universal Xport
(default rule) STK:Universal Xport
(default rule) SUN:Universal Xport
(default rule) (NETAPP|LSI|ENGENIO):Universal Xport
- exceptions:
[empty]
multipathd>

list|show devices :按名称显示所有可用的块设备,包括它们是否被列入黑名单的信息。

multipathd> show devices
available block devices:
sda devnode whitelisted, monitored
sdb devnode blacklisted, unmonitored
sdc devnode whitelisted, monitored
dm-0 devnode blacklisted, unmonitored
dm-1 devnode blacklisted, unmonitored
dm-2 devnode blacklisted, unmonitored
dm-3 devnode blacklisted, unmonitored
dm-4 devnode blacklisted, unmonitored
dm-5 devnode blacklisted, unmonitored
dm-6 devnode blacklisted, unmonitored
dm-7 devnode blacklisted, unmonitored
dm-8 devnode blacklisted, unmonitored
dm-9 devnode blacklisted, unmonitored
pgpwde devnode whitelisted, monitored

列表 |失败路径 $path :将路径 $path 设置为失败状态。

multipathd> fail path $path
fail
multipathd>

有关 multipathd 命令的更多信息,请使用帮助子命令:

# multipathd -k"help"
日期:2020-09-17 00:12:42 来源:oir作者:oir