CentOS 虚拟机磁盘空间管理
一 快速排查与清理
df -h,定位高占用挂载点(如 /、/var、/opt)。sudo du -sh /* 2>/dev/null | sort -hr | head -n 20。sudo dnf clean all 或 sudo yum clean all。sudo journalctl --vacuum-time=7d(保留最近 7 天)。sudo find /var/log -type f -name "*.gz" -mtime +7 -delete。docker system prune -af --volumes),或迁移 /var/lib/docker 到大盘后再软链或改配置。二 扩容方案总览
三 操作步骤范式
lsblk、fdisk -l、df -h 确认磁盘、分区、挂载点与文件系统类型(如 xfs、ext4)。ls /sys/class/scsi_host/ 查看 host 号;echo "- - -" > /sys/class/scsi_host/hostX/scan;echo 1 > /sys/class/scsi_device/<id>/device/rescan。sudo partprobe /dev/sda 让内核重读分区表。sudo fdisk /dev/sda(n 新建,w 保存);sudo mkfs.xfs /dev/sdaXsudo mkfs.ext4 /dev/sdaXsudo mount /dev/sdaX /data;/dev/sdaX /data xfs/ext4 defaults 0 0 写入 /etc/fstab。sudo pvcreate /dev/sdaX;sudo vgextend <vg_name> /dev/sdaX(可用 vgs/vgdisplay 查看卷组名);sudo lvextend -L +<size>G /dev/mapper/<vg>-<lv> 或 -l +100%FREE 用尽剩余空间;sudo xfs_growfs <挂载点>(如 /);sudo resize2fs /dev/mapper/<vg>-<lv>。sudo systemctl stop dockersudo mv /var/lib/docker /data/dockersudo ln -s /data/docker /var/lib/docker(或改 Docker 配置中的 data-root)sudo systemctl start dockerdf -h、lsblk、vgs/lvs 确认容量已生效。四 常见陷阱与建议