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/*
相关推荐
咚为1 小时前
比AccessLog更全面的原生Nginx 日志记录
运维·nginx·junit
我星期八休息2 小时前
Linux系统编程—基础IO
linux·运维·服务器·c语言·c++·人工智能·算法
Shingmc32 小时前
【Linux】数据链路层
linux·服务器·网络
a752066282 小时前
零基础实操:小龙虾 AI OpenClaw 接入 Kimi 详细步骤
运维·服务器
bksczm2 小时前
文件描述符
linux
Goldbioinformatics2 小时前
Windows版Claude Cowork启动Linux问题
linux·运维·windows
念恒123063 小时前
Ext系列文件系统(下)
linux·运维·服务器
小贾要学习3 小时前
【Linux】Linux高性能IO多路复用:epoll全方位详解(从原理到实战)
linux·服务器·网络