CentOS Stream 8如何优化存储空间
导读:1. 监控磁盘空间使用情况 优化存储空间的第一步是明确当前磁盘使用状态,避免盲目操作。常用命令包括: df -h:查看各文件系统的总容量、已用空间、可用空间及挂载点,快速定位空间不足的分区(如根分区/或/var); df -i:查看ino...
1. 监控磁盘空间使用情况
优化存储空间的第一步是明确当前磁盘使用状态,避免盲目操作。常用命令包括:
df -h:查看各文件系统的总容量、已用空间、可用空间及挂载点,快速定位空间不足的分区(如根分区/或/var);df -i:查看inode使用情况,若inode耗尽(Use%接近100%),即使磁盘空间充足也无法创建新文件;du -sh /path/to/directory | sort -rh | head -20:递归统计指定目录下各子目录的大小,找出占用空间最大的前20个目录(如/var/log、/home)。
2. 清理无用文件与缓存
系统运行过程中会产生大量临时文件、旧日志和缓存,定期清理可快速释放空间:
- 清理YUM/DNF缓存:运行
sudo yum clean all(YUM)或sudo dnf clean all(DNF),删除下载的软件包缓存; - 清理临时文件:使用
sudo rm -rf /tmp/*删除/tmp目录下的临时文件(系统重启后会自动重建); - 清理旧日志:通过
find /var/log -type f -name "*.log" -mtime +30 -exec rm -f { } \;命令,删除/var/log下修改时间超过30天的日志文件; - 清理孤立包:使用
package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y删除不再需要的孤立软件包(仅依赖其他包的残留文件); - 清理旧内核:保留最新的2个内核,删除旧内核以节省空间,命令为
package-cleanup --oldkernels --count=2。
3. 管理日志文件
日志文件(如/var/log/messages、/var/log/secure)可能随时间快速增长,需通过以下方式控制其大小:
- 截断大日志:使用
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 { } \;命令,将超过50MB且修改时间超过7天的日志文件清空(保留文件权限); - 配置日志轮转:编辑
/etc/logrotate.conf文件,调整轮转策略(如保留5份周日志、压缩旧日志、延迟压缩),示例配置:/var/log/messages { rotate 5 weekly compress delaycompress missingok notifempty create 0640 root utmp postrotate /usr/bin/killall -HUP syslogd endscript } ```。
4. 利用LVM动态扩展存储
若系统使用LVM(逻辑卷管理),可通过动态调整逻辑卷大小来扩展存储,无需重新分区:
- 扩展物理卷:若新增磁盘或未分配空间,使用
pvresize /dev/sdX扩展物理卷(如/dev/sdb1); - 扩展卷组:将新增物理卷添加到现有卷组,命令为
vgextend vg_name /dev/sdX(vg_name为卷组名称,可通过vgs查看); - 扩展逻辑卷:使用
lvextend -L +10G /dev/vg_name/lv_name扩展逻辑卷(如/dev/vg_root/lv_root),+10G表示增加10GB空间; - 调整文件系统:根据文件系统类型调整大小,ext4使用
resize2fs /dev/vg_name/lv_name,XFS使用xfs_growfs /mount/point(如/)。
5. 使用存储优化工具
- VDO(Virtual Data Optimizer):通过数据去重和压缩减少实际磁盘占用,适用于大容量存储场景。安装并创建VDO卷的步骤:
sudo yum install vdo kmod-kvdo -y sudo systemctl restart vdo sudo vdo create --name=vdo_vol --device=/dev/sdX --vdoLogicalSize=100G # 指定设备和逻辑大小 sudo lvcreate -n lv_vdo -L 100G vg_name # 创建逻辑卷 sudo mkfs.xfs /dev/vg_name/lv_vdo # 格式化 sudo mount /dev/vg_name/lv_vdo /mnt/vdo # 挂载 - Stratis:分层存储管理工具,支持自动数据分层(如热数据存SSD、冷数据存HDD),提升存储效率。安装与配置步骤:
sudo yum install stratisd stratis-cli -y sudo systemctl enable --now stratisd sudo stratis pool create mypool /dev/sdX # 创建存储池 sudo stratis filesystem create mypool myfs # 创建文件系统 sudo mount /dev/stratis/mypool/myfs /mnt/stratis # 挂载 ```。
6. 压缩文件与分区
- 文件压缩:对不常访问的文件(如旧备份、归档数据)使用
tar+gzip压缩,命令为tar -czvf archive.tar.gz /path/to/files; - 分区压缩:若文件系统支持(如XFS),可在挂载时启用压缩(
mount -o compress=zstd /dev/sdX /mnt),减少存储占用。
7. 设置磁盘配额
对于多用户系统,可通过磁盘配额限制用户/组的存储空间,防止个别用户占用过多空间:
- 安装quota工具:
sudo yum install quota -y; - 启用配额:编辑
/etc/fstab文件,在对应挂载点选项中添加usrquota,grpquota(如/dev/sda1 / ext4 defaults,usrquota,grpquota 0 0); - 初始化配额数据库:
sudo quotacheck -cug /; - 启用配额:
sudo quotaon /; - 设置限额:使用
edquota -u username编辑用户限额(软限制:警告阈值;硬限制:强制阈值)。
8. 扩展物理磁盘空间
若上述方法无法满足需求,可考虑扩展物理磁盘:
- 物理添加新磁盘:关闭系统,添加新磁盘并启动;
- 分区与挂载:使用
fdisk /dev/sdX创建新分区,格式化后挂载到指定目录(如/mnt/newdisk); - 永久挂载:将挂载信息添加到
/etc/fstab文件,确保重启后自动挂载。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Stream 8如何优化存储空间
本文地址: https://pptw.com/jishu/738577.html
