Linux服务器自动化批量安装IB网卡驱动

news/2024/10/26 20:10:24/

Readme

脚本功能:

使用方法:

  • 将该脚本上传至linux服务器
  • 将驱动包上传至与脚本同一级目录下
  • 在脚本同一级目录下创建nodelist文件,写入待安装节点的带内管理IP,每行一个;
  • 脚本赋执行权限

测试环境:

  • CentOS7.9/Rocky8.6

注意事项:

  • 不同的系统安装命令略有不同,请按照脚本中的注释,根据实际情况进行修改

Script

#!/bin/bash
current_dir="/root"
node_list="${current_dir}/nodelist"    #待安装节点管理IP    
driver_name="MLNX_OFED_LINUX-xxx-xxx-x86_64.zip"    #驱动包名称,根据实际修改
install_dir="${current_dir}/MLNX_OFED_LINUX-xxx-xxx-x86_64"    #解压后的路径,根据实际修改readarray -t ip_address < ${node_list}
count=${#ip_address[@]}#不同OS安装命令可能不同,根据实际修改,以下以CentOS7.9为例cat > ${current_dir}/install.sh << EOF 
#install deps
yum install -y tk gcc-gfortran tcl make tcsh fuse-libs perl libusbx pciutils lsofcd ${install_dir}
./mlnxofedinstall --force
/etc/init.d/openibd restart
/etc/init.d/opensmd restart
sleep 5
reboot
EOF#准备工作;有共享目录该步骤无需执行
for ((i=0; i<$count; i++))
do ######
echo  "Start copying to ${ip_address[$i]}"
scp ${current_dir}/install.sh root@${ip_address[$i]}:${current_dir}/					    
scp ${current_dir}/${driver_name} root@${ip_address[$i]}:${current_dir}/ssh -n ${ip_address[$i]} "echo  "Start to unzip on ${ip_address[$i]}"  
cd ${current_dir}/
# 检查文件是否存在
if [ -f "MLNX_OFED_LINUX-xxx-xxx-x86_64.zip" ]; thenecho "文件存在,开始解压"unzip MLNX_OFED_LINUX-xxx-x86_64.zip  >/dev/null 2>&1
elseecho "文件不存在,请重新拷贝"
fi
"done #安装循环,宏观上并行安装
for ((i=0; i<$count; i++))
do
####
ssh -n ${ip_address[$i]} "echo "Start to install ib driver  on ${ip_address[$i]}"
cd ${current_dir}/# 检查mlnxofedinstall文件是否存在
if [ -f "mlnxofedinstall" ]; thenecho "文件存在,执行操作"nohup bash install.sh > install.log  &elseecho "文件不存在,请检查"
fiexit "
done echo "Please wait for about 30 minutes"
#设置等待30分,根据实际修改
sleep 1800;#安装后检查
echo "Start checking installation status"flag=1
for ((i=0; i<$count; i++))
do ######
ssh -n ${ip_address[$i]} "
if lsmod | grep -q rdma; thenecho "${ip_address[$i]} yes"flag++
elseecho "${ip_address[$i]} no"
fi
"
done #检测所有节点安装成功
if [ flag -eq ${count} ];thenecho "Installation successful!"
elseecho "please check"
fiecho "Installation completed"

每天进步一点点


http://www.ppmy.cn/news/1542200.html

相关文章

从零开始:Python与Jupyter Notebook中的数据可视化之旅

目录 **理解数据与数据可视化的基本流程****了解Python与其他可视化工具****掌握Anaconda、Jupyter Notebook的常用操作方法****原理** 环境配置1. **安装Anaconda软件&#xff0c;创建实验环境**2. **安装Jupyter Notebook**3. **创建第一个Jupyter Notebook文本**&#xff08…

Android 9.0 修改WLAN热点名称为MAC地址后四位

这个需求主要是读取mac地址,mac地址一般是用写号工具写入到NVRAM,所以需要从NVRAM读取准确的地址。 导入nvram操作用到的库&#xff1a; frameworks/opt/net/wifi/service/Android.mk LOCAL_STATIC_JAVA_LIBRARIES : \vendor.mediatek.hardware.nvram-V1.0-java读取wifi mac…

【线下培训】龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座

文章关键词&#xff1a;电子数据取证培训、产学研推进、手机取证、介质取证 2024年10月23日&#xff0c;龙信科技应邀参与了由教育部网络安全与执法虚拟教研室&#xff08;中国刑事警察学院&#xff09;举办的学术讲座。在这次学术交流中&#xff0c;我们公司的技术专家陈杰以…

在服务器启动docker容器卡住、无启动成功信息,docker ps一a状态码137

在服务器启动docker容器卡住、无启动成功信息&#xff0c;docker ps 一a状态码137 docker、ubuntu 20.04、emqx 5.8.0背景 想从移动安卓设备往服务器发点数据&#xff0c;因为服务器有固定IP&#xff0c;想起来之前看过的这个mqtt&#xff0c;感觉比较合适&#xff0c;但是启…

Git_GitLab

Git_GitLab 安装 服务器准备 安装包准备 编写安装脚本 初始化 GitLab 服务 启动 GitLab 服务 浏览器访问 GitLab GitLab 创建远程库 IDEA 集成 GitLab 安装 GitLab 插件 设置 GitLab 插件 安装 服务器准备 准备一个系统为 CentOS7 以上版本的服务器&#xff0c;使…

WORFBENCH:一个创新的评估基准,目的是全面测试大型语言模型在生成复杂工作流 方面的性能。

2024-10-10,由浙江大学和阿里巴巴集团联合创建的WORFBENCH&#xff0c;一个用于评估大型语言模型&#xff08;LLMs&#xff09;生成工作流能力的基准测试。它包含了一系列的测试和评估协议&#xff0c;用于量化和分析LLMs在处理复杂任务时分解问题和规划执行步骤的能力。WORFBE…

django5入门【03】新建一个hello界面

文章目录 1、前提条件⭐2、操作步骤总结3、实际操作示例 1、前提条件⭐ 将上一节创建的 Django 项目导入到 PyCharm 中。 2、操作步骤总结 &#xff08;1&#xff09;在 HelloDjango/HelloDjango 目录下&#xff0c;新建一个 views.py 文件。 &#xff08;2&#xff09;在 H…

数字IC后端实现 | Innovus各个阶段常用命令汇总

应各位读者要求&#xff0c;小编最近按照Innovus流程顺序整理出数字IC后端项目中常用的命令汇总。限于篇幅&#xff0c;这次只更新到powerplan阶段。有了这份Innovus常用命令汇总&#xff0c;学习数字IC后端从此不再迷路&#xff01;如果大家觉得这个专题还不错&#xff0c;想继…