一、使用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
)和邏輯大?。ㄈ?0G,實際占用會更?。?code>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
查看指定目錄大?。ㄈ?code>du -sh /home查看/home目錄總大?。?。ncdu
(yum install ncdu
),通過圖形界面快速定位占用空間大的目錄(如ncdu /
掃描根目錄)。