所有操作适配CentOS7+/Ubuntu20.04+系统,执行命令前确认当前为root用户,否则所有命令前缀加sudo,先执行系统更新:
``` CentOS系统执行 yum update -y && yum install -y wget curl vim net-tools Ubuntu系统执行 apt update -y && apt install -y wget curl vim net-tools 安装Docker环境(所有节点执行) curl -fsSL https://get.docker.com | bash systemctl enable --now docker ```所有节点统一配置主机名映射,编辑/etc/hosts,替换为你自己的节点IP和名称:
配置主节点到所有节点的SSH免密登录:
``` 主节点执行,一路回车生成密钥 ssh-keygen -t rsa 依次拷贝密钥到所有节点,输入对应节点root密码完成配置 ssh-copy-id root@compute-node1 ssh-copy-id root@compute-node2 ssh-copy-id root@storage-node 验证配置,无需输入密码直接进入节点即为成功 ssh root@compute-node1 ```GPU算力节点先安装nvidia-dcgm采集组件:
``` Ubuntu系统GPU节点执行 distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 'sdeb https://deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://g' | tee /etc/apt/sources.list.d/nvidia-container-toolkit.list apt update && apt install -y nvidia-dcgm systemctl enable --now nvidia-dcgm CentOS系统GPU节点执行 dnf config-manager --add-repo=https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo dnf install -y nvidia-dcgm systemctl enable --now nvidia-dcgm ```主节点安装Prometheus+Grafana:
``` mkdir -p /opt/prometheus 创建prometheus.yml配置文件,直接复制以下内容 cat > /opt/prometheus/prometheus.yml << EOF global: scrape_interval: 15s scrape_configs: - job_name: 'dcgm' static_configs: - targets: ['compute-node1:9400','compute-node2:9400'] 替换为你的算力节点IP - job_name: 'node' static_configs: - targets: ['master-node:9100','compute-node1:9100','compute-node2:9100','storage-node:9100'] EOF 启动Prometheus docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus:v2.47.0 启动Grafana docker run -d -p 3000:3000 --name grafana grafana/grafana:10.1.0 ```访问http://主节点IP:3000,初始账号密码均为admin,添加Prometheus数据源后导入GPU监控仪表盘ID:12239,即可查看所有节点GPU、CPU、内存、磁盘实时数据。
创建/opt/prometheus/rules.yml,直接复制以下内容:

在prometheus.yml中引入规则文件,重启Prometheus即可生效,告警通知可直接配置钉钉/企业微信webhook到Grafana告警通道。
所有节点安装Slurm:
``` Ubuntu执行 apt install -y slurm-wlm CentOS执行 yum install -y slurm ```主节点创建/etc/slurm/slurm.conf,替换对应节点名称后同步到所有节点:
主节点启动slurmctld,算力节点启动slurmd,执行sinfo看到所有节点状态为idle即为配置成功,提交任务命令参考:srun -p gpu --gres=gpu:1 python train.py,其中--gres=gpu:1指定分配1张GPU。
所有算力节点创建/root/auto_repair.sh,直接复制以下内容:
添加执行权限并配置定时任务:
``` chmod +x /root/auto_repair.sh 每5分钟执行一次自愈脚本 echo "/5 /root/auto_repair.sh >> /var/log/auto_repair.log 2>&1" >> /var/spool/cron/root ```配置空闲节点自动关机,所有算力节点创建/root/idle_shutdown.sh:
添加执行权限并配置每小时执行一次:echo "0 /root/idle_shutdown.sh" >> /var/spool/cron/root,需要使用节点时可通过BIOS开启的WOL功能远程唤醒。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图