我有一台运行 SLES11 SP4 的 Linux 服务器,它使用 open-iscsi 和多路径连接到由具有主动/被动故障转移功能的 Open-E DSS v7 存储群集提供的 LUN。
Linux 服务器与iSCSI 网络中的IPdb03
有接口。Open-E 集群的每一侧在 iSCSI 网络中都有两个 IP:第一个节点上的和,第二个节点上的和。bond0
10.0.100.66/22
10.0.100.71
10.0.100.72
10.0.100.73
10.0.100.74
因此,当没有发生故障转移时,发现如下所示:
db03:~ # iscsiadm -m discovery -t sendtargets -p 10.0.100.71:3260
10.0.100.71:3260,1 opene.lun602
10.0.100.72:3260,1 opene.lun602
两个目标均已连接,这是多路径状态:
db03:~ # multipath -ll
opene.lun602 (2697a42a45d5dcbdb) dm-0 SCST_BIO,izcegeu6eeb2jaeJ
size=500G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 7:0:0:0 sda 8:0 active ready running
`- 8:0:0:0 sdb 8:16 active ready running
如果发生故障转移,这两个连接都会进入failed faulty
,我将剩下 0 条路径和所有 I/O 错误,直到内核决定以只读方式重新挂载文件系统。
此时我可以手动尝试另一次发现,连接另外两个目标,...但是在 Linux 方面不会自动发生任何类型的故障转移。
因此我想知道:
有没有一种方法可以让 Linux 定期重新发现这些变化?我找不到。
有没有办法告诉 Open-E DSS 软件宣布其他路径但发出信号表明它们是备份?(有一次我们设法让集群显示所有 4 条路径,但它们被错误地显示,这
active ready
显然不是一个好主意,因为在主动/被动集群中你只需要将 I/O 引导到主动部分。)VMWare 如何处理这个问题?连接到以相同方式配置的另一个 LUN 的 VMWare 群集不会出现此类问题。
作为参考,这是我的 multipath.conf:
cat /etc/multipath.conf
multipaths {
multipath {
wwid 2697a42a45d5dcbdb
alias opene.lun602
}
}
devices {
device {
vendor "SCST_FIO|SCST_BIO"
product "*"
path_selector "round-robin 0"
path_grouping_policy multibus
rr_min_io 100
}
}
答案1
我有一台运行 SLES11 SP4 的 Linux 服务器,它使用 open-iscsi 和多路径连接到由具有主动/被动故障转移功能的 Open-E DSS v7 存储群集提供的 LUN。
不幸的是,Ping Open-E 几乎完全失去了支持。这些人使用来自 SCST 目标的分叉,并进行了一些严肃的修改,因此人们基于“常见” SCST 知识所推荐的一切可能有效,也可能无效,而之前使用过 Open-E 的人非常少,这是有原因的。对此深表歉意!
ESXi 上的多路径又是另一回事。为了使更新可靠地工作,您很可能最终会重新启动节点。这里完美总结:
http://www.codyhosterman.com/2015/03/esxi-iscsi-multipathing/
祝你好运!