资讯动态

Ubuntu虚拟机磁盘空间不足的解决方案与扩容技巧

发布时间:2026/10/26 10:50:42 来源:尧图企业网站定制
1. 虚拟机磁盘空间不足的典型场景分析在Ubuntu 18.04虚拟机环境中/dev/sda1分区空间不足是个高频痛点问题。我最近处理的一台开发用VM就遇到了这个情况——原本分配的30GB系统盘在安装完Docker、Kubernetes和几个中间件后df -h显示根分区使用率已达98%。这种状况会导致系统日志无法写入、软件包无法更新甚至引发连锁性系统故障。通过vmstat和iotop工具分析发现导致空间紧张的主要元凶是/var/lib/docker目录占用了12GB容器日志未做轮转清理/usr/src目录堆积了多个版本的内核头文件累计4.3GBapt缓存未清理/var/cache/apt/archives占用1.8GB2. 空间扩展前的必要准备工作2.1 虚拟机磁盘扩容操作在VMware Workstation中关闭虚拟机后右键虚拟机 → 设置 → 硬盘 → 扩展将磁盘从30GB调整为50GB建议至少增加原大小的50%完成扩容后不要立即启动系统重要提示快照会阻止磁盘扩展操作必须先删除所有快照。同时确保虚拟机没有挂起状态。2.2 现有空间使用优化在扩容分区前先执行这些空间回收操作# 清理旧内核保留当前和上一个版本 sudo apt autoremove --purge # 清空apt缓存 sudo apt clean # 设置Docker日志轮转防止再次爆满 sudo tee /etc/docker/daemon.json -EOF { log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 } } EOF3. 分区扩展的三种技术方案对比3.1 方案A使用GParted LiveCD图形化推荐下载GParted ISO镜像挂载为虚拟光驱BIOS设置从CDROM启动在图形界面中右键sda1 → Resize/Move拖动滑块占满未分配空间点击Apply执行操作优势操作直观适合不熟悉命令行的用户 风险若操作中断可能导致分区表损坏3.2 方案B使用fdiskresize2fs纯命令行sudo fdisk /dev/sda # 按d删除分区不破坏数据 # 按n新建分区起始扇区保持与原分区一致 # 按w写入新分区表 sudo reboot sudo resize2fs /dev/sda1技术要点必须确保新分区的起始扇区与原来完全一致执行resize2fs前需要先卸载分区无法卸载根分区时需要进救援模式3.3 方案CLVM动态扩展最优方案如果当初安装时采用了LVMsudo vgextend ubuntu-vg /dev/sda2 sudo lvextend -l 100%FREE /dev/ubuntu-vg/root sudo resize2fs /dev/ubuntu-vg/root实测数据对比方案耗时风险等级适用场景GParted15-30分钟中单分区简单扩展fdisk5-10分钟高熟悉分区表操作LVM2分钟低预装LVM的系统4. 扩展后的验证与调优4.1 文件系统检查sudo df -hT # 确认根分区已显示新容量 sudo fsck -f /dev/sda1 # 强制检查文件系统完整性4.2 自动化监控配置安装并配置prometheus-node-exportersudo apt install prometheus-node-exporter sudo systemctl enable --now prometheus-node-exporter在Grafana中添加磁盘使用率监控面板设置85%阈值告警。5. 高阶技巧与避坑指南5.1 交换分区优化如果swap分区阻碍了空间扩展sudo swapoff -a sudo cfdisk /dev/sda # 删除swap分区 sudo mkswap /swapfile # 创建swap文件 sudo swapon /swapfile5.2 虚拟机磁盘压缩扩展后如需收缩空间sudo vmware-toolbox-cmd disk shrink / # 需要先清零空闲空间 sudo dd if/dev/zero of/zero.file bs1M sudo rm /zero.file5.3 常见故障处理Q扩展后启动卡在grub rescueA执行以下修复ls # 确认磁盘分区 set prefix(hd0,msdos1)/boot/grub insmod normal normalQresize2fs报错filesystem is mountedA使用LiveCD启动后操作或尝试sudo mount -o remount,ro / sudo fsck -f /dev/sda1 sudo resize2fs /dev/sda1经过多次实战验证我强烈建议在初始安装时就采用LVM方案。最近一次为金融客户部署的Ubuntu 18.04生产环境通过LVM在业务不中断的情况下完成了从100GB到500GB的在线扩容整个过程仅耗时47秒。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑