小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前端 FC 共享卡的实现原理如下图所示。
FC 共享卡有 4 个 FC 物理端口,每个端口有 1 个 WWN,主机与共享卡端口建立 1 个 外部会话连接,同时共享卡与内部控制器分别建立 4 条连接,从主机视角来看,主机 与存储系统仍然只有一条 FC 链路。共享卡内部完成 FC 协议与连接处理,主机的 IO 请求在共享卡内部按照智能分发算法分发到四条链路上。从控制器的视角看,每个控 制器都与主机各建立了一条 FC 链路。 全共享的前端设计可以使系统组网更简单。在普通接口模块情况下,主机需要与每个 控制器建立物理链路,一个四控的系统就需要最少 4 条线(链路)。在使用共享接口模 块情况下,只需要 2 条线(出于冗余路径考虑),共享卡通过内部全共享实现了每个控 制器与主机之间的全连接。
使用前端共享卡可以在控制器意外故障的场景下,主机与前端端口的连接不会中断, 主机感知不到控制器故障,达到高可用目的。当控制器意外故障时,共享卡端口芯片 会感知到与控制器之间的 PCIe 链路断开,配合控制器内的业务倒换,接口模块把主机 的请求重新分发到其他控制器,实现了控制器故障秒级切换,主机不感知。相比在传 统接口模块下的控制器故障场景需要主机多路径进行链路切换,倒换通常需要 10~30 秒,而共享卡切换时间更短,可靠性更高。