我目前有一台 Brocade Silkworm 200e 交换机在生产中。公司 Exchange 服务器和 3 台 ESX 3.5 主机通过它连接到 clariion cx3 阵列。端口 0、1 是 SPA0 和 1,端口 4、5 是 SPB0 和 1。
我的计划是在 200 旁边添加一个 Brocade Silkworm 300 交换机(它已经上架并打开电源),转到数据中心并将 SPA1 和 SPB0 从 200 中拉出并将它们插入 300 交换机中的端口。
我有点担心拔出生产中的 FC 路径。我有一个合乎逻辑的假设,那就是事情只会故障转移到 SPA0 和 SPB1,A1 和 B0 不会被遗漏。但是,如果可能的话,我希望 100% 地了解我可以做什么来进一步降低风险。
如果 LUN 当前归 SPA 所有,它是否会自动以循环方式使用 SPA0 和 SPA1,或者交换机是否只优先选择一条特定路径,除非该路径发生故障?例如 - Exchange 服务器使用的是 SPA0 还是 SPA1,还是同时使用 0 和 1 主动/主动?
我猜想,如果它使用两条路径到 SP 主动/主动,那么中断其中一条路径的风险较小,因为我确信它已经使用另一条路径而不会出现问题。我担心强制故障转移到它以前没有使用过的备用路径,然后发现电缆有问题或什么的。
我是否应该完全破坏公司并关闭所有虚拟机和 Exchange 服务器,以确保在发生故障转移时不会发生数据损坏?或者这是否过分?无论哪种方式,我都会在完整备份周期后立即执行该操作。
当故障转移发生时,您将如何监控它? Brocade 200e 会详细记录它吗?我希望最大程度地确保当我拔掉这些插头时一切仍然正常。我可以重新扫描 esx 主机上的存储并查看 exchange 的 powerpath 监视器。我还能做得更好吗?
当我们把所有的鸡蛋都放在一个篮子里时,我宁愿比情况实际需要的更加谨慎,也不愿对第一次做这样的事情做出过于自信的假设。
答案1
我希望您的计划是建立第二个独立的结构,这通常被认为是一个好主意。
您没有说明您的服务器是否有多个 HBA。我希望如此,因为它将允许您正确地重新配置冗余结构,但如果没有,也不会显著影响您的当前计划。
Powerpath 将处理 Exchange 服务器的故障转移,并且应在 A0 断开连接时选择通过 A1 的路径,而不是 B0 或 B1,除非两个 SPA 端口都发生故障。如果任何路径无法运行,它会告诉您,或者至少您不会看到您期望的路径。根据您拥有的 Powerpath 版本(即 SE 版本或完全许可版本),您可能已启用负载平衡多路径策略,但无论如何,路径故障转移对于您描述的设置应该是可靠的。如果您碰巧断开了活动路径,Powerpath 将通过备用路径重新路由故障的 IO,前提是它们是健康的。您可以在 Powerpath GUI 中检查路径状态,也可以从命令行使用powermt check
检查失败\新路径或powermt restore
检查并删除\添加死\新路径。如果路径策略已设置为负载平衡,并且通过 SPA0 和 SPA1 都可以看到健康路径(例如),那么您可以非常有信心一切都正常。
在 ESX 服务器上,您应该能够从 VI Client->Configuration->Storage 选项卡中检查每个 LUN 的可用路径。在属性中,您可以看到可用的路径,哪些是活动的,哪些是待机的,在 Manage Paths 对话框中,您可以更改策略(Fixed\MRU\Round Robin)。您不需要更改任何内容,但您需要再次确保您希望它使用的故障转移路径可用。ESX 的多路径堆栈将再次处理故障转移,如果 IO 在活动路径上进行,它会在检测到另一条路径发生故障时将它们重新发送到另一条路径。ESX 3.5 仅实验性地支持循环多路径,因此您不想在这种情况下弄乱它。如果您想主动出击,您可以临时设置固定路径策略并强制 LUN 转到您想要的路径,但 CX3 的标准设置是将其保留在 MRU,这应该没问题。
在这两种情况下,故障转移发生之前可能会有一些滞后,并且 I/O 可能会短暂停滞,但只要冗余路径实际上是健康的,就不会出现任何故障。