CSR配置字典之ActiveStandbyService类
更新时间: 2026/05/16
在Gitcode上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | ActiveStandbyService类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2025-05-13 |
| 最后更新 | 2026/05/16 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2025/05/13 | 初始版本 | 创建ActiveStandbyService类配置字典 | 全新文档 | 系统 |
| v1.1 | 2026/05/16 | 修订 | 与model.json同步更新 | 全部属性 | 基础服务组 |
🎯 类概览
ActiveStandbyService 类
| 属性 | 值 |
|---|---|
| 类名称 | ActiveStandbyService |
| 功能描述 | 主备服务核心配置类,提供默认主节点,心跳配置、硬件信号配置等 |
| 所属SIG组 | hardware |
| 所属组件 | active_standby_mgmt |
| 责任人 | 基础服务组 |
| 最后更新 | 2026/05/16 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
ActiveStandbyService 类 - 必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
StandbyToActiveWrite | U8 | - | U8 | - | 升主写入硬件信号对象 | 配置升主信号写入 | 1 | CSR | 硬件 |
ActiveToStandbyWrite | U8 | - | U8 | - | 降备写入硬件信号对象 | 配置降备信号写入 | 2 | CSR | 硬件 |
StandbyToActiveWriteProtect | U8 | - | U8 | - | 升主写保护硬件信号对象 | 配置升主写保护信号 | 3 | CSR | 硬件 |
ActiveToStandbyWriteProtect | U8 | - | U8 | - | 降备写保护硬件信号对象 | 配置降备写保护信号 | 4 | CSR | 硬件 |
HeartbeatWrite | U8 | - | U8 | - | 当前BMC主备心跳写入硬件信号对象 | 配置心跳写入信号 | 5 | CSR | 硬件 |
HealthStatus | U8 | - | U8 | - | 当前BMC健康状态读取信号对象 | 配置健康状态读取信号 | 6 | CSR | 硬件 |
ActiveRead | U8 | - | U8 | - | 当前BMC主备状态读取硬件信号对象 | 配置主备状态读取信号 | 7 | CSR | 硬件 |
BoardFullySeated | U8 | - | U8 | - | 单板插稳状态读取信号对象,如果没有则和在位信号保持一致 | 配置板卡插稳读取信号 | 8 | CSR | 硬件 |
ActiveMonitorIntervalMS | U32 | - | 不小于50 | - | 当前BMC主备检测间隔,取值范围:不小于50ms | 配置主备检测间隔 | 50 | CSR | 软件 |
ActiveStandbyService 类 - 可选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
DefaultActiveId | U8 | 1 | U8 | - | 默认单板的标识,与主备对象的Id对应 | 配置默认主节点 | 1 | CSR | 软件 |
HeartbeatIntervalMS | U32 | 300 | 不小于10 | - | 当前BMC主备心跳检测周期,单位:ms,取值范围:不小于10 | 配置心跳检测周期 | 300 | CSR | 软件 |
HeartbeatTimeoutMS | U32 | 3000 | 不小于500 | - | 当前BMC主备心跳检测间隔的超时时间,单位:ms,取值范围:不小于500 | 配置心跳超时时间 | 3000 | CSR | 软件 |
📝 配置示例
基本主备服务配置
json
{
"ActiveStandbyService": {
"DefaultActiveId": 1,
"StandbyToActiveWrite": 1,
"ActiveToStandbyWrite": 2,
"StandbyToActiveWriteProtect": 3,
"ActiveToStandbyWriteProtect": 4,
"HeartbeatWrite": 5,
"HealthStatus": 6,
"ActiveRead": 7,
"BoardFullySeated": 8,
"HeartbeatIntervalMS": 300,
"HeartbeatTimeoutMS": 3000,
"ActiveMonitorIntervalMS": 50
}
}高可靠性配置
json
{
"ActiveStandbyService": {
"DefaultActiveId": 1,
"HeartbeatIntervalMS": 100,
"HeartbeatTimeoutMS": 1000,
"ActiveMonitorIntervalMS": 50,
"StandbyToActiveWrite": 1,
"ActiveToStandbyWrite": 2,
"HeartbeatWrite": 5,
"HealthStatus": 6,
"ActiveRead": 7
}
}🔧 使用指南
配置步骤
- 配置DefaultActiveId:指定默认主节点的标识
- 配置心跳参数:HeartbeatIntervalMS、HeartbeatTimeoutMS
- 配置ActiveMonitorIntervalMS:设置主备检测间隔(≥50ms)
- 配置硬件信号:根据硬件Accessor对象配置各信号编号
注意事项
- HeartbeatIntervalMS:建议100-500ms,不小于10ms
- HeartbeatTimeoutMS:建议为心跳间隔的3-5倍,不小于500ms
- ActiveMonitorIntervalMS:不小于50ms
- 硬件信号对象需要与Accessor对象配合使用
故障排查
- 心跳失败:检查HeartbeatIntervalMS和HeartbeatTimeoutMS配置
- 切换失败:检查硬件信号配置是否与Accessor对应
- 主备状态异常:检查ActiveMonitorIntervalMS配置