gpu-device-plugin
插件简介
gpu-device-plugin插件是支持在容器中使用GPU显卡的设备管理插件,集群中使用GPU节点时必须安装本插件。
约束与限制
- 下载的驱动必须是后缀为“.run”的文件。
- 仅支持Nvidia Tesla驱动,不支持GRID驱动。
- 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。
- gpu-device-plugin插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。
- 如您使用A100/A800的多GPU卡机型,您需要手动安装与版本驱动对应的nvidia-fabricmanager服务才可以正常使用,详情请参见安装nvidia-fabricmanager服务。
安装插件
- 登录UCS控制台,单击集群名称进入集群,在左侧导航栏中选择“插件管理”,找到gpu-device-plugin,单击“安装”。
- 在安装插件页面,填写插件配置。
- 插件规格:可配置“默认”或“自定义”规格,请根据实际情况选择。
- 容器:选择“自定义”规格时支持设置。
- Nvidia驱动:您可使用CCE提供的驱动地址或手动填写自定义Nvidia驱动的地址,集群下全部GPU节点将使用相同的驱动。
GPU虚拟化功能仅支持470.57.02、470.103.01、470.141.03、510.39.01、510.47.03版本的GPU驱动。
建议您使用CCE提供的驱动地址,以满足驱动版本的要求。- 如果下载链接为公网地址,如nvidia官网地址(https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run),各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。
- 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。
- 请确保Nvidia驱动版本与GPU节点适配。
- 更改驱动版本后,需要重启节点才能生效。
- 对于linux 5.x内核系统,如Huawei Cloud EulerOS 2.0或ubuntu 22.04,建议使用470及以上版本驱动。
- 驱动选择:若您不希望集群中的所有GPU节点使用相同的驱动,CCE支持以节点池为单位安装不同的GPU驱动。
- 插件将根据节点池指定的驱动版本进行安装,仅对节点池新建节点生效。
- 新建节点更新驱动版本后,需重启节点生效。非新建节点不支持更新驱动版本。
- 插件卸载会自动删除已安装的GPU驱动。
- GPU虚拟化:选择开启GPU虚拟化,支持GPU单卡的算力、显存分割与隔离。
若集群中未安装volcano插件,将不支持开启GPU虚拟化,您可单击“一键安装”进行安装。如需配置volcano插件参数,请单击“自定义安装”,详情请参见volcano。
若集群中已安装volcano插件,但插件版本不支持使用GPU虚拟化,您可单击“一键升级”进行升级。如需配置volcano插件参数,请单击“自定义升级”,详情请参见volcano。
- 单击“安装”,安装gpu-device-plugin插件的任务即可提交成功。
验证插件
插件安装完成后,在GPU节点及调度了GPU资源的容器中执行nvidia-smi命令,验证GPU设备及驱动的可用性。
cd /usr/local/nvidia/bin &&./nvidia-smi
容器
nvidia-smi
能正常返回GPU信息,说明设备可用,插件安装成功。
获取驱动链接-公网地址
- 登录CCE控制台。
- 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。
图1 查看显卡型号
- 登录到nvidia网站。
- 如图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit。
- 驱动信息确认完毕,单击“搜索”按钮,会跳转到驱动信息展示页面,该页面会显示驱动的版本信息如图3,单击“下载”到下载页面。
- 获取驱动软件链接方式分两种:
- 方式一:如图4,在浏览器的链接中找到url=/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run的路径,补齐全路径https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,该方式节点需要绑定EIP 。
- 方式二:如图4,单击“下载”按钮下载驱动,然后上传到OBS,获取软件的链接,该方式节点不需要绑定EIP。
获取驱动链接-OBS地址
- 将驱动上传到对象存储服务OBS中,并将驱动文件设置为公共读,方法请参见上传文件。
节点重启时会重新下载驱动进行安装,请保证驱动的OBS桶链接长期有效。
- 在OBS管理控制台左侧导航栏选择“对象存储”。
- 在桶列表单击待操作的桶,进入“概览”页面。
- 在左侧导航栏,单击“对象”。
- 选中目标对象,在对象详情页复制驱动链接。
安装nvidia-fabricmanager服务
A100/A800 GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。
本文以驱动版本470.103.01为例,您可参考以下步骤进行安装,请根据实际情况需要替换驱动版本。
- 登录需要安装nvidia-fabricmanager服务的GPU节点,该节点需绑定EIP用以下载nvidia-fabricmanager服务。
- 安装与驱动版本对应的nvidia-fabricmanager服务,您可通过官方下载操作系统和驱动版本对应的安装包。
- CentOS操作系统
以CentOS 7为例:
driver_version=470.103.01 wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-drivers-fabricmanager-${driver_version}-1.x86_64.rpm rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm
- Ubuntu等其他操作系统
以Ubuntu 18.04为例:
driver_version=470.103.01 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb
- CentOS操作系统
- 启动nvidia-fabricmanager服务。
systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager
- 查看nvidia-fabricmanager服务状态。
systemctl status nvidia-fabricmanager