如何使用 Udev 规则持续设置“dev_loss_tmo”值
  1. 使用以下命令检查 FC 远程端口的属性:
# udevadm info --attribute-walk --path=/sys/class/fc_remote_ports/rport-x:y-z
  1. 然后通过匹配上面命令返回的属性中提到的'role'来创建匹配所有可行的rports的udev规则。
    例如,创建 /etc/udev/rules.d/99-tmo.rules 并包含以下内容。
ACTION!="add|change", GOTO="tmo_end"
KERNELS=="rport-?*", SUBSYSTEM=="XXXX", ATTR{roles}=="XXXX", ATTR{dev_loss_tmo}="xx"
LABEL="tmo_end"

在示例中,从第一个命令的输出返回的属性,

SUBSYSTEM="fc_remote_ports"
roles="FCP Target"
dev_loss_tmo=30

因此,将 dev_loss_tmo 增加到 700000 的规则如下;

ACTION!="add|change", GOTO="tmo_end"
KERNELS=="rport-?*", SUBSYSTEM=="fc_remote_ports", ATTR{roles}=="FCP Target", ATTR{dev_loss_tmo}="700000"
LABEL="tmo_end"
  1. 然后重新加载udev规则:
# udevadm control --reload
  1. 触发子系统的规则:
# udevadm trigger --subsystem-match="XXXX"

注意:如果属性 fast_io_fail_tmo 返回 0 或者关闭,也启用它以使 dev_loss_tmo 属性生效。

例如:

ACTION!="add|change", GOTO="tmo_end"
KERNELS=="rport-?*", SUBSYSTEM=="fc_remote_ports", ATTR{roles}=="FCP Target", ATTR{dev_loss_tmo}="700000", ATTR{fast_io_fail_tmo}="5"
LABEL="tmo_end"
日期:2020-09-17 00:13:52 来源:oir作者:oir