admin管理员组文章数量:1437737
OpenEuler 系统安装 docker 和 nvidia
1. 环境检查
1.1 ip设置
代码语言:shell复制# 设置ip
nmcli con add type ethernet con-name net-static ifname eno1 ip4 192.168.200.10/24 gw4 192.168.200.1
# 查看网卡状态
nmcli dev status
# 查看ip
ip addr
# 关闭网卡
nmcli device disconnect eno1
# 启动网卡
nmcli connection up id eno1
1.2 关闭selinux
1.查看 selinux 状态,SELinux=enabled 即开启
代码语言:shell复制sestatus
2.关闭selinux,SELINUX=disabled 即关闭
代码语言:shell复制sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3.重启服务器
代码语言:shell复制reboot
1.3 显卡检查
代码语言:shell复制# 查看显卡状态
lspci | grep -i nvidia
lspci | grep -i vga
查询结果如下:
可以查询到显卡的型号,需要注意以下参数:
(rev a1) 表示显卡已启用
(rev ff) 表示显卡未启用,需要根据服务器型号通过BIOS开启
2. 显卡驱动安装
2.1 检查驱动是否安装
代码语言:shell复制# 执行,如果没有找到命令,则说明驱动没有安装,需要手动安装。
nvidia-smi
2.2 禁用nouveau系统自带驱动
注意:安装驱动前,需要禁用nouveau系统自带驱动
1.查看系统自带的驱动,如果有结果,则说明存在nouveau,没有则直接跳过这一步。
代码语言:shell复制lsmod | grep nouveau
2.禁用nouveau系统自带驱动
代码语言:plain复制# 编辑如下文件:
vi /usr/lib/modprobe.d/dist-blacklist.conf
# 然后在最后添加如下内容:
blacklist nouveau
options nouveau modeset=0
3.重启服务器
重启后,确认成功禁用
2.3 安装基础rpm依赖包
说明:安装Nvidia驱动所需要的依赖包为:kernel-devel、gcc、dkms
注意:yum提供的kernel-devel的版本要和当前服务器内核版本一致,确保所需的依赖包版本一致
处理方法:直接找下载操作系统对应版本的iso文件,设置本地yum源,通过本地yum源安装所需依赖包
本地yum源配置参考:.03_LTS/docs/Administration/搭建repo服务器.html
1.查看kernel-devel版本
代码语言:shell复制# 查看服务器内核版本
uname -r
# 查看yum环境中提供的kernel-devel包版本
yum list|grep kernel-devel
查询结果如下:
2.安装依赖包。
代码语言:shell复制yum install gcc dkms gcc-c++
2.4 下载安装显卡驱动安装
1.查看显卡型号
代码语言:plain复制lspci | grep -i vga
查询结果如下:
显卡型号为:NVIDIA GeForce RTX 3060 Ti
2.下载显卡驱动
下载地址:/
选择以下信息,下载最新版本的驱动
我这里下载的是 “驱动程序版本: 525.1160 - 发行日期: 2023-5-9”
3.安装显卡驱动
将驱动上传到服务器上,在驱动路径下执行命令
代码语言:shell复制./NVIDIA-Linux-x86_64-525.116.04.run --kernel-source-path=/usr/src/kernels/5.10.0-60.18.0.50.oe2203.x86_64/ -no-x-check
在命令运行完成后执行 nvidia-smi
查看显卡状态
正常返回结果如下:
3. docker 和 nvidia-docker 安装
3.1 安装docker
1.下载docker安装包
下载地址:/
2.上传安装包到 /opt/software
下
通过文件传输工具,如:winscp、xftp
3.解压安装
代码语言:shell复制tar -zxvf docker-20.10.9.tgz
4.复制二进制文件到/usr/bin
目录下
cp /home/docker/* /usr/bin/
5.配置系统服务,创建docker.service文件
代码语言:shell复制vi /usr/lib/systemd/system/docker.service
# 按 "i键" 进入编辑模式,单机部署或portainer管理端部署时写入以下内容
-----------------------------------------------------------------
[Unit]
Description=Docker Application Container Engine
Documentation=
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
-----------------------------------------------------
# 退出,然后按一下esc键,然后直接输入:wq,意思就是写完以后保存。
6.(非必选,根据实际情况决定)
配置daemin.json文件,设置docker数据存储目录、限制容器日志大小,开启docker 2375端口、配置docker hub仓库地址
代码语言:shell复制# 创建目录
mkdir /etc/docker
# 编辑 daemon.json 文件
vi /etc/docker/daemon.json
# 写入
{
"data-root": "/opt/docker",
"log-driver": "json-file",
"log-opts": {"max-size":"500m", "max-file":"4"},
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"],
"default-ulimits": {"nofile": {"Name": "nofile","Hard": 64000,"Soft": 64000}},
"insecure-registries" : ["192.168.10.156"]
}
说明:undefineddata-root — 设置docker数据默认存储路径undefinedlog-driver — 设置容器日志的格式为jsonundefinedlog-opts — 设置单个日志文件的大小为 500M,最多存储 4 个日志文件undefinedtcp://0.0.0.0:2375 — 表示允许任何远程客户端通过 2375 端口连接 DockerDaemonundefinedunix:///var/run/docker.sock — 表示本地客户端将通过这个来连接 Docker Daemon
insecure-registries — 配置docker hub 仓库地址
default-ulimits — 调整默认的ulimit 值
备注:undefinedportainer 所在的主机不需要配置 hosts 这一行的内容,编辑配置文件时删除即可。undefined在没有docker hub仓库地址的时候, insecure-registries 这一行的内容可以不配置,编辑配置文件时删除即可。
7.重启docker的守护线程
代码语言:shell复制systemctl daemon-reload #刷新系统服务配置文件
systemctl start docker.service #启动docker
systemctl enable docker.service #配置开机自启
systemctl status docker.service #查看docker状态
8.执行docker version
查看是否安装成功
正常返回如下:
3.2 安装nvidia-docker
1.下载nvidia-docker安装包
说明:这里是通过rpm包的方式安装,需要下载以下rpm包
注意:这里直接选择centos7即可,确保各个文件版本是对应的,且尽可能下载最新版本防止出现问题
下载地址:
需要下载的rpm包:
nvidia-container-runtime-3.9.0-1.noarch.rpmundefinednvidia-docker2-2.9.1-1.noarch.rpmundefinednvidia-container-toolkit-1.9.0-1.x86 64.rpmundefinedstable centos7 x86 64 libnvidia-container1-1.9.0-1.x86 64.rpmundefinedstable centos7 x86 64 libnvidia-container-tools-1.9.0-1.x86 64.rpmundefinedstable centos7 x86 64 libnvidia-container-devel-1.9.0-1.x86 64.rpm
2.安装nvidia-docker
将下载完成的文件上传到服务器同一个文件夹内,运行以下命令安装(不同的Linux发行版用对应的安装指令安装)
代码语言:shell复制rpm -Uvh *.rpm --nodeps --force
安装完成后需要重启docker服务
代码语言:shell复制systemctl restart docker
3.测试,下载tritonserver镜像进行测试
根据实际情况,下载对应版本的tritonserver,离线服务器可以通过镜像导入导出的方式测试。
代码语言:shell复制镜像源地址:
# 拉取镜像
docker pull nvcr.io/nvidia/tritonserver:21.10-py3
# 运行容器
docker run -it --gpus all nvcr.io/nvidia/tritonserver:21.10-py3 /bin/bash
在容器里执行nvidia-smi
命令,成功则返回如下结果:
到这里,docker和nvidia-docker已经安装完成,从程序里已经可以调用到物理显卡,接下来就进行AI服务安装。
本文标签: OpenEuler 系统安装 docker 和 nvidia
版权声明:本文标题:OpenEuler 系统安装 docker 和 nvidia 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747529456a2701958.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论