CentOS Stream 8磁盘空间优化策略
定期使用df -h命令查看各分区使用率(重点关注Use%列),快速定位空间不足的分区;使用df -i命令检查inode使用率(若inode耗尽,即使磁盘空间充足也无法创建文件);使用du -sh /path/to/directory | sort -rh | head -20命令找出占用空间最大的前20个目录,精准定位大文件位置。
yum clean all(或dnf clean all)清除软件包缓存,释放/var/cache/yum或/var/cache/dnf目录空间;/tmp目录下所有临时文件(rm -rf /tmp/*),该目录文件通常无需长期保留;sync同步内存数据到磁盘,再通过echo 3 > /proc/sys/vm/drop_caches释放pagecache、dentries和inodes缓存(不影响正在运行的程序);find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;命令删除30天前的.log文件,或通过logrotate工具(编辑/etc/logrotate.conf)设置日志轮转规则(如保留5周内的日志、压缩旧日志),避免日志无限增长。package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y命令删除不再被任何软件包依赖的孤立包(如编译时产生的临时包);package-cleanup --oldkernels --count=2命令删除旧内核,释放/boot分区空间(/boot分区通常较小,易满)。/var/log/messages),使用find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 {} \;命令清空文件内容(不影响日志服务运行);/etc/logrotate.conf文件,调整轮转参数(如rotate 5表示保留5个归档日志、weekly表示每周轮转、compress表示压缩旧日志、missingok表示忽略缺失日志文件),实现日志自动管理。fdisk /dev/sdX(X为磁盘标识,如sdb)创建新分区,格式化为ext4或xfs文件系统(mkfs.ext4 /dev/sdb1),创建挂载点(mkdir /mnt/data),挂载分区(mount /dev/sdb1 /mnt/data),并通过echo '/dev/sdb1 /mnt/data ext4 defaults 0 0' >> /etc/fstab实现开机自动挂载;pvresize扩展物理卷、vgextend扩展卷组、lvextend扩展逻辑卷,最后使用resize2fs(ext4)或xfs_growfs(xfs)调整文件系统大小,实现动态扩容(无需卸载分区,适用于生产环境)。yum install vdo kmod-kvdo安装,使用vdo create --name=myvolume --device=/dev/sdb创建VDO卷,再在其上创建文件系统(mkfs.xfs /dev/mapper/myvolume),VDO可实时压缩数据(节省约30%-50%磁盘空间)并去重;yum install stratisd stratis-cli安装,使用stratis pool create mypool /dev/sdb创建存储池,stratis filesystem create mypool myfs创建文件系统,Stratis提供分层存储(如热数据、冷数据分离)和数据压缩功能,简化存储管理。