You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SLURM slurmschd.log日志过大(数百GB)的安全清理方法咨询

SLURM slurmschd.log 日志安全清理方案及数据风险说明

安全清理方式(不中断SLURM运行)

  • 用logrotate自动轮转(推荐)
    这是Linux系统标配的日志管理工具,能自动按规则切割、压缩、清理日志,完全不影响SLURM服务。
    新建或修改/etc/logrotate.d/slurm配置文件,示例内容如下:

    /var/log/slurm/slurmschd.log {
        size 10G          # 日志达到10G时触发轮转
        rotate 5          # 保留最近5份旧日志
        compress          # 压缩旧日志节省空间
        delaycompress     # 延迟压缩,避免影响当前轮转的日志读取
        missingok         # 日志文件不存在时不报错
        notifempty        # 空日志不轮转
        create 0640 slurm slurm  # 新建日志文件的权限和属主
        postrotate
            /usr/bin/scontrol reconfigure  # 通知SLURM重新加载配置,无需重启
        endscript
    }
    

    配置后logrotate会按系统默认周期(通常每天)检查执行,也可以手动触发:logrotate -f /etc/logrotate.d/slurm。

  • 手动轮转日志
    适合临时处理大日志,步骤如下:

    1. 重命名当前日志文件:mv /var/log/slurm/slurmschd.log /var/log/slurm/slurmschd.log.20240520(后缀加日期方便识别)
    2. 给SLURM调度进程发送USR1信号,让它重新创建并写入新的日志文件:kill -USR1 $(cat /var/run/slurm/slurmschd.pid)
    3. 之后可以把旧日志压缩(gzip /var/log/slurm/slurmschd.log.20240520)或删除,不影响SLURM运行。
  • 紧急截断日志(仅临时应急)
    如果需要立刻清空日志释放空间,用truncate -s 0 /var/log/slurm/slurmschd.log,这个命令会把日志文件大小置为0,且不改变文件inode,SLURM进程能继续写入。但这种方式会丢失所有未轮转的日志内容,仅推荐紧急情况下使用。

清理后的数据丢失风险

  • 日志文件仅记录历史操作和状态变更,比如作业提交记录、调度决策过程、节点状态变化日志等,这些数据主要用于故障排查、作业性能回溯。如果集群近期无异常,清理旧日志不会影响SLURM核心运行。
  • 清理不会丢失SLURM的核心运行数据(比如当前作业队列、节点在线状态、用户权限配置等),这些数据要么存在SLURM的数据库(如MySQL)中,要么在服务进程内存里,和日志文件完全独立。
  • 若清理的是近期未轮转的日志,会丢失这段时间的调度记录,可能影响后续故障排查,因此优先用轮转方式保留部分历史日志。

内容的提问来源于stack exchange,提问作者Emma Athan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:12:12