节点故障
节点故障的发现主要通过NodeD和Volcano组件实现。节点故障包括节点心跳丢失和节点硬件故障,详细说明如下:
- 节点心跳丢失
针对导致节点宕机或重启的故障,NodeD通过心跳机制不断向Volcano发送节点心跳,当宕机或重启时节点心跳丢失,从而发现该节点故障。
- 节点硬件故障
针对节点硬件故障,NodeD通过IPMI驱动向iBMC发送故障查询请求,iBMC将当前硬件告警信息响应给NodeD,NodeD收集硬件告警信息后将节点硬件状态上报给Volcano。
图1 节点故障上报
- NodeD每隔5秒(默认)会更新本节点的node-Info-cm内容,其中字段说明见表1。
- NodeD每隔60秒(默认)会从iBMC查询当前节点的硬件故障信息,随着节点心跳更新时一起上报到node-Info-cm中。
Volcano通过计算发现NodeD最近一次上报心跳之后的一段时间内未再次上报心跳(大于两次心跳上报间隔的阈值)时,Volcano会认为NodeD所在节点故障,后续任务不会调度到该节点。如果已有任务在该节点且任务配置了重调度开关,则任务会被自动调度到健康节点;当两次心跳上报间隔小于或等于阈值时,Volcano认为NodeD所在节点恢复正常可重新调度任务到该节点。
计算公式:两次心跳上报间隔的阈值 = 心跳发送间隔时间 x 3,其中3表示Volcano会固定重试3次。
父主题: 故障发现