当前位置:网站首页 >  攻略

服务器高算力运维全流程实操指南 零基础可落地降本提效完整手册

时间:2026年06月04日 14:43:21 来源:易频IT社区

一、前期环境准备

1. 基础依赖安装

所有操作适配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 ```

2. 集群节点基础配置

所有节点统一配置主机名映射,编辑/etc/hosts,替换为你自己的节点IP和名称:

``` 192.168.1.10 master-node 主控制节点 192.168.1.11 compute-node1 算力节点1 192.168.1.12 compute-node2 算力节点2 192.168.1.13 storage-node 共享存储节点 ```

配置主节点到所有节点的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 ```

二、核心监控体系搭建

1. 监控组件安装

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、内存、磁盘实时数据。

2. 告警规则配置

创建/opt/prometheus/rules.yml,直接复制以下内容:

``` groups: - name: compute-alert rules: - alert: GPU低利用率 expr: DCGM_FI_DEV_GPU_UTIL < 10 for: 2h labels: severity: warning annotations: summary: "节点{{ $labels.instance }}GPU使用率低于10%超过2小时,资源浪费" - alert: GPU高负载 expr: DCGM_FI_DEV_GPU_UTIL > 95 for: 10m labels: severity: critical annotations: summary: "节点{{ $labels.instance }}GPU使用率超过95%超过10分钟,负载过高" - alert: 磁盘使用率过高 expr: 100 - (node_filesystem_avail_bytes{mountpoint="/data"} / node_filesystem_size_bytes{mountpoint="/data"} 100) > 90 for: 5m labels: severity: critical annotations: summary: "节点{{ $labels.instance }}数据盘使用率超过90%" ```

服务器高算力运维全流程实操指南 零基础可落地降本提效完整手册

在prometheus.yml中引入规则文件,重启Prometheus即可生效,告警通知可直接配置钉钉/企业微信webhook到Grafana告警通道。

三、资源调度与故障自愈

1. Slurm算力调度器安装

所有节点安装Slurm:

``` Ubuntu执行 apt install -y slurm-wlm CentOS执行 yum install -y slurm ```

主节点创建/etc/slurm/slurm.conf,替换对应节点名称后同步到所有节点:

``` SlurmctldHost=master-node MpiDefault=none ProctrackType=proctrack/linuxproc ReturnToService=1 SlurmctldPidFile=/var/run/slurmctld.pid SlurmdPidFile=/var/run/slurmd.pid SlurmdSpoolDir=/var/spool/slurmd SlurmUser=slurm StateSaveLocation=/var/spool/slurmctld TaskPlugin=task/affinity NodeName=compute-node1 CPUs=32 Gres=gpu:4 State=UNKNOWN NodeName=compute-node2 CPUs=32 Gres=gpu:4 State=UNKNOWN PartitionName=gpu Nodes=compute-node1,compute-node2 Default=YES MaxTime=INFINITE State=UP ```

主节点启动slurmctld,算力节点启动slurmd,执行sinfo看到所有节点状态为idle即为配置成功,提交任务命令参考:srun -p gpu --gres=gpu:1 python train.py,其中--gres=gpu:1指定分配1张GPU。

2. 故障自动自愈配置

所有算力节点创建/root/auto_repair.sh,直接复制以下内容:

``` !/bin/bash 处理GPU掉卡故障 if ! nvidia-smi > /dev/null 2>&1; then systemctl restart nvidia-dcgm rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidia modprobe nvidia fi 清理过期文件释放磁盘 find /var/log -type f -mtime +7 -delete find /data/tmp -type f -mtime +3 -delete 清理僵死进程 ps -ef | grep Z | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null ```

添加执行权限并配置定时任务:

``` 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

``` !/bin/bash 检测GPU使用率连续1小时低于5%则关机 gpu_util=$(dcgmi dmon -s u -c 1 | awk 'NR==2{print $2}') cpu_util=$(top -bn1 | grep Cpu | awk '{print $2}' | cut -d. -f1) if [ $gpu_util -lt 5 ] && [ $cpu_util -lt 10 ]; then sleep 3600 gpu_util2=$(dcgmi dmon -s u -c 1 | awk 'NR==2{print $2}') cpu_util2=$(top -bn1 | grep Cpu | awk '{print $2}' | cut -d. -f1) if [ $gpu_util2 -lt 5 ] && [ $cpu_util2 -lt 10 ]; then shutdown -h now fi fi ```

添加执行权限并配置每小时执行一次:echo "0 /root/idle_shutdown.sh" >> /var/spool/cron/root,需要使用节点时可通过BIOS开启的WOL功能远程唤醒。

五、日常运维常用命令

  • 查看集群节点状态:sinfo
  • 查看运行中的任务:squeue
  • 终止指定任务:scancel 任务ID
  • 查看所有节点GPU实时使用率:dcgmi dmon -s u -c 1
  • 查看共享存储使用率:df -h /data

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图