OpenPAI 集群完全卸载指南:从服务清理到驱动卸载
pai Resource scheduling and cluster management for AI 项目地址: https://gitcode.com/gh_mirrors/pa/pai
前言
OpenPAI 作为开源的人工智能平台,提供了完整的 Kubernetes 集群管理能力。但在某些情况下,管理员可能需要完全卸载 OpenPAI 集群,比如进行版本升级前的清理、集群迁移或测试环境重置等。本文将详细介绍 OpenPAI 不同版本下的完整卸载流程,帮助管理员安全、彻底地移除集群。
版本区分与注意事项
OpenPAI 的卸载流程根据版本不同有所差异,主要分为两个版本段:
- v1.0.0 及以上版本
- v1.0.0 以下版本
重要提示:卸载操作是不可逆的!执行前请确保:
- 已备份所有重要数据
- 已通知所有用户停止作业提交
- 已确认当前操作环境正确
v1.0.0 及以上版本卸载流程
第一步:删除所有PAI服务
- 登录部署机(dev box)
- 执行以下命令通过 dev-box 容器删除所有服务:
sudo docker exec -it dev-box /pai/paictl.py service delete
此操作会清除:
- 所有运行中的AI作业
- 用户配置数据
- 存储服务中的数据
- 所有OpenPAI系统服务
第二步:销毁Kubernetes集群(可选)
如果需要完全清理环境,继续执行:
cd ~/pai-deploy/kubespray
ansible-playbook -i inventory/pai/hosts.yml reset.yml --become --become-user=root -e "@inventory/pai/openpai.yml"
建议:保留 ~/pai-deploy
目录以便后续重新安装。
v1.0.0 以下版本卸载流程
数据备份阶段
1. HDFS数据备份
# 查看HDFS数据结构
hdfs dfs -ls hdfs://<hdfs-namenode-ip>:9000/
# 备份数据到本地
hdfs dfs -copyToLocal hdfs://<hdfs-namenode-ip>:9000/ <local-folder>
注意:
- 默认端口为9000
- 确保本地目录有足够空间
- 大数据量备份可能需要较长时间
2. 作业和用户元数据
需手动备份的重要数据包括:
- 作业历史记录
- 作业日志
- 用户配置信息
- 自定义配置
3. 其他Kubernetes资源
检查并备份:
- 自定义部署的应用
- 持久化存储卷数据
- 网络策略配置
卸载执行阶段
- 获取对应版本的卸载工具:
git clone <OpenPAI仓库地址>
cd pai
git checkout pai-0.14.y # 根据实际版本调整
- 删除PAI服务及数据:
./paictl.py service delete
- 清理Kubernetes集群:
./paictl.py cluster k8s-clean -f -p <path-to-your-old-config>
如果找不到旧配置,可先拉取:
./paictl.py config pull -o <path-to-your-old-config>
GPU驱动清理
在每个GPU节点上以root身份执行:
#!/bin/bash
# 检查并卸载NVIDIA驱动模块
lsmod | grep -qE "^nvidia" && {
DEP_MODS=$(lsmod | tr -s " " | grep -E "^nvidia" | cut -f 4 -d " ")
for mod in ${DEP_MODS//,/ }; do
rmmod $mod || {
echo "驱动模块 $mod 仍在使用中,无法卸载"
exit 1
}
done
rmmod nvidia || {
echo "NVIDIA主驱动仍在使用中,无法卸载"
exit 1
}
}
# 清理驱动文件
rm -rf /var/drivers
reboot
卸载后检查
完成卸载后建议验证:
- 检查所有PAI相关容器是否已停止
- 确认Kubernetes节点状态
- 验证GPU驱动是否已移除
- 检查存储空间是否已释放
常见问题解答
Q:卸载后为什么部分存储空间没有释放? A:可能需要手动清理Docker残留数据:docker system prune -a -f --volumes
Q:能否跳过Kubernetes集群的销毁? A:可以,但建议完整清理以避免版本冲突。
Q:卸载过程中出现模块使用中错误怎么办? A:确保所有GPU任务已停止,必要时强制重启节点。
总结
本文详细介绍了OpenPAI集群的完整卸载流程,涵盖了从服务删除到驱动清理的全过程。不同版本的卸载方式有所差异,执行前务必确认当前版本并做好数据备份。对于生产环境,建议先在测试环境验证卸载流程,确保熟悉整个操作过程后再执行正式环境的卸载。
pai Resource scheduling and cluster management for AI 项目地址: https://gitcode.com/gh_mirrors/pa/pai
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考