环境

宿主机:Windows 11

虚拟机:Redhat 8.5

VirtualBox 7.0

现状

虚拟机中的Redhat 8.5总磁盘空间30G,这是最初安装时设定的大小,现在需要扩容增加50G磁盘空间。

df:

snippet.bash
[root@bogon ~]# df -hl
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             3.8G     0  3.8G    0% /dev
tmpfs                3.8G     0  3.8G    0% /dev/shm
tmpfs                3.8G  9.1M  3.8G    1% /run
/dev/mapper/cl-root   26G  7.4G   19G   29% /
/dev/sda1           1014M  259M  756M   26% /boot
tmpfs                777M   12K  777M    1% /run/user/42
tmpfs                777M     0  777M    0% /run/user/0

lsbk:

snippet.bash
[root@bogon ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   30G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   29G  0 part
  ├─cl-root 253:0    0   26G  0 lvm  /
  └─cl-swap 253:1    0    3G  0 lvm  [SWAP]
sr0          11:0    1 1024M  0 rom

扩容

首先在VirtualBox中调整虚拟机允许的磁盘大小:工具 → 选择对应的vdi → “大小”调整增加50GB。

image-20250418094431940

在Windows上下载gparted磁盘管理工具。

官网地址:https://gparted.org/download.php

image-20250418093300022

虚拟机挂载以上下载的iso文件,例如:gparted-live-1.7.0-1-amd64.iso,即使用gparted引导启动虚拟机系统。

image-20250418095434277

gparted启动过程中可能需要手动选择“语言”及其它,请按需要选择。

image-20250418095534050

image-20250418095917689

gparted启动成功,下图的界面是操作重点:选择需要调整大小的分区 → 右键 → “调整大小/移动”,完成调整后,点击对勾“√”。

image-20250418100132232

应后,双击“Exit”按钮,弹出“Select item from the list”,选择“Shutdown”,然后再次启动虚拟机。

image-20250418100451548

image-20250418100533480

扩容后

登录虚拟机,发现lsblk磁盘空间已经增加到80G,但是分区/dev/mapper/cl-root大小未变化,实际可用分区空间也没有增加。

df:

snippet.bash
[root@bogon ~]# df -hl
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             3.8G     0  3.8G    0% /dev
tmpfs                3.8G     0  3.8G    0% /dev/shm
tmpfs                3.8G  9.1M  3.8G    1% /run
/dev/mapper/cl-root   26G  7.3G   19G   29% /
/dev/sda1           1014M  259M  756M   26% /boot
tmpfs                777M  8.0K  777M    1% /run/user/42
tmpfs                777M     0  777M    0% /run/user/0

lsblk:

snippet.bash
[root@bogon ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   80G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   79G  0 part
  ├─cl-root 253:0    0   26G  0 lvm  /
  └─cl-swap 253:1    0    3G  0 lvm  [SWAP]
sr0          11:0    1 1024M  0 rom

执行以下命令:

snippet.bash
[root@bogon ~]# lvextend -L +50G /dev/mapper/cl-root
[root@bogon ~]# xfs_growfs /dev/mapper/cl-root

df查看一下,/dev/mapper/cl-root分区空间已经增加:

snippet.bash
[root@bogon ~]# df -hl
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             3.8G     0  3.8G    0% /dev
tmpfs                3.8G     0  3.8G    0% /dev/shm
tmpfs                3.8G  9.1M  3.8G    1% /run
/dev/mapper/cl-root   76G  7.7G   69G   11% /
/dev/sda1           1014M  259M  756M   26% /boot
tmpfs                777M   12K  777M    1% /run/user/42
tmpfs                777M     0  777M    0% /run/user/0

参考