初始化操作系统

使用 ionet-setup.sh 脚本初始化系统环境的用户,请跳过本章节直接进行下一章节操作。

1. 切换 root 权限

bash
sudo -i

执行该命令,提示用户输入密码,执行后用户将切换至临时 root 权限进行操作。

2. 更新系统

执行以下命令更新您的操作系统:

bash
apt update
apt upgrade -y
apt dist-upgrade -y
apt autoremove -y
apt autoclean

完成后执行 reboot 命令重启操作系统。

3. 安装 worker 运行依赖

执行以下命令安装worker运行所需的必要环境:

bash
apt install build-essential cmake gpg unzip pkg-config software-properties-common libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk curl gnupg-agent dirmngr alsa-utils libgtk-3-dev -y

完成后执行 reboot 命令重启操作系统。

4. 安装 CUDA 工具包

4.1 禁用第三方 nouveau 驱动

Ubuntu 默认使用第三方 nouveau 开源驱动作为初始 Nvidia 驱动,在安装 CUDA 套件之前必须将其禁用,以避免安装官方 Nvidia 驱动过程中产生冲突,造成异常报错导致无法安装。

执行以下命令,禁用第三方 nouveau 驱动

bash
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/disable-nouveau.conf
update-initramfs -u

完成后执行 reboot 命令重启操作系统。

重启结束后再次登录系统,切换至 root 管理员操作权限。

4.2 获取 Nvidia CUDA Toolkit 安装命令

根据操作系统选择对应的版本,选择后会在底部生成对应的命令,该命令包含 1.下载CUDA套件、2.执行安装操作,根据提示将命令复制执行即可。

最后一个选项安装类型有三种:

  1. deb包管理器本地安装;

  2. deb包管理器网络安装;

  3. runfile集合包安装;

推荐选择 runfile 集合包安装,选择以上两种deb包管理器安装方式,会产生大量冗余相关依赖包及辅助包,造成系统体积过大,另外 cuda 12 向 cuda 13 升级时需要重新更新相关软件源,对于经验不足用户比较麻烦,runfile 集合包是精简过的最小完整 cuda + driver 运行环境安装包,体积小简单易安装。

执行选择后提示的命令,根据交互提示完成安装

bash
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
sudo sh cuda_12.4.1_550.54.15_linux.run

CUDA 套件中,包含 CUDA Toolkit 和 Nvidia 驱动程序,因此无需额外安装 nvidia 驱动。

安装完成后执行以下命令,验证安装成功

bash
nvidia-smi

如图可见显卡相关信息,即为安装成功!

5. 安装 Docker

执行以下命令,卸载所有冲突的程序包

bash
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

执行以下全部命令,添加 Docker apt 存储库

bash
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

执行以下全部命令,安装最新版 Docker

bash
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

执行以下命令,验证 Docker 安装成功

bash
docker version

如图所示显示 docker 详细版本信息,说明 docker 安装成功。

6. 安装 Nvidia 容器工具包

Nvidia CUDA 套件默认只支持本地系统环境硬件调用,对于第三方容器服务(docker、k8s等)调用GPU硬件,Nvidia 提供了单独的容器支持工具包,需要独立安装,使 Docker 支持 Nvidia 相关 GPU 的容器内调用。

执行以下命令,添加 Nvidia 容器支持服务 存储库

bash
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update

执行以下命令,安装 Nvidia 容器支持工具包

sudo apt-get install -y nvidia-container-toolkit

执行以下命令,配置 Docker GPU 支持

bash
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

最后,运行一个docker GPU容器,调用nvidia-smi展示显卡硬件相关信息,以此测试是否配置成功,命令如下:

bash
docker run --gpus 'all,capabilities=utility' --rm ubuntu nvidia-smi

运行结果如上图,docker调用GPU,展示显卡相关信息,至此 io.net 的 worker 系统运行环境初始化工作全部完成。

最后更新于