关键词:
GPU分析、容器化、Docker
摘 要:
介绍在Linux环境下搭建GPU分析容器化部署所需要的环境。
目录
一、配置环境要求
二、Linux系统安装
1、分区
2、独立数据分区挂载
三、服务配置及显卡驱动安装
1、关闭防火墙
2、关闭selinux
3、禁用nouveau
四、Docker安装
1、卸载旧版本docker
2、安装docker
3、docker目录修改
一、配置环境要求
本文仅以Linux环境为例,相关软硬件基本要求如下表:
硬件环境 | CPU | Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz |
内存 | 32GB | |
GPU | GeForce RTX 2070 Super * 2 | |
硬盘 | SSD 240GB | |
软件环境 | 宿主机系统 | CentOS 7.8.2003 |
显卡驱动 | NVIDIA-Linux-x86_64-440.82 或者 NVIDIA-Linux-x86_64-450.80.02 |
二、Linux系统安装
本文对于系统的安装不作详细介绍,只重点说明几个配置。
1、分区
分区步骤 | 挂载点 | 说明 | 分区类型 | 说明 |
第一步 | /boot/efi | 200M | 默认 | 或biosboot分区,2M |
第二步 | /boot | 2GB | 默认 | |
第三步 | / | 剩下全部空间 | ext4 |
2、独立数据分区挂载
如果安装系统sda足够大,不需要挂载,直接在根目录“/”下,通过“mkdir /data”命令创建“/data”目录。
如果是数据盘和系统盘分离,需要挂载数据盘。
fdisk /dev/sdb # sdb是第二块盘,现场根据实际选择。
g:GPT分区,分区前必选!GPT支持2T以上磁盘。
n:创建新分区
p:查看分区
w:保存分区信息
m:帮助
通过 mkfs.ext4格式化成ext4格式。
修改挂载文件:vi /etc/fstab,增加一行(vi中,按“o”增加一行):
/dev/sdb1 /data ext4 defaults 0 0
按esc,输入:wq,保存退出vi。
“mkdir /data”创建/data文件夹,mount -a完成挂载,df -h查看是否成功。
三、服务配置及显卡驱动安装
1、关闭防火墙
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# systemctl status firewalld.service
2、关闭selinux
# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled 重启生效。
查看状态:
# getenforce
3、禁用nouveau
查看该目录/etc/modprobe.d有无blacklist.conf文件,没有则创建一个,添加如下内容
blacklist nouveau
options nouveau modeset=0
保存之后,运行如下命令
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut -v /boot/initramfs-$(uname -r).img
然后reboot,输入命令lsmod | grep nouveau查看禁用是否成功了,如下图即表示禁用成功
4、驱动安装
注意宿主机上面需要安装gcc环境,同时保证uname -r和rpm -q kernel-devel的版本一致。
本文以NVIDIA-Linux-x86_64-440.64.run版本为例,直接运行NVIDIA-Linux-x86_64-440.64.run,命令如下:
# chmod 777 NVIDIA-Linux-x86_64-440.64.run
# ./NVIDIA-Linux-x86_64-440.64.run
输入accept接受协议,安装选项中,仅选安装驱动即可,安装完成后reboot重启 nvidia-smi查看gpu相关信息,如下图:
四、Docker安装
1、卸载旧版本docker
如果之前没有安装过,可跳过这一步。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# rm -rf /etc/systemd/system/docker.service.d
# rm -rf /var/lib/docker
# rm -rf /var/run/docker
2、安装docker
准备好以下docker rpm包:
以及下面的nvidia rpm包
里面的rpm一次批量安装即可,cd到该目录,执行rpm -Uvh *.rpm --nodeps --force即可,如果是GPU服务器,还需要安装nvidia的rpm包,安装方法一样。
启动docker:
# systemctl start docker
3、docker目录修改
- 查看docker当前目录
# docker info
- 停止docker
# systemctl stop docker
- 修改数据目录配置
# vi /usr/lib/systemd/system/docker.service
# 增加数据目录配置:--graph=/data/docker
# systemctl daemon-reload # 重新加载配置
# systemctl restart docker # 重启docker
# systemctl enable docker # 设置开机自启动