在线服务故障自动重建
场景描述
自动重建是保障在线推理服务高可用、自愈、稳定运行的核心能力,适用于以下场景:
- 容器、进程意外崩溃,业务快速恢复
推理实例(Pod)因进程异常、内存溢出(OOM,Out of Memory)、依赖缺失、代码 Bug 等意外退出时,平台自动重建Pod并重新拉起推理服务,无需人工介入,减少业务中断时间。
- 部署配置变更后平滑生效
- 滚动升级、版本迭代时容错保障
- 底层节点故障后快速迁移重建
- 长期稳定运行、无人值守生产环境
自动重建开启后,由于部署配置变更或者故障等原因导致Pod重启时,平台将按策略自动执行重建。若不开启,平台将不会主动干预处理。
重建策略如下:
- 部署副本重建:Pod发生重启时,对整个部署副本进行重建。
- 单元重建:Pod发生重启时,对整个单元进行重建。
- 单元副本重建:Pod发生重启时,对整个单元副本进行重建。
- Pod重建:Pod发生重启时,对整个Pod进行重建。
| 应用场景 | 推荐策略 | 说明 |
|---|---|---|
| 单卡/小模型推理,Pod间无通信依赖 | Pod重建 | 故障影响范围最小,仅重建故障Pod,其余Pod不受影响。 |
| 多卡推理(TP),同一单元内Pod强通信依赖 | 单元副本重建 | 一个Pod故障意味着整个单元副本不可用,需重建该副本内所有Pod以保证通信一致性。 |
| 多单元推理(PP+TP),单元间有序列依赖 | 单元重建 | 单元内多个Pod共同承担同一阶段的计算任务,任一Pod故障会导致该阶段无法完成计算,需重建整个单元内所有Pod恢复计算能力,保障跨单元RankTable一致性。 |
| 全局状态强一致场景(如分布式推理) | 部署副本重建 | 任一Pod故障影响全局,需重建整个部署副本的所有Pod,确保全局RankTable和HCCL重新协商。 |
约束限制
- 资源池限制:专属资源池和公共资源池均支持故障自动重建。
- 依赖健康检查:若未配置健康检查(就绪 / 存活探针),平台无法精准识别异常,可能导致无效重建或重建延迟。
- 故障自动重建与故障自动重启的区别:自动重建侧重配置变更 / 软件异常后的实例重建;故障自动重启侧重硬件 / NPU / 交换机故障后的调度重启,二者可叠加使用。
- 单元重建、单元副本重建或Pod重建三种策略下,重建前需等待容器退出,由于优雅停机机制或分批生效,当单元副本的资源实例数大于1时,容器退出整体耗时可能会达到优雅停机时间的2倍左右。
前提条件
在线推理服务的状态为 “运行中”。
开启故障自动重建
方式一:
在添加部署时,在,勾选“自动重建”,选择重建策略。
方式二:
如果部署时未开启故障自动重建,可以升级部署服务,修改配置,具体操作如下。
- 登录ModelArts管理控制台,在左侧菜单栏中选择“模型推理>在线推理”,进入在线服务管理页面。
- 单击目标在线服务名称,进入服务详情页。在详情页导航栏切换至“部署”页签,选择目标部署卡片,单击“升级”,进入升级部署页面。
- 在,勾选“自动重建”,选择重建策略(四选一)。
- Pod重建:仅重建当前异常Pod
- 单元重建:重建整个推理单元
- 单元副本重建:Pod发生重启时,对整个单元副本进行重建。
- 部署副本重建:重建整个部署副本
- 保存配置,完成自动重建开启。
相关操作
建议同时配置健康检查,提升异常识别精度,减少无效重建。具体操作请参考在线服务健康检查。