基于CentOS的IB网卡驱动安装
一、准备步骤
1、查看centos版本
cat /etc/issue或者cat /etc/redhat-release
2、查看linux版本
cat /proc/version或uname -a或uname -r
3、确定插在服务器节点上的IB网卡的信息以及是否插入成功
lspci |grep Mell
如果返回如上信息,说明IB网卡插入成功,此外,返回的信息中,ConnectX-3说明了IB网卡的信息。特别说明,ConnectX-3、ConnectX-4、ConnectX-5、ConnectX-6的驱动有所不同,例如,ConnectX-3可能不支持最新版本的驱动,因此需要知道该信息!
二、下载驱动
结合Linux版本、IB网卡版本,选择合适的IB网卡驱动(特别注意版本问题)
下载地址:https://developer.nvidia.com/networking/infiniband-software
三、安装驱动
解压安装:
tar -zxvf MLNX_OFED_LINUX-5.6-1.0.3.3-rhel8.2-x86_64.tgz
cd MLNX_OFED_LINUX-5.6-1.0.3.3-rhel8.2-x86_64/
./mlnxofedinstall
(安装程序会检查系统库,如果缺少库会直接提示使用yum install ‘缺少的库’安装,根据提示安装即可,-q参数静默安装)--force
安装完毕,加载驱动
/etc/init.d/openibd restart (systemctl start openibd)
/etc/init.d/opensmd restart
重启服务器:reboot
四、检查IB网络
1、检查IB网卡状态:ibstat
2、查询IB设备信息
ibv_devices #显示系统中目前所有设备 查看本主机的infiniband设备
ibnodes #查看网络中的infiniband设备
五、配置网络
首先,使用命令ifconfig查看是否存在ib0网卡:
在/etc/sysconfig/network-scripts目录下,可以看到ifcfg-ib0文件,配置方法修改这个文件
(如果没有的话在nmtui中自己添加ib0的网)
也可以使用nmtui设置ib0网络的ip地址,
注意:不要使ib网的IP地址和以太网的IP地址一样
六、用MPI验证infiniband网络
vim hw.c #include <stdio.h>
#include "mpi.h"
int main(int argc, char **argv)
{
int myrank,nprocs,len;
MPI_Status status; //状态信息
char Processorname[20]; MPI_Init(&argc,&argv); //初始化MPI并行环境
MPI_Comm_size(MPI_COMM_WORLD, &nprocs); //nprocs返回进程个数
MPI_Comm_rank(MPI_COMM_WORLD,&myrank); //myrank返回进程号(从0开始) MPI_Get_processor_name(Processorname, &len); //返回机器名字和名字长度
printf("Hello world! Process %d of %d on %s.\n",myrank,nprocs,Processorname);
MPI_Finalize(); //终止MPI处理
}
mpicc -o hw hw.c
mpiexec -f hosts -iface ib0 -np 5 ./hw
-f表示指定文件,我这个hosts文件表示在三台服务器上运行;-face表示指定哪个网络运行
七、卸载IB驱动
cd MLNX_OFED_LINUX-5.6-1.0.3.3-rhel8.2-x86_64/
./uninstall.sh
卸载完成后重启主机
八、其它安装方式
yum安装
如果ib网卡不识别,或着识别后配置后无法启用,安装ib驱动
yum install -y infiniband-diags
yum install -y opensm
systemctl start opensm
systemctl enable opensm
后期编译mvapich时需要ib库
yum install -y libibverbs
yum install -y libibverbs-devel
yum install -y libibmad-devel
再网络配置
。
最新文章
- CSS 魔法系列:纯 CSS 绘制图形(各种形状的钻石)
- Xcode常用快捷键
- max texture size of ios device
- 百度编辑器Ueditor的简单调用
- ZOJ Monthly, August 2014
- proguardgui.bat来混淆已有的jar包
- mybatis的辅助类
- jquery 获取 TABLE单元格的值
- php session 管理
- php_DWZ-JUI中碰到的问题解决方法详解(thinkphp+dwz)
- AngularJS之使用控制器封装业务逻辑
- eolinker——添加项目成员
- zabbix 常用监控模板
- Redis设计与实现:读书笔记之二
- Apache目录结构解释
- Linux中日期的加减运算
- Postgresql学习笔记
- [转]Httrack工具与使用指南
- swift UITextfield 添加点击方法 - 简单实现
- chrome打包程序