云容器引擎 CCE-GPU故障处理:故障定位步骤

时间:2024-04-03 08:02:19

故障定位步骤

  • NVML显存重映射行数查询异常

    GPU驱动或GPU设备存在异常,请根据GPU设备所在的节点类型(E CS 或BMS),联系对应的客服进行处理。

  • GPU设备DBE错误与SBE错误总数过高

    GPU驱动或GPU设备存在异常,请根据GPU设备所在的节点类型(ECS或BMS),联系对应的客服进行处理。

  • GPU设备存在Uncorrectable ECC错误
    1. 登录GPU隔离事件发生的节点。
    2. 进入/usr/local/nvidia/bin目录,执行nvidia-smi -q命令。

      若nvidia-smi命令不存在或执行失败,有可能是驱动安装未就绪导致,可以重新安装GPU驱动后,再重试。

    3. 观察执行结果中的ECC ERROR(发生ECC故障的记录)。
      • Correctable Error:不会影响业务,不会触发GPU隔离。
      • Uncorrectable Error:会导致业务中断,会触发GPU隔离。
    4. 若存在Uncorrectable Error,可以尝试通过以下手段恢复:
      1. 配置目标节点污点(taints),驱逐目标节点存量的业务负载。
      2. 重启目标节点。
      3. 若重启后仍有该现象,则需要收集nvidia-smi -q命令的输出,然后根据GPU设备所在的节点类型(ECS或BMS),联系对应的客服进行处理。
  • NVML获取设备UUID异常
    1. 登录GPU隔离事件发生的节点。
    2. 进入/usr/local/nvidia/bin目录。
    3. 执行nvidia-smi,观察执行结果中的设备ID,例如:00:0D.0。

      若nvidia-smi命令不存在或执行失败,有可能是驱动安装未就绪导致,可以重新安装GPU驱动后,再重试。

    4. 执行lspci | grep NVIDIA,观察执行结果中的设备ID。
    5. 比对上述两者结果,若存在不匹配的现象,收集两者输出结果,然后根据GPU设备所在的节点类型(ECS或BMS),联系对应的客服进行处理。
  • GPU设备存在Xid错误
    1. 登录GPU隔离事件发生的节点。
    2. 执行dmesg -T | grep -i NVRM,观察结果输出。
    3. 假如存在Xid(PCI:0000:00:0x): xx格式的信息,则需要收集错误码,根据Nvidia Xid Error页面中确认详细原因。然后将详细原因和错误信息,根据GPU设备所在的节点类型(ECS或BMS),联系对应的客服进行处理。
  • GPU虚拟化设备可用内存远小于GPU物理显存
    1. 登录GPU虚拟化节点。
    2. 执行/usr/local/nvidia/bin/nvidia-smi,观测目标GPU卡的物理显存,记录其序号。
    3. 执行cat /proc/xgpu/{GPU卡序号}/meminfo,注意替换命令中的{GPU卡序号}为步骤2获取的GPU卡序号,观测GPU虚拟化的可用显存。
    4. 比较步骤2和步骤3的可用显存。

      由于GPU厂商的驱动程序,本身就会占用一定量的物理显存,量级在300MB左右,这属于正常现象。例如Tesla T4配套510.47.03,驱动程序默认会占用280MiB;而该显存占用与厂商的驱动程序版本也有一定相关性,例如535系列驱动比470系列占用更多。

      若发现GPU虚拟化的可用显存远小于GPU卡的物理显存,一般是因为存在一些非GPU虚拟化发放的容器,占用了显存。

    5. 通过CCE控制台或kubectl命令,将目标节点的GPU负载排空。
    6. 执行rmmod xgpu_km,进行GPU虚拟化模块的删除。
    7. 通过CCE控制台或kubectl命令,将目标节点的nvidia-gpu-device-plugin Pod进行删除。
    8. 等待nvidia-gpu-device-plugin Pod重建完成后,重新按照步骤2和步骤3进行结果核验。
support.huaweicloud.com/usermanual-cce/cce_10_0779.html