Raid卡(支持带外管理)的硬盘点灯(Locate灯)过程:
1、硬盘背板组件cpld逻辑读取硬盘在位信号,上报给BMC后, BMC可获取实际硬盘物理在位信息。
2、bmc检测到硬盘在位,通过I2C控制raid卡(支持带外管理的raid卡)发起对硬盘的locate点灯;过程大致:
(1)BMC通过I2C控制raid卡点灯;
(2)raid卡通过SAS线缆(SGPIO总线)将点灯信号给到硬盘背板组件cpld(这类符合标准Serial GPIO IBPI协议);
(3)硬盘背板组件cpld点硬盘locate灯。这块都在硬盘背板cpld逻辑完成,逻辑要解析SGPIO信号,并完成硬盘点灯和点灯状态标记刷新。
3、BMC通过硬盘背板组件smc查询硬盘点灯状态,确认点灯是否成功,并确认点灯硬盘槽位。
上面一统操作后结果:
1、bmc 从硬盘背板组件cpld得到了实际硬盘的物理在位信息(bmc知道了前置PDisk1~8,后置PDisk1~2硬盘在位);
2、RAID 通过 SAS 带内检测硬盘信息, 可获取 S1~S10共 10块逻辑硬盘带内在位信息。
接下来BMC要解决一个重要问题: 如何将物理硬盘盘位与带内硬盘盘位一一对应?
据8*2.5"硬盘背板例子来说明下这个过程。如下图所示, BMC 为了找到物理在位的硬盘盘位所对应的带内硬盘盘位,在 OS 启动后 BMC 执行
硬盘点灯操作来确认物理在位硬盘盘位与带内硬盘盘位的对应关系:
(1) 如下图所示 BMC 首先找 PDisk1 对应的带内硬盘。 如下图所示, BMC 通过 I2C 给 3516RAID 标卡发送 S5 点灯指令(根据 RAID 带内硬盘排序进行顺序点灯,该顺序根据 RAID SAS 扫描顺序排序, 与物理槽位非一一对应), RAID 卡收到点灯指令后, RAID 通过 SGPIO 给 8 盘直通背板CPLD 下发点灯指令,8盘直通背板 CPLD 对实际的带内 S5逻辑盘 点灯。
(2)因为硬盘背板组件cpld可根据物理硬盘点灯闪烁知道实际点灯硬盘的物理槽位,8盘直通背板将实际 S5 点灯的物理槽位上报给 BMC。 BMC 通过对比 Disk1 在位槽位和实际 S5点灯槽位是否一致, 来判断物理硬盘 Disk1 和带内硬盘 S5 是否一一对应。 实际不对应。
(3)因为 Disk1 和 S5 非对应, BMC 继续通过 I2C 给 3516RAID 标卡发送 S1 点灯指令, RAID 卡收到点灯指令后,通过 SGPIO 给8盘直通背板下发 S1 硬盘点灯指令,同时将 S1 硬盘实际物料槽位发送给 BMC。 本次 BMC 确认实际 Disk1 在位槽位和点灯槽位一致, 建立 Disk1 和 S1 的映射关系。

