找回密码
 立即注册
首页 业界区 安全 GPUStack部署

GPUStack部署

喳谍 2026-2-4 17:40:01
一、环境信息
server节点与worker节点均需提前安装docker,此部署采用docker-compose部署,因此也需安装docker-compose;官方提供可直接使用命令部署,按需操作;server节点只部署GPUStack服务,华为昇腾驱动、运行时及固件均在worker节点部署配置
GPUStack安装相关:https://docs.gpustack.ai/latest/installation/requirements/
gpustack-server
  操作系统:ctyunos 23.01 x86_64
1.png

gpustack-worker (GNU)
  操作系统:ctyunos 23.01 aarch64
2.png

软件版本
获取链接
GPUStack-v2.0
docker pull docker.1ms.run/gpustack/gpustack:v2.0
Docker-26.1.3
https://download.docker.com/linux/static/stable/
Ascend-docker-runtime-7.3.0
https://gitcode.com/Ascend/mind-cluster/releases
Ascend-hdk-910b-npu-driver-25.5.0
https://www.hiascend.com/hardware/firmware-drivers/community?product=1&model=30&cann=8.5.0&driver=Ascend+HDK+25.5.0
Ascend-hdk-910b-npu-firmware-7.8.0.5
https://www.hiascend.com/hardware/firmware-drivers/community?product=1&model=30&cann=8.5.0&driver=Ascend+HDK+25.5.0
 二、本地yum源配置(内网环境)
server节点与worker节点相同操作
  1. # 挂载镜像
  2. mount -o loop /data/software/ctyunos-23.01-230117-aarch64-dvd.iso /mnt
  3. vim /etc/yum.repos.d/lpb.repo
  4. [lpb]
  5. name=lpb
  6. baseurl=file:///mnt
  7. enabled=1
  8. gpgcheck=0
  9. # 开机自动挂载
  10. vi /etc/fstab
  11. /data/software/ctyunos-23.01-230117-aarch64-dvd.iso /mnt      iso9660 defaults,loop   0 0
  12. yum makecache
复制代码
三、NFS配置
server节点安装配置
  1. # 安装 nfs-utils, rpcbind
  2. yum install -y nfs-utils rpcbind
  3. # 启动服务
  4. systemctl enable nfs
  5. systemctl start nfs
  6. # 创建挂载目录
  7. mkdir -pv /data/nfs
  8. ## 配置目录参数
  9. echo "/data/nfs 192.9.0.0/16(rw,sync,no_root_squash,no_all_squash)" > /etc/exports
  10. # 重启NFS服务
  11. systemctl restart nfs
  12. # 验证
  13. showmount -e 127.0.0.1
复制代码
worker节点安装配置
  1. # 安装 nfs-utils
  2. yum install -y nfs-utils
  3. # 启动服务
  4. systemctl enable nfs
  5. systemctl start nfs
  6. # 创建挂载目录
  7. mkdir -pv /data/nfs
  8. # 挂载
  9. mount -t nfs 192.9.xxx.xxx:/data/nfs /data/nfs
复制代码
四、server节点安装GPUStack
docker-compose.yaml
  1. services:
  2.   gpustack:
  3.     image: gpustack/gpustack:v2.0
  4.     pull_policy: if_not_present
  5.     container_name: gpustack-server
  6.     restart: unless-stopped
  7.     ports:
  8.       - "9090:80"
  9.       - "10161:10161"
  10.     volumes:
  11.       - /data/nfs/gpustack/models:/usr/local/models
  12.       - /data/gpustack/data:/var/lib/gpustack
  13.     environment:
  14.       - TZ=Asia/Shanghai
  15.       - GPUSTACK_LOG_LEVEL=info
复制代码
启动:docker-compose up -d
查看启动日志:docker-compose logs -f
待完全启动成功浏览器访问http://${ip}:9090,admin账户初始化密码存放在数据目录文件initial_admin_password
3.png

 五、worker节点安装GPUStack
创建用户及安装所需依赖
  1. groupadd HwHiAiUser
  2. useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
  3. yum install -y make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)
复制代码
1、安装华为昇腾docker-runtime
https://www.hiascend.com/document/detail/zh/mindcluster/72rc1/clustersched/dlug/dlug_installation_017.html
./Ascend-docker-runtime_7.3.0_linux-aarch64.run --install
4.png

 2、安装华为昇腾驱动及固件
https://www.hiascend.com/document/detail/zh/canncommercial/850/softwareinst/instg/instg_0000.html?Mode=PmIns&InstallType=local&OS=CTyunOS
./Ascend-hdk-910b-npu-driver_25.5.0_linux-aarch64.run --full --install-for-all
5.png

./Ascend-hdk-910b-npu-firmware_7.8.0.5.216.run --full
6.png

 根据系统提示重启使其驱动及固件生效
reboot
查看卡信息:npu-smi info
7.png

 3、安装GPUStack
浏览器访问server地址,添加节点获取节点纳管命令,gpustack-worker  docker-compose.yaml根据此命令改造
8.png

 部署时遇到了以下报错
9.png

 排查下来总结是因为运行时得问题,官方提示部署docker-runtime
10.png

 我这同时回显,索性两者都进行了安装,containerd也启动,最后部署成功
11.png

containerd.service配置
  1. [Unit]
  2. Description=containerd container runtime
  3. Documentation=https://containerd.io
  4. After=network.target local-fs.target
  5. [Service]
  6. # 加载overlay文件系统,容器必备
  7. ExecStartPre=-/sbin/modprobe overlay
  8. ExecStart=/usr/bin/containerd
  9. Type=notify
  10. Delegate=yes
  11. KillMode=process
  12. Restart=always
  13. RestartSec=5
  14. # 解除系统资源限制
  15. LimitNPROC=infinity
  16. LimitCORE=infinity
  17. LimitNOFILE=infinity
  18. TasksMax=infinity
  19. OOMScoreAdjust=-999
  20. [Install]
  21. WantedBy=multi-user.target
复制代码
启动containerd:systemctl start containerd
gpustack-worker  docker-compose.yaml 如下
  1. services:
  2.   gpustack-worker:
  3.     image: gpustack/gpustack:v2.0
  4.     pull_policy: if_not_present
  5.     container_name: gpustack-worker
  6.     restart: unless-stopped
  7.     privileged: true
  8.     network_mode: host
  9.     runtime: ascend
  10.     environment:
  11.       - GPUSTACK_RUNTIME_DEPLOY_MIRRORED_NAME=gpustack-worker
  12.       - GPUSTACK_TOKEN=gpustack_b82173ef13b50b55_e0e563a28bb83906bca120dae68fcaf7
  13.       - ASCEND_VISIBLE_DEVICES=${ASCEND_VISIBLE_DEVICES:-0}
  14.     volumes:
  15.       - /var/run/docker.sock:/var/run/docker.sock
  16.       - /data/nfs/gpustack/models:/usr/local/models
  17.       - /data/gpustack/data:/var/lib/gpustack
  18.     command: >
  19.       --server-url http://192.9.xxx.xxx:9090
  20.       --worker-ip 192.9.xxx.xxx
复制代码
编写启动脚本start.sh自动获取昇腾设备ID注入变量
  1. #!/bin/bash
  2. # 自动获取昇腾设备ID
  3. export ASCEND_VISIBLE_DEVICES=$(sudo ls /dev/davinci* | head -1 | grep -o '[0-9]\+' || echo "0")
  4. # 启动服务
  5. docker-compose up -d
复制代码
执行 ./start.sh
12.png

 浏览器访问server节点查看节点状态
13.png

 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

7 天前

举报

您需要登录后才可以回帖 登录 | 立即注册