2 minute read

服务器配置

AI 服务器:华为 Atlas 800I A2 推理服务器

组件 规格
CPU 鲲鹏 920(5250)
NPU 昇腾 910B4(8X32G)
内存 1024GB
硬盘 系统盘:450GB SSDX2 RAID1
数据盘:3.5TB NVME SSDX4
操作系统 openEuler 22.03 LTS

完整安装部署流程

graph TD
    subgraph 主机 - 172.16.33.106
        A[② 同步驱动、固件、MCU、推理引擎] --> B{等待同步完成};
        C[⑥ 同步大模型权重] --> D{等待同步完成};
        B ~~~ C
    end

    subgraph 构建 AI Stack - Atlas 800I A2 服务器
        E[① 创建逻辑卷并挂载到 /data] --> F[② 主机同步:驱动、固件、MCU、推理引擎];
        F --> G[③ 安装驱动/固件并升级 MCU];
        G --> H[④ 安装 Docker];
        H --> I[⑤ 导入镜像:MindIE 和 vLLM];
        I --> J[⑥ 主机同步:大模型权重];
        J --> K[⑦ 部署 LLM:MindIE 和 vLLM];
    end

    B -- 同步完成 --> F;
    D -- 同步完成 --> J;

    %% Style Definitions
    classDef hostSync fill:#E0BBE4,stroke:#8A2BE2,stroke-width:2px;
    classDef hostWait fill:#F58DAD,stroke:#5D3FD3,stroke-width:2px;
    classDef serverConfig fill:#FFC72C,stroke:#B8860B,stroke-width:2px;
    classDef serverInstall fill:#7ED956,stroke:#3CB371,stroke-width:2px;

    class A,C,F,J hostSync;
    class B,D hostWait;
    class E,G,H serverConfig;
    class I,K serverInstall;

① 创建逻辑卷

echo "🚗 ① 创建逻辑卷,4个物理卷变为1个逻辑卷,挂载到 /data 目录"
echo "-----------------------------------------------------"

# 创建物理卷(PV)
for d in /dev/nvme{0..3}n1; do
    pvcreate "$d"
done

# 创建卷组(VG)
vgcreate vg_data /dev/nvme0n1 /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1

# 创建逻辑卷(LV)
lvcreate -l 100%VG -n lv_data vg_data

# 格式化
mkfs.xfs /dev/vg_data/lv_data

# 临时挂载
mkdir -p /data
mount /dev/vg_data/lv_data /data

# 永久挂载
## 备份
cp /etc/fstab /etc/fstab.bak
## 追加挂载
cat >> /etc/fstab <<'EOF'

/dev/mapper/vg_data-lv_data /data xfs defaults 0 0
EOF

# 创建模型目录
mkdir -p /data/models
ln -s /data/models /models

② 同步驱动、固件、MCU、镜像

echo "🚗 ② 同步驱动、固件、MCU、镜像等。到主服务器上运行(172.16.33.106)"
echo "-----------------------------------------------------"
echo "rsync -avz -e "ssh -p 10022" /data/wjj/ root@172.16.33.108:/data/wjj"

read -p "⌛️ 等待同步完按【回车键】继续执行..."
rsync -avz -e "ssh -p 10022" /data/wjj/ root@172.16.33.108:/data/wjj

③ 安装驱动/固件和升级 MCU

echo "🚗 ③ 安装驱动/固件和升级 MCU"
echo "-----------------------------------------------------"
cd /data/wjj/npu-software

echo "🦋 安装驱动"
./Ascend-hdk-910b-npu-driver_25.0.rc1.1_linux-aarch64.run --full --install-username=root --install-usergroup=root --install-for-all

echo "🐝 安装固件"
./Ascend-hdk-910b-npu-firmware_7.7.0.1.231.run --full

echo "🐞 升级 MCU"
./upgrade_mcu.sh all Ascend-hdk-910b-mcu_25.50.10.hpm

④ 安装 Docker

echo "🚗 ④ 安装 Docker"
echo "-----------------------------------------------------"

echo "🛠️ 添加 Docker 仓库"
dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/8/aarch64/stable/

cat > /etc/yum.repos.d/docker-ce.repo <<'EOF'
[docker-ce-stable]
name=Docker CE Stable - aarch64
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/aarch64/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF

echo "🔐 导入 GPG 密钥"
rpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

echo "🐛 安装 Docker"
dnf update -y
dnf install -y docker-ce docker-ce-cli containerd.io

echo "⚙️ 配置 Docker"
cat > /etc/docker/daemon.json <<'EOF'
{
    "registry-mirrors": [
        "https://docker.xuanyuan.me"
    ],
    "data-root": "/data/docker"
}
EOF

echo "▶️ 启动 Docker 服务"
systemctl enable --now docker

⑤ 导入镜像 MindIE 和 vLLM

echo "🚗 ⑤ 导入镜像 MindIE 和 vLLM"
echo "-----------------------------------------------------"
cd /data/wjj/npu-software
docker load -i mindie2.tar
docker load -i vllm-ascend-v0.9.2rc1.tar

⑥ 同步大模型权重文件

echo "🚗 ⑥ 同步大模型权重文件。到主服务器上运行(172.16.33.106)"
echo "-----------------------------------------------------"
echo "rsync -avz -e "ssh -p 10022" /data/models/ root@172.16.33.108:/data/models"

read -p "⌛️ 等待同步完按【回车键】继续执行..."
rsync -avz -e "ssh -p 10022" /data/models/ root@172.16.33.108:/data/models

⑦ 部署 LLM:MindIE 和 vLLM

进入到 /data/wjj/mindie/data/wjj/vllm 对应的目录,运行下面的命令。

docker compose up -d

Updated: