一、使用LVM(逻辑卷管理)实现动态空间调整
LVM是CentOS优化分卷存储的核心工具,通过“物理卷-卷组-逻辑卷”的分层结构,支持动态扩展/缩减空间,解决传统分区固定大小的限制。
df -h
查看文件系统使用情况,pvdisplay
查看物理卷详情,vgdisplay
查看卷组剩余空间,lvdisplay
查看逻辑卷大小,明确需优化的卷(如根分区/dev/mapper/centos-root
空间不足)。lvextend
命令增加LV容量(如扩展根分区10GB):lvextend -L +10G /dev/mapper/centos-root
;若卷组无剩余空间,需先扩展卷组(见下一步)。pvcreate /dev/sdb1
),再用vgextend
将PV加入现有VG(如vgextend centos /dev/sdb1
),释放更多空间给LV。resize2fs
(如resize2fs /dev/mapper/centos-root
),XFS文件系统用xfs_growfs
(如xfs_growfs /dev/mapper/centos-root
)。二、清理无用数据释放空间
定期清理系统垃圾文件可直接回收存储空间,适用于所有分卷:
rm -rf /tmp/*
删除/tmp目录下的临时文件(重启后会重建)。yum list installed
列出已安装软件,yum remove package_name
删除无用软件(如旧版内核、未使用的工具)。du -sh /var/log/*
查看日志文件大小,truncate -s 0 /var/log/log_file
(如/var/log/messages
)清空大日志(需root权限)。lsof | grep deleted
查找已被删除但仍被进程占用的文件,重启对应进程或直接终止进程释放空间。三、删除不必要的分卷
若存在未使用或不再需要的分卷,可彻底删除以释放底层磁盘空间:
lvremove /dev/mapper/centos-home
(如删除/home分区),删除前需确保LV已卸载(umount /home
)。pvremove /dev/sdXY
(如/dev/sdb1
)删除PV。vgremove centos
(如卷组名为centos)删除VG。四、使用VDO(虚拟数据优化器)减少实际占用
VDO是一种块虚拟化技术,通过重复数据删除(相同数据只存一份)、压缩(减少数据体积)功能,降低磁盘实际使用量。适用于存储大量重复数据的场景(如备份、虚拟机镜像)。
yum -y install vdo kmod-kvdo
。/dev/sda
)和逻辑大小(如60G,实际占用会更小):vdo create --name=vdolvm --device /dev/sda --vdoLogicalSize 60G --writePolicy async
。systemctl start vdo vdolvm
,systemctl enable vdo vdolvm
。vdostats --human-readable
,可查看节省的空间比例。五、优化文件系统挂载选项
通过调整文件系统挂载参数,减少不必要的磁盘写操作,间接节省空间(适用于ext4/xfs文件系统):
/etc/fstab
中添加noatime
选项(禁用访问时间更新),如:/dev/mapper/centos-root / ext4 defaults,noatime 0 1
,修改后执行mount -o remount /
生效。discard
选项启用在线trim(适用于SSD),如:/dev/mapper/centos-root / xfs defaults,discard 0 1
。六、监控磁盘使用情况
定期监控可提前发现空间不足问题,避免突发故障:
df -h
查看各分区使用率,du -sh /path/to/dir
查看指定目录大小(如du -sh /home
查看/home目录总大小)。ncdu
(yum install ncdu
),通过图形界面快速定位占用空间大的目录(如ncdu /
扫描根目录)。