1. 监控磁盘空间使用情况
定期检查磁盘空间是预防空间占满的基础。常用命令包括:
df -h:以人类可读格式显示各文件系统的磁盘使用情况(如根分区、/home分区等),重点关注“Use%”列。du -sh /path/to/directory:查看指定目录的总大小,快速定位占用空间大的目录(如/var/log、/home)。2. 清理不必要的文件
定期清理无用文件是释放空间的有效手段:
/var/cache/yum或/var/cache/dnf目录。使用sudo yum clean all(CentOS 7及以下)或sudo dnf clean all(CentOS 8及以上)清理。/tmp和/var/tmp目录存储临时文件,可使用sudo rm -rf /tmp/*和sudo rm -rf /var/tmp/*删除(注意:部分临时文件可能正在被使用,建议在系统空闲时操作)。journalctl命令:journalctl --vacuum-time 1w(保留最近1周日志)、journalctl --vacuum-size 100M(保留最近100MB日志)。logrotate工具:编辑/etc/logrotate.conf或/etc/logrotate.d/下的子配置文件(如/etc/logrotate.d/rsyslog),设置日志轮转规则(如每日轮转、保留7份、压缩旧日志)。3. 启用磁盘配额
通过磁盘配额限制用户或组的磁盘使用,防止单个用户占用过多空间:
xfsprogs(XFS文件系统)或quota(EXT3/4文件系统)软件包(sudo yum install xfsprogs quota)。/etc/fstab,在对应分区挂载选项中添加usrquota,grpquota(如/dev/vgname/lvname /opt xfs defaults,usrquota,grpquota 0 0),然后执行mount -a生效。xfs_quota命令(XFS文件系统),例如限制用户zhangsan的磁盘容量为80MB(软限制,超过会有警告)、100MB(硬限制,无法超越),文件数为40(软限制)、50(硬限制):xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /opt。4. 优化存储配置
通过调整存储策略减少空间占用:
vgextend扩展卷组、lvextend扩展逻辑卷、xfs_growfs扩展XFS文件系统)。mkfs.xfs创建XFS分区)。mount -o compress=zstd),可减少日志、数据库等文件的存储空间占用。5. 自动化清理任务
通过定时任务自动执行清理操作,避免人工遗漏:
cron设置定时任务:编辑crontab -e,添加如下内容:
0 3 * * * rm -rf /tmp/* /var/tmp/*。0 2 * * 0 find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \;。0 4 * * * /usr/sbin/logrotate /etc/logrotate.conf。6. 扩展磁盘空间
若现有磁盘空间不足,可通过以下方式扩展:
fdisk或parted创建分区,通过LVM扩展逻辑卷(步骤见“优化存储配置”)。rsync同步数据),然后更换新磁盘。7. 优化应用程序存储
检查应用程序的存储使用情况,减少不必要的占用:
DELETE FROM table WHERE create_time < '2024-01-01'),优化表结构(OPTIMIZE TABLE table_name)。error_log级别从debug改为warn),减少日志生成量;或配置应用程序日志轮转(如Nginx的logrotate配置)。