银河麒麟(Kylin) - V10 GFB高级服务器操作系统ARM64部署昇腾910b训练机以及Docker安装

原因
项目需要使用Deepseek-r1-distill-qwen-32b来做训练,在此记录
测试环境
服务器配置
型号:G5680V2
CPU:CPU 4Kunpeng 920-5250
NPU:NPU 8 Ascend 910内存:内存32 * 64GB
硬盘:硬盘6 * 3840GB-SATA
系统:银河麒麟高级服务器系统V10-GFB-Release-030
平台架构:ARM
准备工作
-
服务器安装银河麒麟高级服务器系统V10-GFB-Release-030系统
下载:Kylin-Server-V10-GFB-Release-030.1.1-ARM64
请去银河麒麟下载测试版本
-
去华为官网获取安装驱动
选择Ascend HDK 23.0.RC1系列版本
根据产品系统架构在"软件分类"中勾选"910-aarch64"或"910-x86_64"
我选择:"Ascend-hdk-910b-npu-driver-24.1.rc3-1.aarch64.rpm"安装包
- 去华为官网获取安装固件
驱动和固件是对应关系
我选择:"Ascend-hdk-910b-npu-firmware-7.5.0.1.129-1.noarch.rpm" 安装包
开始安装
-
服务器进入raid卡页面做raid5
-
安装系统
系统安装完成如下:
注:如系统未激活会有激活提示以及部分功能限制,其他不受影响
-
安装驱动
把驱动包和固件包导入系统中
安装驱动源码编译所需依赖

执行如下命令,切换至root用户
bash
su - root
在软件包所在路径执行如下命令完成驱动包安装
bash
rpm -ivh Ascend-hdk-910b-npu-driver-24.1.rc3-1.aarch64.rpm
出现如下关键信息,则表示驱动安装成功

- 执行如下命令查看驱动加载是否成功
bash
npu-smi info

- 安装固件
执行如下命令,切换至root用户
bash
su - root
在软件包所在路径执行如下命令完成固件包安装
bash
rpm -ivh Ascend-hdk-910b-npu-firmware-7.5.0.1.129-1.noarch.rpm
出现如下关键信息,则表示固件安装成功
提示说明:
- 若重新安装固件后安装配套版本的驱动,则无需重启系统,驱动安装后固件版本会自动生效。
- 若单独安装固件,则需执行reboot命令重启系统或执行npu-smi set -t reset命令复位标卡或芯片生效。
- 软件包安装过程中,若无HwHiAiUser用户系统会自动创建该用户。
执行如下命令查看芯片固件版本号。若与固件软件包版本号一致,则说明安装成功。
bash
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version
如果安装驱动时指定安装路径,则命令中的"/usr/local/Ascend"请根据实际情况替换。
请按照 "驱动->固件" 的顺序,分别安装组件软件包。
- 安装CANN
CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。
- 安装依赖
- 在OS上安装依赖前需确认服务器已连接网络
- 配置最大线程数
训练场景下,OS的最大线程数可能不满足训练要求,以root用户执行以下命令修改最大线程数为无限制。
- 配置环境变量,修改线程数为无限制,打开"/etc/profile"文件。
vi /etc/profile
- 在文件的最后添加如下内容后保存退出。
ulimit -u unlimited
- 执行如下命令使环境变量生效。
source /etc/profile
- 配置昇腾源
- 在线安装时,执行如下操作配置昇腾源,否则将无法安装
- 执行如下命令新建昇腾源文件。
sudo vim /etc/yum.repos.d/ascend.repo
- 在文件的最后添加如下内容后保存退出。
[ascend] name=ascend baseurl=https://repo.oepkgs.net/ascend/cann/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.oepkgs.net/ascend/cann/RPM-GPG-KEY-CANN sslverify=false
- 更新源索引。
sudo yum clean all && sudo yum makecache
- 安装依赖
以安装用户登录服务器,执行如下命令安装依赖软件(如果使用root用户安装依赖,请将命令中的sudo删除)
bash
sudo yum install -y python3 python3-pip
CANN支持Python3.7.x至3.11.4版本,若安装失败、版本不满足或者未包含动态库libpython3.x.so
- 执行如下命令安装运行时依赖的Python第三方库(如果使用root用户安装,请将命令中的--user删除)
bash
pip3 install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user
这里安装会出现一个报错 、 因为系统自带Python3.7.9

注意Python3.7.x时推荐安装numpy 1.21.6版本,否则提示版本过高安装失败
-
安装CANN软件包
-
安装Toolkit开发套件包
CANN Toolkit开发套件包,在训练&推理&开发调试场景下安装,主要用于训练和推理业务、模型转换、算子/应用/模型的开发和编译。
安装Toolkit软件前请确保安装目录可用空间大于10G,如不满足请清理空间或更换安装目录。
-
执行安装命令
bash
sudo yum install -y Ascend-cann-toolkit
CANN软件包在线安装时仅支持安装在默认路径"/usr/local/Ascend"下。
安装完成后,若显示如下信息,则说明软件安装成功:
Ascend-cann-toolkit 8.1.Rcl linux-aarch64 install success

- 配置环境变量
bash
source /usr/local/Ascend/ascend-toolkit/set_env.sh
上述环境变量配置只在当前窗口生效,用户可以按需将以上命令写入环境变量配置文件(如.bashrc文件)
- 安装后检查。执行如下命令查询CANN版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash
sudo yum list installed | grep toolkit
-
安装Kernels算子包
CANN二进制算子包,包括单算子API执行(例如aclnn类API)动态库文件,以及kernel二进制文件
-
根据处理器类型执行命令安装
bash
sudo yum install -y Ascend-cann-kernels-<chip_type> #其中<chip_type>表示处理器类型,在当前设备上执行npu-smi info查询
我安装的是:Ascend-cann-kernels-910b-8.1.RC1-linux.aarch64
安装完成后,若显示如下信息,则说明软件安装成功:
Ascend-cann-kernels-910b-8.1.RC1-linux.aarch64 install success

- 安装后检查。执行如下命令查询软件版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash
sudo yum list installed | grep kernels
-
安装NNAL神经网络加速库(可选)
NNAL神经网络加速库中提供了面向大模型领域的ATB(Ascend Transformer Boost)加速库,实现了基于Transformer结构的神经网络推理加速引擎库,提供昇腾亲和的融合算子、通信算子、内存优化等,作为算子的公共底座提升了大模型训练和推理性能
加速库安装之前,需已安装同一版本的Toolkit并配置环境变量。 -
执行安装命令
bash
sudo yum install -y Ascend-cann-nnal
安装完成后,若显示如下信息,则说明软件安装成功:
xxx install success
- 配置环境变量
bash
source /usr/local/Ascend/nnal/atb/set_env.sh
上述环境变量配置只在当前窗口生效,用户可以按需将以上命令写入环境变量配置文件(如.bashrc文件)
- 安装后检查。执行如下命令查询NNAL软件版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash
sudo yum list installed | grep nnal
- 安装Docker
- 执行安装命令
bash
sudo yum install docker-engine

- 启动Docker命令
bash
sudo systemctl start docker.service
- Docker设置开机自启命令
bash
sudo systemctl enable docker.service

- 安装完成,查看Docker版本信息命令
bash
sudo docker --version 或 sudo docker version

- Docker拉取Deepseek-r1-distill-qwen-32b镜像
需要到华为昇腾镜像仓库
可能需要权限
昇腾开放Docker镜像仓库,提供昇腾软件Docker镜像


例如:
- Docker拉取Centos系统镜像
- 镜像版本选择

自适应架构:
bash
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/centos:7.6.1810

-
Docker启动Centos镜像
-
查看镜像命令
bash
docker images

- 启动镜像命令
bash
docker run -it swr.cn-south-1.myhuaweicloud.com/ascendhub/centos:7.6.1810 /bin/bash

- 查看运行中的容器
bash
docker ps
