教你6步虚拟机扩容?

虚拟机环境

ubuntu 24.02,并且在已经给虚拟机新分配内存,但是没有生效,需要对虚拟机进行扩容。

开始扩容

使用lsblk输出磁盘分区

bash 复制代码
root@node1:~# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   40G  0 disk
├─sda1                      8:1    0    1M  0 part
├─sda2                      8:2    0  1.8G  0 part /boot
└─sda3                      8:3    0 18.2G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0 18.2G  0 lvm  /
sr0                        11:0    1  2.6G  0 rom

根据 lsblk 的输出,磁盘 /dev/sda 已经有三个分区:

  • /dev/sda1:1MB(可能是LVM的启动分区或者引导分区)
  • /dev/sda2:1.8GB(挂载了 /boot)
  • /dev/sda3:18.2GB(包含LVM卷 ubuntu-vg/ubuntu-lv,挂载在根目录 /)

现在希望扩展的是 /dev/sda3 上的 LVM 卷。问题的关键在于 /dev/sda3 的 LVM 分区大小需要扩展,以便能够使用新分配的磁盘空间。

扩展 /dev/sda3 分区

首先,需要扩展 /dev/sda3 分区以包含整个磁盘的空间。可以使用 parted 来调整分区大小。

启动 parted,并选择 sda 磁盘:

执行命令

bash 复制代码
sudo parted /dev/sda

打印当前分区表:

bash 复制代码
print

选择并调整 /dev/sda3 的大小 : 这里的 40GB 是你磁盘的总大小,根据需要进行调整。

bash 复制代码
resizepart 3 40GB

退出 parted:

bash 复制代码
quit

扩展卷组

接下来,使用 vgextend 将扩展的空间添加到卷组 ubuntu-vg 中。因为我们已经扩展了物理卷,LVM会识别到新的空间。

bash 复制代码
sudo vgextend ubuntu-vg /dev/sda3

扩展逻辑卷

现在,可以扩展逻辑卷 ubuntu-lv 以使用所有可用的空间:

bash 复制代码
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

扩展文件系统

扩展文件系统以使用扩展的逻辑卷空间。

  • 如果你的文件系统是 ext4,使用以下命令:
bash 复制代码
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
  • 如果你的文件系统是 XFS,使用以下命令:
bash 复制代码
sudo xfs_growfs /dev/ubuntu-vg/ubuntu-lv

验证磁盘空间

完成这些操作后,使用 df -h 检查新的磁盘空间是否生效:

bash 复制代码
df -h

你应该会看到根分区 / 的大小已经增加。

总结

  1. 使用 parted 扩展 /dev/sda3 分区。
  2. 使用 pvresize 更新 LVM 物理卷的大小。
  3. 使用 vgextend 将新增空间添加到卷组。
  4. 扩展逻辑卷和文件系统。
相关推荐
LoneEon3 分钟前
CentOS7 部署 Nacos3.x 集群实战:从注册中心到 AI 管理中心
linux·人工智能·nacos
Bazingga15 分钟前
从0到1搭一个Agent:Spring AI显式ReAct循环完整实战
后端
LEE18 分钟前
前端转型全栈 05:SQL 与迁移,AI 写的 SQL 怎么安全上线
前端·后端·ai编程
站大爷IP20 分钟前
Python的列表删除把我坑惨了,原来remove和pop的区别这么大
后端
传人20 分钟前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
montEvergreen30 分钟前
RTMP 王国的“信笺百科全书”
后端·go
北冥you鱼30 分钟前
Go 语言 Channel 机制详解:从原理到实战
开发语言·后端·golang
杨利杰YJlio31 分钟前
Tibo的28天计划DAY1GPT-6提速50%意味着什么?
前端·javascript·后端
谢亮_vipxieliang32 分钟前
Go 并发控制进阶:sync 包高级原语与 Context 生命周期管理
开发语言·后端·golang
你顶住我先撤1 小时前
RocketMQ 存储机制
后端