如何检测RDMA常见故障
更新时间:2023-08-17
在GPU云服务器使用过程中可能会出现RDMA硬件故障或者亚健康状态,如果您发现应用程序出现报错或者RDMA硬件性能下降,可通过以下检测方法检测是否存在故障,发现故障后,可通过重启实例等方式修复,如果问题持续发生,请您提交工单。
网卡状态检测
您可通过以下检测方法,判断当前实例是否存在网卡状态故障。
检测步骤
- 登录实例。
- 查询所有RDMA网卡的接口状态,执行命令:
ibdev2netdev |grep -v eth0
- 查看是否有接口处于Down状态,如下eth2接口处于Down状态:
解决方法
- centos、rocky、baidulinux系统,请尝试使用如下命令恢复:
bash /var/lib/cloud/scripts/per-boot/bcc_elastic_net_centos_cloudinit.sh
- ubuntu系统,请尝试使用如下命令恢复:
bash /var/lib/cloud/scripts/per-boot/bcc_elastic_net_ubuntu_cloudinit.sh
如果运行命令后没有恢复,请提交工单。
网卡抖动检测
您可通过以下检测方法,判断当前实例是否存在网卡抖动。
检测步骤
- 登录实例。
- 查询所有RDMA网卡的接口名称,执行命令:
show_gids |grep v2|awk '{print $7}'|sed '/^$/d'|grep -v eth0
- 依次查询每个RDMA网卡Link down的次数,执行命令:
dmesg -T | grep -i eth|grep -i link|grep -i down|wc -l
journalctl --since `date -d "10 days ago" "+%Y-%m-%d"`| grep -i eth|grep -i link|grep -i down|wc -l
- 次数大于阀值8,说明网卡抖动。
解决方法
请提交工单。
网卡配置检测
您可依次检测以下几项,判断当前实例是否存在网卡配置故障。
mtu检测
检测步骤
- 登录实例。
- 查询所有RDMA网卡的接口名称,执行命令:
show_gids |grep v2|awk '{print $7}'|sed '/^$/d'|grep -v eth0
- 依次查询每个RDMA网卡的mtu,执行命令:
ip -4 -j -p addr show dev ${ifname}|grep mtu
- mtu值不等于预期值。
解决方法
请提交工单。
ip地址检测
检测步骤
- 登录实例。
- 查询所有RDMA网卡的接口名称,执行命令:
show_gids |grep v2|awk '{print $7}'|sed '/^$/d'|grep -v eth0
- 依次查询每个RDMA网卡的IP地址,执行命令:
ip -4 -j -p addr show dev ${ifname}|grep local
- 如果输出没有结果。
解决方法
请提交工单。