ACK集群针对GPU节点的坏卡场景,提供了多维度的监控、诊断、告警与恢复机制。本文将介绍GPU节点故障的具体排查步骤及恢复方案。
背景信息
日常监测与告警配置:您可以根据实际需求,对GPU相关的Metrics(ACK GPU监控2.0)和Events(ACK Node Problem Detector)进行告警配置。当GPU发生故障时,系统将及时触发告警通知,从而加快问题响应速度。
CIS智能诊断与分析:在GPU出现故障时,仅依赖告警事件可能不足以全面掌握GPU节点的状态和具体问题。此时,可以通过容器智能运维(CIS)对受影响的GPU节点或GPU Pod应用进行全面诊断。获取详细诊断报告后,您可以根据报告中的故障细节确定故障类型,并采取相应的解决措施。
故障隔离与修复:对于需要隔离处理的特定故障,ACK提供了节点级别和GPU卡级别的隔离功能。在完成故障修复后,可解除隔离,恢复正常运行。
步骤一:日常监测与告警配置
利用NPD组件可以实现对GPU卡做定期巡检,监测GPU卡是否异常,并通过设置联系人来接收相关告警通知。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页面,搜索ack-node-problem-detector组件并进行安装。
若您之前已安装该组件,请确保组件版本不低于1.2.20。更多详细信息,请参见ack-node-problem-detector。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在报警配置页面,单击进入联系人管理页签,单击创建,根据控制台指引完成联系人信息配置。
进入报警规则管理页签,找到集群GPU监控告警规则集,单击右侧对应启动状态,然后单击编辑通知对象选择相应的通知对象。
步骤二:CIS智能诊断与分析
当集群管理员通过手机短信、邮箱或钉钉聊天机器人等方式获知集群中的GPU节点出现故障时,可以登录容器服务控制台,使用CIS智能诊断工具对有问题的GPU节点进行进一步故障定位和分析。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在故障诊断页面,单击节点诊断,然后在节点诊断页面的左上角,单击诊断。
在选择节点面板,选择对应节点名称,仔细阅读注意事项后选中我已知晓并同意,单击发起诊断。
诊断完成后,会显示各个诊断项的结果。关于检查项详细信息,请参见节点诊断。
如果节点上的GPU出现了
XID Error
,那么在诊断结果中的GPUXIDErrors
中会出现{"GPU-326dc0ce-XXXX-77b6-XXXX-9a2eeXXXX":["43"]}
错误,说明在GPU UUID为GPU-xxx
的GPU设备上出现了Number为43的XID。更多诊断结果说明,请参见NPD中GPU坏卡事件。
步骤三:隔离节点上的GPU设备
当发现了GPU上的故障之后,需要将这张GPU卡进行隔离,避免后续的GPU应用Pod被分配到这张GPU设备上。详细操作,请参见GPU Device-Plugin相关操作。
如果您需要隔离目标节点上index
为1
或UUID
为GPU-xxx-xxx-xxx
的GPU卡,需要在目标节点的 /etc/nvidia-device-plugin/
目录下编辑或创建 unhealthyDevices.json
文件,并在其中写入以下内容,任选一种即可。
// 按照 Index 写入
{
"index": ["1"]
}
// 按照 UUID 写入
{
"uuid": ["GPU-xxx-xxx-xxx"]
}
保存后即生效,后续在修复完成后将文件中写入的隔离的GPU Item去除即可恢复。
如果期望自动对节点的GPU卡进行隔离操作,请登录故障节点,并修改
/etc/kubernetes//manifests/nvidia-device-plugin.yml
文件,删除以下环境变量。如果该环境变量不存在,则无需进行额外操作,自动隔离GPU功能已经启用。
env: - name: DP_DISABLE_HEALTHCHECKS value: all
删除环境变量后,需执行以下命令,重启Device Plugin。
mv /etc/kubernetes/manifests/nvidia-device-plugin.yml /etc/kubernetes/ # 等待几秒,旧Pod被清理的过程。 mv /etc/kubernetes/nvidia-device-plugin.yml /etc/kubernetes/manifests/
NPD中GPU坏卡事件
事件原因 | 事件消息 | 含义 | 处理建议 |
事件原因 | 事件消息 | 含义 | 处理建议 |
|
| 该GPU节点存在掉卡现象。 | 尝试重启节点,如果重启节点后仍出现掉卡情况,则需提交工单联系阿里云工程师。 |
|
| 该节点上的GPU存在XID错误,并上报相关XID信息。 | 尝试重启节点,如果重启节点后仍未恢复,则需提交工单联系阿里云工程师。 |
|
| 检查节点上执行 | 尝试重启节点,如果重启节点后仍未恢复,则需提交工单联系阿里云工程师。 |
|
| 检查节点上是否存在 | 尝试重启节点,如果重启节点后仍未恢复,则需提交工单联系阿里云工程师。 |
|
| 检查节点GPU卡的温度状况,如果超过89摄氏度则认为过热,上报温度高的卡的信息。 | 该事件仅为警告事件,只作提示。 |
- 本页导读 (1)
- 背景信息
- 步骤一:日常监测与告警配置
- 步骤二:CIS智能诊断与分析
- 步骤三:隔离节点上的GPU设备
- NPD中GPU坏卡事件