Sam's Notes | Sam Blog

梦想还是要有的,万一实现了呢

0%

扩展 虚拟机 Rocky linux 现有的文件系统

主要内容

Rocky Linux的虚拟机上扩展现有的文件系统,涉及分区调整、LVM管理或者直接扩展磁盘空间。

版本:
VMware ESXi 7.0.3
Rocky Linux release 9.4 (Blue Onyx)

目标将虚拟机的data盘扩大到1.2T。

更新历史


虚拟机配置

VMware ESXi 配置 虚拟机, 将磁盘扩大到1.2T。

系统配置

Rocky Linux 中使用 root用户操作。

检查磁盘情况

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ╭─root@doris-be1 ~
    ╰─# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
    sda 8:0 0 500G 0 disk
    ├─sda1 8:1 0 600M 0 part /boot/efi
    ├─sda2 8:2 0 1G 0 part /boot
    └─sda3 8:3 0 498.4G 0 part
    ├─rl-root 253:0 0 150G 0 lvm /
    ├─rl-swap 253:1 0 16G 0 lvm
    └─rl-data 253:2 0 332.4G 0 lvm /data
    sr0 11:0 1 10.2G 0 rom

  • 识别新的大小

    1
    echo 1 > /sys/block/sda/device/rescan  # 替换 sda 为你的磁盘,  或直接重启系统

  • sda size 已经扩展到1.2T

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ─root@doris-be1 ~
    ╰─# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
    sda 8:0 0 1.2T 0 disk
    ├─sda1 8:1 0 600M 0 part /boot/efi
    ├─sda2 8:2 0 1G 0 part /boot
    └─sda3 8:3 0 498.4G 0 part
    ├─rl-root 253:0 0 150G 0 lvm /
    ├─rl-swap 253:1 0 16G 0 lvm
    └─rl-data 253:2 0 332.4G 0 lvm /data
    sr0 11:0 1 10.2G 0 rom

修复 GPT/MBR 不一致

调整分区结束扇区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
╭─root@doris-be1 ~
╰─# parted /dev/sda
GNU Parted 3.5
使用 /dev/sda
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) print
警告: 并非所有可用于 /dev/sda 的空间都被用到了,您可以修正 GPT 以使用所有的空间 (额外的 1468006400 个区块),还是说要继续使用目前的设置?
修正/Fix/忽略/Ignore? Fix
型号:VMware Virtual disk (scsi)
磁盘 /dev/sda:1288GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号 起始点 结束点 大小 文件系统 名称 标志
1 1049kB 630MB 629MB fat32 EFI System Partition 启动, esp
2 630MB 1704MB 1074MB xfs
3 1704MB 537GB 535GB lvm

(parted) resizepart 3 # 根据你自己的编号
结束点? [537GB]? 1288GB # 根据你自己的磁盘
(parted) quit
信息: 你可能需要 /etc/fstab。

更新 LVM 物理卷

本系统使用了 LVM管理, 需更新 LVM 物理卷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
╭─root@doris-be1 ~
╰─# pvdisplay /dev/sda3
--- Physical volume ---
PV Name /dev/sda3
VG Name rl
PV Size 498.41 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 127593
Free PE 0
Allocated PE 127593
PV UUID OAXpuF-e0ON-fRNL-lk2K-0t8l-Wka1-NIsI93

╭─root@doris-be1 ~
╰─# pvresize /dev/sda3
Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
╭─root@doris-be1 ~
╰─# pvdisplay /dev/sda3
--- Physical volume ---
PV Name /dev/sda3
VG Name rl
PV Size <1.17 TiB / not usable 2.52 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 306676
Free PE 179083
Allocated PE 127593
PV UUID OAXpuF-e0ON-fRNL-lk2K-0t8l-Wka1-NIsI93

扩展 LV 和文件系统

  • 查看所有卷组VG

    1
    2
    3
    4
    ╭─root@doris-be1 ~
    ╰─# vgs
    VG #PV #LV #SN Attr VSize VFree
    rl 1 3 0 wz--n- 498.41g 4.00m
  • 查看所有逻辑卷(LV)

    1
    2
    3
    4
    5
    6
    7
    ╭─root@doris-be1 ~
    ╰─# lvs
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
    data rl -wi-ao---- 332.41g
    root rl -wi-ao---- 150.00g
    swap rl -wi-a----- 16.00g

  • 扩展逻辑卷(LV)
    扩展 LV命令为 lvextend -l +100%FREE /dev/VG_root/LV_root , VG_root 为上述 vgs 查看; LV_root 为上述 lgs 查看, 本机扩展的是 data卷;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ╭─root@doris-be1 ~
    ╰─# lvextend -l +100%FREE /dev/rl/data
    Size of logical volume rl/data changed from 332.41 GiB (85097 extents) to <1.01 TiB (264180 extents).
    Logical volume rl/data successfully resized.

    # data 卷已扩容
    ╭─root@doris-be1 ~
    ╰─# lvs
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
    data rl -wi-ao---- <1.01t
    root rl -wi-ao---- 150.00g
    swap rl -wi-a----- 16.00g
  • 扩展文件系统
    xfs_growfs /data # XFS 文件系统
    resize2fs /dev/rl/data # ext4 文件系统

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ╭─root@doris-be1 ~
    ╰─# xfs_growfs /data
    meta-data=/dev/mapper/rl-data isize=512 agcount=4, agsize=21784576 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=1 finobt=1, sparse=1, rmapbt=0
    = reflink=1 bigtime=1 inobtcount=1 nrext64=0
    data = bsize=4096 blocks=87138304, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    log =internal log bsize=4096 blocks=42548, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0
    data blocks changed from 87138304 to 270520320

校验

1
2
3
4
5
6
7
8
9
10
─root@doris-be1 ~
╰─# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 4.7G 9.3M 4.7G 1% /run
/dev/mapper/rl-root 150G 6.7G 144G 5% /
/dev/sda2 960M 296M 665M 31% /boot
/dev/mapper/rl-data 1.1T 15G 1018G 2% /data