快速获取
git clone https://github.com/Mellanox/mlnx-tools.git
rpmbuild -ba mlnx-tools.spec
rpm -ivh mlnx-tools-24.10-0.x86_64.rpm
背景
执行show_gids命令的时候没有该命令,经过查看show_gids在mlx_tools的rpm包中。
通过yum安装没有mlx_tools相关的命令,于是需要自己编译一个,或者从NVIDIA的官网中下载OFED,然后安装。本文主要介绍通过github构建并编译rpm包,然后安装的过程。
mlnx_tools介绍
github: https://github.com/Mellanox/mlnx-tools
mlx_tools是Mellanox userland tools and scripts,包括了mlnx的常用命令,比如常用的show_gids、mlnx-sf、mlnx_qos、mlnx_perf、cma_roce_mode。
具体mlx_tools包括2种命令:使用python写的,shell写的
python的命令包括:
├── python
│ ├── ib2ib_setup
│ ├── mlnx_dump_parser
│ ├── mlnx_perf
│ ├── mlnx_qos
│ ├── mlnx_tune
│ ├── mlx_fs_dump
│ ├── Python
│ │ ├── dcbnetlink.py
│ │ └── netlink.py
│ └── tc_wrap.py
shell的命令包括:
├── sbin
│ ├── cma_roce_mode
│ ├── cma_roce_tos
│ ├── common_irq_affinity.sh
│ ├── compat_gid_gen
│ ├── mlnx_affinity
│ ├── mlnxofedctl
│ ├── set_irq_affinity_bynode.sh
│ ├── set_irq_affinity_cpulist.sh
│ ├── set_irq_affinity.sh
│ ├── show_counters
│ ├── show_gids
│ ├── show_irq_affinity_hints.sh
│ └── show_irq_affinity.sh
├── tsbin
│ ├── mlnx_bf_configure
│ ├── mlnx-sf
│ └── sysctl_perf_tuning
└── udev
└── mlnx_bf_udev
构建mlnx_tools的rpm包
下载:
git clone https://github.com/Mellanox/mlnx-tools.git
注意分支需要配合OFED,默认分支是最新版的。
构建rpm包
根据下载代码中的Makefile,确定rpm构建需要用的文件
mv mlnx-tools mlnx-tools-24.10
tar -cvf mlnx-tools-24.10.tar.gz mlnx-tools-24.10
# 将rpm包拷贝到rpmbuild目录下
cp mlnx-tools-24.10.tar.gz /root/rpmbuild/SOURCES/mlnx-tools-24.10.tar.gz
# 执行编译
rpmbuild -ba mlnx-tools.spec
# 查看生成的rpm包:
ls -lh /root/rpmbuild/RPMS/x86_64/mlnx-tools-24.10-0.x86_64.rpm
最后生成目录:
安装mlnx_tools的rpm包
cd /root/rpmbuild/RPMS/x86_64/
# 安装rpm包
rpm -ivh mlnx-tools-24.10-0.x86_64.rpm
# 测试show_gids
show_gids