虚拟机环境
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
你应该会看到根分区 /
的大小已经增加。
总结
- 使用
parted
扩展/dev/sda3
分区。 - 使用
pvresize
更新 LVM 物理卷的大小。 - 使用
vgextend
将新增空间添加到卷组。 - 扩展逻辑卷和文件系统。