环境

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
最后修改:2024 年 09 月 24 日 04 : 25 PM
如果觉得文章帮助了您,您可以随意赞赏。