基於CentOS的IB網絡卡驅動安裝
阿新 • • 發佈:2022-06-06
一、準備步驟
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引數靜默安裝
安裝完畢,載入驅動
/etc/init.d/openibd restart (systemctl start openibd)
/etc/init.d/opensmd restart
重啟伺服器:reboot
四、檢查IB網路
1、檢查IB網絡卡狀態:ibstat2、查詢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
再網路配置
。