用于批量巡检 HPC/AI 集群或分布式存储节点上的 PCIe 设备在位情况和PCIE速率状态
cluster_pcie_check脚本使用手册
| 版本 | 1.0 | 发布人 | 张建 | 发布日期 | 2026年3月12日 |
|---|
适用环境:AI训练集群 / HPC集群 / 分布式存储
脚本语言:Bash
1. 脚本简介
cluster_pcie_check.sh 用于 批量巡检 HPC/AI 集群或分布式存储节点上的 PCIe 设备,支持:
- GPU / DCU / NIC 自动分类
- PCIe 总线号、理论速率(LnkCap)、实际速率(LnkSta)采集
- PCIe 降速自动标记
- 集群统计(节点数、GPU/NIC/DCU 总数)
- 异常节点汇总
2. 使用方式
./cluster_pcie_check.sh [options]
可选参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-hostfile FILE |
节点列表文件,每行一个节点名,默认读取nodelist |
nodelist |
-dev KEYWORDS |
需要检测的 PCIe 设备关键字,如:Mellanox Co-processor NVIDIA |
Mellanox Co-processor NVIDIA |
-p NUM |
并行 SSH 登录节点数,越大越快但受网络/主机限制 | 50 |
-w SEC |
SSH 连接超时时间(秒) | 5 |
-h |
显示帮助信息 | - |
3. 示例命令
默认参数检查 Mellanox 和 DCU:
./cluster_pcie_check.sh -dev Mellanox Co-processor #通过lspci | grep -i co-pro命令先在单机上取得部件的完整名称
指定节点列表文件,增加并发度,SSH 超时 10 秒:
./cluster_pcie_check.sh -hostfile my_nodes.txt -dev Mellanox Co-processor NVIDIA -p 100 -w 10
查看帮助:
./cluster_pcie_check.sh -h
4. 输出说明
4.1 屏幕输出示例
NODE: GPU001 (GPU:0 DCU:1 NIC:1)
TYPE BUS CAP STA
----------------------------------------------
DCU 05:00.0 32GT/s 32GT/s
NIC 06:00.0 32GT/s 32GT/s
----------------------------------------------
- NODE:节点名称
- TYPE:设备类型(DCU / NIC / GPU)
- BUS:PCIe 总线号
- CAP:理论最大速率(LnkCap)
- STA:实际速率(LnkSta)
- 降速标记
***:CAP(理想速率)≠ STA(实际速率)
4.2 集群统计示例
Cluster Summary
----------------------------------------------------------------------------
Total Nodes: 264
Total GPU : 2112
Total NIC : 2640
Total DCU : 2112
4.3 异常 PCIe 汇总示例
Abnormal PCIe (Link Downspeed)
----------------------------------------------------------------------------
GPU001 DCU 05:00.0 32GT/s 16GT/s
GPU002 NIC 06:00.1 32GT/s 16GT/s
5. 日志文件
日志保存在脚本同级目录:./pcie_device_status/pcie_device_YYYYMMDD_HHMMSS.log
内容与屏幕输出一致,便于存档或批量分析
6.注意事项
- 节点必须可以通过 SSH 无密码登录
- 并行数 (
-p) 太大可能导致 SSH 队列阻塞或节点负载升高 - 确保
lspci在所有节点可用