我正在评估使用两台现成的服务器构建廉价 iSCSI 冗余 SAN 的可能性。这个想法是运行 Linux、Pacemaker 和 iSCSI 目标 - 类似于linux-ha-examples 上的 SAN 主动-被动。
当我读到同一页时,我有点害怕:
在 iscsi-target 切换期间,可以检测到 write-test.log 协议中的间隙。在我们的设置中,我们观察到了 30 秒的延迟。在 ext3 和 iscsi 故障转移的连接中报告了问题。此配置已使用 ext2 和 ext3 进行了测试,并且适用于这两个文件系统。
有人在生产中采用过由 Linux 机器制成的冗余 iSCSI SAN 吗?故障转移事件真的那么糟糕吗?30 秒的 I/O 冻结对我来说听起来就像一场灾难,不是吗?
答案1
默认情况下,SCSI 连接会在 15 秒(或更长)后超时。如果您自己构建的解决方案无法在这段时间内完成接管,则需要使用该值。同样值得考虑的是,普通 SAN 会镜像其缓存,因此在接管后,已确认但尚未提交到磁盘的写入不会丢失。如果您无法安排这一点,则可能会出现数据损坏或不得不避免缓存写入的风险。
答案2
我们已经设置了两个 Linux 机器作为 iSCSI 目标集群。我们使用 DRBD 和南卡罗来纳科技大学目标,它工作正常。(SCST 目标比旧的 iscsitarget 更好,VMware ESXi 可以杀死那个,但不能杀死 SCST)。
超时是客户端设置,因此您可以根据需要将其设置得更低。