环境
Ubuntu 22.04
目的
虚拟机磁盘 60G 不足,后通过 VMware Workstation 硬盘扩展功能将硬盘扩展至 200G。
要求直接扩展文件系统,需扩容原 part sda3(不能新增 part),不能丢失数据。
如若要新增硬盘扩容,实现不关机在线扩容,请查阅:
操作
以下操作过 VMware Workstation 硬盘扩展后 sda disk 容量已正常显示 200G。
root@ubuntu01:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.9M 1 loop /snap/core20/2318
loop1 7:1 0 64M 1 loop /snap/core20/2379
loop2 7:2 0 87M 1 loop /snap/lxd/28373
loop3 7:3 0 87M 1 loop /snap/lxd/29351
loop4 7:4 0 38.7M 1 loop /snap/snapd/21465
loop5 7:5 0 38.8M 1 loop /snap/snapd/21759
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 38G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 38G 0 lvm /
sr0 11:0 1 1024M 0 rom
扩容 Part
使用 parted 工具检查硬盘是否为 gpt,若是则进行后续操作。
若不是 gpt,请输入 quit 退出 parted 工具,并跳过本文章(使用 fdisk 工具删除对应分区,并确保创建新分区与原分区起始扇区一致,则能保证数据不丢失,目前非 gpt 已为少数,忽略)。
找到根分区所对应的 sda3 的 Number 为 3,并执行扩容 part sda3。
root@ubuntu01:~# parted /dev/sda
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print # 该行为执行命令
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt # 确定 gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 2150MB 2147MB ext4
3 2150MB 42.9GB 40.8GB # 确定 sda3 Number
(parted) resizepart 3 100% # 该行为执行命令
(parted) quit # 该行为执行命令
Information: You may need to update /etc/fstab.
扩容 part sda3 后,检查确认 sda3 已扩容至 200G。
root@ubuntu01:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.9M 1 loop /snap/core20/2318
loop1 7:1 0 64M 1 loop /snap/core20/2379
loop2 7:2 0 87M 1 loop /snap/lxd/28373
loop3 7:3 0 87M 1 loop /snap/lxd/29351
loop4 7:4 0 38.7M 1 loop /snap/snapd/21465
loop5 7:5 0 38.8M 1 loop /snap/snapd/21759
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 198G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 38G 0 lvm /
sr0 11:0 1 1024M 0 rom
扩容 LVM
检查 LVM 中 PV 信息,目前仍为 40G,找到 PV Name。
扩容并检查 LVM 中的 PV 信息,确认 PV 已扩容至 200G。
当 PV 容量由已存在的 Physical volume 扩展而得来时,VG 容量会自动增加,且为 Free。
root@ubuntu01:~# pvdisplay # 该行为执行命令
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <38.00 GiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9727
Free PE 0
Allocated PE 9727
PV UUID 7Ymwcm-VbP6-ZNRh-iyWi-gFMP-6rwj-tXyrZ7
root@ubuntu01:~# pvresize /dev/sda3 # 该行为执行命令
Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
root@ubuntu01:~# pvdisplay # 该行为执行命令
--- Physical volume ---
PV Name /dev/sda3
VG Name ubuntu-vg
PV Size <198.00 GiB / not usable 16.50 KiB
Allocatable yes
PE Size 4.00 MiB
Total PE 50687
Free PE 40960
Allocated PE 9727
PV UUID 7Ymwcm-VbP6-ZNRh-iyWi-gFMP-6rwj-tXyrZ7
root@ubuntu01:~# vgdisplay # 该行为执行命令
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <198.00 GiB
PE Size 4.00 MiB
Total PE 50687
Alloc PE / Size 9727 / <38.00 GiB
Free PE / Size 40960 / 160.00 GiB
VG UUID 3Quriy-xCjh-zH1N-x482-xeCF-34jg-EULqi6
确认扩容前 LV 容量为 40G,且找到 LV Path。
对 LV 扩容,并再度检查 LV,确认扩展容量至 200G。
root@ubuntu01:~# lvdisplay # 该行为执行命令
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID z72RYw-o3KI-ggXm-Ch21-CLkp-wkd9-1lkMAW
LV Write Access read/write
LV Creation host, time ubuntu-server, 2023-07-20 08:30:06 +0000
LV Status available
# open 1
LV Size <38.00 GiB
Current LE 9727
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
root@ubuntu01:~# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv # 该行为执行命令
Size of logical volume ubuntu-vg/ubuntu-lv changed from <38.00 GiB (9727 extents) to <198.00 GiB (50687 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@ubuntu01:~# lvdisplay # 该行为执行命令
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID z72RYw-o3KI-ggXm-Ch21-CLkp-wkd9-1lkMAW
LV Write Access read/write
LV Creation host, time ubuntu-server, 2023-07-20 08:30:06 +0000
LV Status available
# open 1
LV Size <198.00 GiB
Current LE 50687
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
刷新文件系统
最后检查文件系统类型,并刷新文件系统容量为 200G。
# 检查文件系统
# df -Th 或 cat /etc/fstab 或 lsblk -f
root@ubuntu01:~# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
tmpfs tmpfs 809156 2280 806876 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 38905184 31423544 5473168 86% / # 确认文件系统类型为 ext4
# xfs 使用 /dev/mapper/ubuntu--vg-ubuntu--lv 也可
xfs_growfs /dev/ubuntu-vg/ubuntu-lv
# ext3/ext4 使用 /dev/mapper/ubuntu--vg-ubuntu--lv 也可
resize2fs /dev/ubuntu-vg/ubuntu-lv