本文主要介绍几种可用于eRDMA的监测诊断工具和方法,以便您对eRDMA的运行状态进行相应的监控。
使用云监控监测eRDMA
您可以通过阿里云的云监控产品来监测eRDMA的运行状态。eRDMA支持的监控指标项可以通过如下步骤查询:
-
登录云监控控制台。
-
在指标列表搜索框中输入eri,可以筛选出当前eRDMA支持的监控指标。
说明
您也可以根据自己的监控需求对相应的监控数据进行加工、监控或者告警。更多信息,请参见自定义监控。
使用eadm监测eRDMA
eadm是eRDMA驱动程序默认自动部署的一个用户态的管理工具,无需手动安装,它是自研的ECS内部的诊断与实时监测工具,便于遇到故障时快速进行定位。eadm工具的主要功能包括:
-
流量监控、问题辅助诊断等功能:整个设备的实时流量统计功能。
-
配置的查询与设置功能:包括debug功能的开启、拥塞控制算法CC(Congestion Control )的配置等。
以下主要针对eadm工具常见的命令做说明,其他命令可以参考eadm工具的使用帮助(通过eadm -h
命令获取帮助)。
警告
本工具仅用于诊断与调试,工具未来可能发生变化,并不保证命令在任何情况/场景下均可用。
-
获取当前支持的主命令字
eadm -h
-
获取eRDMA设备的实时流量信息
eadm stat -d -l
其中
是指待查询的eRDMA设备名称(通过
ibv_devinfo
命令查询),您需要根据实际环境替换。如果环境中仅有一个eRDMA设备,-d
参数可省略。 -
获取eRDMA设备的统计信息(例如cm和verebs消息的计数、流量计数等)
eadm stat -d
其中
是指待查询的eRDMA设备名称(通过
ibv_devinfo
命令查询),您需要根据实际环境替换。如果环境中仅有一个eRDMA设备,-d
参数可省略。 -
获取当前eRDMA驱动的版本信息
eadm ver
说明
其余命令,例如info
、dump
、conf
等会有使用方面的约束限制,不建议您自行使用。
使用iproute2监测eRDMA
iproute2是Linux中管理控制TCP/IP网络和流量控制的新一代工具包,eRDMA的高版本已默认安装iproute2,iproute2自带的rdma命令也可以对rdma子系统做一些相应的监控和诊断。
说明
iproute2工具用完整而有机制的简单命令替代了ifconfig、arp、route、netstat等命令的功能,可用于管理网络接口、路由表和流量控制、帮助管理员快速定位和解决网络连接问题。
-
查询eRDMA设备的统计信息(例如cm和verebs消息的计数、流量计数等)
rdma -p stat
-
查询eRDMA设备当前的资源使用情况
rdma res
-
查询当前的eRDMA设备的状态信息
rdma link
常见问题及解决方法
如何查询当前使用的eRDMA内核驱动版本?
通过标准方式安装的eRDMA,会自动部署eadm工具,通过eadm工具的ver
命令,可以查询当前的内核驱动版本号。
eadm ver
新购实例运行rdma程序失败,怎么办?
-
运行以下诊断脚本。
wget https://elastic-rdma.oss-cn-hangzhou.aliyuncs.com/diagnose.py python3 diagnose.py -S
正常情况下,在运行以上命令之后,应当输出全部
PASS
的结果(在每一行开头有标识),如下图所示: 当前工具会检查上述9项内容,如果其中某一项出错,请尝试按照如下方式解决。
出错项
原因
解决方式
①
设备不可见
可能是您在购买实例时,没有选中eRDMA功能或者没有添加带有eRDMA功能的辅助网卡。如何购买或者使能eRDMA,请参见在企业级x86实例上配置eRDMA。
②
驱动未安装
未正确安装驱动。请确认您在配置eRDMA过程中的驱动安装步骤是否正确,或者尝试重新安装驱动。具体操作,请参见在企业级x86实例上配置eRDMA。
③
驱动未加载
未正确加载驱动,可能发生在安装完驱动但是尚未重启主机的阶段。请尝试通过
modprobe erdma
命令解决该问题。④
内核模块未加载
请尝试通过
modprobe ib_uverbs
来解决该问题。⑤
用户态驱动未识别到eRDMA设备
该问题是由于前述的①~④项未满足导致。
⑥
设备当前没有ACTIVE
该问题是由于eRDMA设备对应的ENI设备没有变为
running
状态。这种情况可能出现在某些较旧版本的内核中,需要先通过dhclient -v ethx
命令将对应的eth设备使能后,再检查eRDMA设备是否处于ACTIVE状态。⑦
查询不到统计或者统计计数有error
-
可能是操作系统不支持
rdma stat
命令。 -
可能出现某些错误的计数。在寻求技术支持时,建议带上
rdma -p stat
命令的输出结果。
⑧
网络的连通性检查不正常
一般是由于当前有多个网卡的IP地址在同一个子网内,会导致某些场景下eRDMA功能异常。
⑨
内核出现告警
检查相关的告警错误,并尝试重新加载驱动解决。
-
-
如果仍无法解决,请联系技术支持。
在寻求技术支持时提供脚本运行结果,便于问题的定位与解决。
如何获取当前系统中的eRDMA设备列表?
-
方式一:通过
ibv_devinfo
命令可以详细输出当前系统中可见的所有eRDMA设备。 -
方式二:通过
rdma dev
命令(需要操作系统支持)查询当前系统中的eRDMA设备列表。
如何查询eRDMA设备的流量?
在eRDMA设备的驱动版本在0.2.34
及以后,均支持流量的监控统计功能。
-
运行如下命令,确认驱动版本是否支持流量查询功能,即驱动版本是否在
0.2.34
及以后。eadm ver
-
运行如下命令,查询当前设备的实时流量。
-
仅有一个eRDMA设备
eadm stat -l
-
有多个eRDMA设备
eadm stat -d -l
其中
是指待查询的eRDMA设备名称(通过
ibv_devinfo
命令查询),您需要根据实际环境替换。
腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:http://www.yunxiaoer.com/151354.html