Vmware Ubuntu虚拟机扩容

VMware Ubuntu 22.04 LVM 磁盘扩容记录

BG

使用的服务器版Ubutun,初始分配的22G,不够使用,在虚拟机管理扩增到30G,但操作系统内的文件系统不会自动扩增。

  1. VMware 虚拟机硬盘上限 30GB ,但 Ubuntu 系统根分区 / 仅识别 22GB
  2. 磁盘剩余约 8GB 空间未加入 LVM 逻辑卷,系统无法使用
  3. 前置检查:sudo vgdisplay 显示 Free PE / Size = 0,LVM 卷组无空闲空间

LVM 磁盘扩容

原理

Ubuntu Server 默认使用 LVM 逻辑卷,磁盘空闲空间未加入物理卷,需依次:扩展物理分区 → 扩容物理卷 → 扩容逻辑卷 → 刷新文件系统,不需要重启。

分步操作+命令+解释

bash 复制代码
sudo growpart /dev/sda 3 
sudo pvresize /dev/sda3 
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv 
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 
df -h
步骤1:查看磁盘分区结构(确认分区编号)
bash 复制代码
lsblk

作用:查看磁盘 /dev/sda 总大小30GB,确认LVM物理卷为 /dev/sda3

bash 复制代码
sda                         8:0    0   30G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0   28G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0   22G  0 lvm  /
sr0                        11:0    1    2G  0 rom
步骤2:扩展物理分区,占用磁盘全部剩余空间
bash 复制代码
sudo growpart /dev/sda 3

作用:将物理分区 /dev/sda3 扩容至磁盘最大30GB,吃掉闲置的8GB空间

步骤3:扩容LVM物理卷,让卷组识别新空间
bash 复制代码
sudo pvresize /dev/sda3

作用:更新物理卷大小,此时 sudo vgdisplay 会显示空闲空间不为0

步骤4:扩容根目录逻辑卷,分配全部空闲空间
bash 复制代码
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

作用:将卷组所有空闲空间分配给系统主分区 /

步骤5:刷新文件系统,扩容立即生效
bash 复制代码
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

作用:无需重启,系统直接识别扩容后的磁盘容量

Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required

old_desc_blocks = 3, new_desc_blocks = 4

The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 7339008 (4k) blocks long.

步骤6:验证扩容结果
bash 复制代码
df -h

作用:查看 /dev/mapper/ubuntu--vg-ubuntu--lv 容量是否变为30GB

bash 复制代码
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              388M  1.8M  386M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   28G   20G  6.4G  76% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  259M  1.6G  15% /boot
tmpfs                              388M  4.0K  388M   1% /run/user/1000

/dev/mapper/ubuntu--vg-ubuntu--lv 22 to 28, 成功

磁盘缓存清理

我用的uv

清理 uv 包管理器缓存、系统无用依赖、系统日志、临时文件

命令

bash 复制代码
# 1. 清理uv缓存(Python包缓存,本次报错根源)
uv cache clean

# 2. 清理Ubuntu系统APT缓存与无用依赖
sudo apt clean
sudo apt autoremove -y

# 3. 清理系统大体积日志
sudo journalctl --vacuum-size=100M

# 4. 清理系统临时文件
sudo rm -rf /tmp/*
相关推荐
AlfredZhao2 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维