Docker容器内升级
本章节以Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run包为例介绍Docker容器内驱动升级的相关操作。
注意事项
- 固件包不支持Docker内升级。
- 容器内安装的驱动包版本需要与宿主机安装的驱动包版本保持一致,不支持独立升级。
- 不建议用户修改“/etc/ascend_install.info”,如果修改,会导致系统功能不可用。
- 升级过程中的日志信息:用户输出在“/var/log/ascend_seclog/ascend_install.log”文件中。
- 如果Driver是通过宿主机目录挂载容器进行安装的,请直接在宿主机升级即可。
- 如果Driver是通过宿主机目录不挂载容器进行安装的,请执行升级步骤。
升级步骤
- 检查当前Docker容器内驱动的版本号。
在软件包的安装路径下,例如默认路径“/usr/local/Ascend/driver”,执行如下命令查看版本。
cat version.info
- 以root用户将新的驱动包上传到容器内任意目录。
- 增加root用户对软件包的可执行权限。
在软件包所在路径执行ls -l命令检查安装用户是否有该文件的执行权限,若没有,请执行如下命令。
chmod +x Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run
- 校验软件包。
下载软件包后,执行如下命令校验run安装文件的一致性和完整性。
./Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run --check
出现如下回显信息,表示软件包校验成功。Verifying archive integrity... 100% SHA256 checksums are OK. All good.
软件包校验使用SHA256加密方式;校验过程中若提示:./Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run does not contain an embedded MD5 checksum.和./Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run does not contain a CRC checksum,表示没有使用MD5和CRC加密方式,可忽略。
- 进入软件包所在路径,执行如下命令升级软件包。
./Ascend-hdk-310b-npu-driver_x.x.x_linux-{arch}.run --docker
如果升级过程中无错误信息提示,则表示升级成功。
- 设置如下环境变量,用于在容器中加载驱动so。
export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:${LD_LIBRARY_PATH}
其中“/usr/local/Ascend”为默认安装路径,请根据实际情况修改。通过export方式设置环境变量,只在当前窗口有效,设置完成后立即生效。
- 执行如下命令检查升级后的版本号。
npu-smi info -t board -i NPU ID
查看回显信息中的“Software Version”字段值,如果与目标版本号一致,说明升级成功。否则,说明升级失败,请联系华为技术工程师处理。
NPU ID表示设备编号,可通过npu-smi info -l命令查询。