CentOS中如何有效管理磁盘空间
导读:一、查看磁盘空间使用情况 要有效管理磁盘空间,首先需要清晰掌握当前磁盘的占用状况。常用命令如下: df -h:以人类可读格式(GB、MB)显示所有挂载文件系统的磁盘使用情况,包括总大小、已用空间、可用空间及使用百分比,重点关注/(根分区)...
一、查看磁盘空间使用情况
要有效管理磁盘空间,首先需要清晰掌握当前磁盘的占用状况。常用命令如下:
df -h:以人类可读格式(GB、MB)显示所有挂载文件系统的磁盘使用情况,包括总大小、已用空间、可用空间及使用百分比,重点关注/(根分区)、/var(日志、缓存目录)等关键分区。du -sh *:显示当前目录下各子目录及文件的总大小(-s汇总,-h易读),可递归进入占用大的目录(如/var)进一步分析。ncdu:基于文本的交互式磁盘分析工具,更直观地展示目录大小排名(需安装:sudo yum install ncdu),帮助快速定位大文件或目录。
二、清理无用文件与缓存
清理系统中的临时文件、缓存及旧数据是释放空间的最有效手段之一:
- 清理YUM/DNF缓存:YUM(CentOS 7及以下)或DNF(CentOS 8及以上)会缓存下载的软件包及元数据,占用
/var/cache/yum或/var/cache/dnf目录。使用sudo yum clean all(或sudo dnf clean all)清理缓存。 - 清理临时文件:
/tmp(临时文件,默认开机清空)、/var/tmp(长期临时文件)目录下的文件可安全删除(避免正在使用的文件):sudo rm -rf /tmp/* & & sudo rm -rf /var/tmp/*。 - 清理旧内核:CentOS会保留多个内核版本(位于
/boot目录),占用大量空间。使用package-cleanup --oldkernels --count=2保留最新2个内核,删除旧版本(需root权限)。 - 清理包管理器孤立包:卸载软件后,可能残留依赖包(无用包)。使用
package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y查找并删除这些包。 - 清理应用缓存:如Composer(PHP依赖管理工具)的缓存:
composer clear-cache;浏览器缓存(如Chrome):手动清理或通过配置自动清理。
三、日志文件管理
日志文件(如/var/log/messages、/var/log/secure)随时间增长会占用大量空间,需定期清理:
- 清空日志文件:使用
truncate命令将日志文件大小置零(不删除文件,避免影响正在运行的服务):sudo find /var/log -type f -name "*.log" -exec truncate -s 0 { } \;。 - 删除旧日志:通过
find命令删除修改时间超过30天的日志文件:sudo find /var/log -type f -name "*.log" -mtime +30 -exec rm -f { } \;。 - 配置日志轮转:使用
logrotate工具自动化日志管理(默认配置位于/etc/logrotate.conf),设置日志文件的最大大小、保留天数及压缩策略(如/var/log/messages每周轮转,保留4周)。
四、磁盘分区与LVM管理
若清理后仍空间不足,需通过分区调整或LVM扩展存储:
- LVM扩展(推荐):若系统使用LVM(逻辑卷管理),可通过以下步骤在线扩展:
- 添加新磁盘或扩展现有分区(
fdisk /dev/sdX创建新分区,partprobe刷新分区表); - 将新分区加入卷组(
pvcreate /dev/sdXY,vgextend centos /dev/sdXY,centos为卷组名); - 扩展逻辑卷(
lvextend -L +10G /dev/mapper/centos-root,+10G表示增加10GB,或-l +100%FREE使用所有剩余空间); - 扩展文件系统(XFS:
xfs_growfs /;Ext4:resize2fs /dev/mapper/centos-root)。
- 添加新磁盘或扩展现有分区(
- 非LVM环境扩展:若未使用LVM,需添加新磁盘并分区格式化:
- 识别新磁盘(
fdisk -l,如/dev/sdb); - 分区(
fdisk /dev/sdb,创建主分区/dev/sdb1); - 格式化(
mkfs.xfs /dev/sdb1或mkfs.ext4 /dev/sdb1); - 挂载(
mkdir /data_new,mount /dev/sdb1 /data_new); - 配置持久化(编辑
/etc/fstab,添加UUID=< 新分区UUID> /data_new xfs defaults 0 0,通过blkid获取UUID)。
- 识别新磁盘(
五、监控与预防
定期监控磁盘空间使用情况,避免再次出现空间不足:
- 定期检查:通过
cron任务每天运行df -h和du -sh /*,将结果发送到管理员邮箱(如0 0 * * * /bin/bash -c 'df -h > > /var/log/disk_usage.log; du -sh /* > > /var/log/disk_usage.log')。 - 设置告警阈值:使用
Nagios、Zabbix等监控工具,当磁盘使用率超过80%时触发告警。 - 规划分区策略:新系统部署时,合理划分分区(如
/、/var、/home),避免单个分区占用过大(如/var单独分区,防止日志占满根分区)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS中如何有效管理磁盘空间
本文地址: https://pptw.com/jishu/737158.html
