西数超哥博客
运维经验教程分享

Linux LVM 分区扩展磁盘空间

https://www.ysidc.top/csr/lvm_auto_extend.sh

操作步骤

使用 f disk 创建新分区 (vda3), 重启系统使分区表生效
将新分区初始化为物理卷 (pvcreate)
将其加入现有卷组 (vgextend), 实现卷组空间扩展。
扩展逻辑卷 (lvextend)
扩容文件系统 (resize2fs 或 xfs_growfs)

 

使用 fdisk 在已有 磁盘上创建一个新的主分区 vda3, 并占用磁盘所有剩余空间, 为后续 LVM 扩容做准备。

完成分区操作后, 建议重启系统以使新分区表生效。重启后再继续进行 LVM 的后续操作。

查看逻辑卷与卷组信息

查看系统中的逻辑卷 (LV) 和卷组 (VG) 信息, 便于确认扩容目标。

lvdisplay

记下根目录的逻辑卷名。这里是 root

[root@server ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/rl_server/root
  LV Name                root
  VG Name                rl_server
  LV UUID                oi22tV-mRCx-3HAD-GLQI-HzjU-wH8Z-86Gnl3
  LV Write Access        read/write
  LV Creation host, time server, 2025-09-24 00:01:11 +0800
  LV Status              available
  # open                 1
  LV Size                <3.00 GiB
  Current LE             767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

查看卷组 (VG) 信息

vgdisplay

记下 root 所使用的卷组名, 这里使用的是 rl_server

[root@server ~]# vgdisplay
  --- Volume group ---
  VG Name               rl_server
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  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               <3.00 GiB
  PE Size               4.00 MiB
  Total PE              767
  Alloc PE / Size       767 / <3.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               IqoFnK-lWT3-jLmP-4a0j-iRbS-6sRj-eRRAsr

创建物理卷

将 vda3 分区初始化为 LVM 可用的物理卷。

操作系统
[root@server ~]# pvcreate /dev/vda3
  Physical volume "/dev/vda3" successfully created.

扩展卷组

将新建的物理卷 vda3 加入到目标卷组 rl_server 中, 扩展卷组容量。

[root@server ~]# vgextend rl_server /dev/vda3
  Volume group "rl_server" successfully extended

查看卷组剩余空间

确认卷组扩容后剩余的可用空间。

[root@server ~]# vgdisplay
  --- Volume group ---
  VG Name               rl_server
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               49.49 GiB
  PE Size               4.00 MiB
  Total PE              12670
  Alloc PE / Size       767 / <3.00 GiB
  Free  PE / Size       11903 / <46.50 GiB
  VG UUID               IqoFnK-lWT3-jLmP-4a0j-iRbS-6sRj-eRRAsr

可以看到现在 rl_server 多出了 46.50 GiB 的可使用空间

计算机驱动器和存储设备

此时卷组已拥有全部新空间, 可以选择全部分配给根分区, 也可以预留部分空间用于新建 swap 分区等。

扩展逻辑卷与文件系统

扩展逻辑卷 (LV) 并扩容文件系统, 使新增空间可被操作系统使用。

扩展逻辑卷

将卷组中的空闲空间分配给目标逻辑卷。

# lvextend -L 扩展后逻辑卷该有的大小 /dev/卷组名/逻辑卷名 [-r]

[root@server ~]# lvextend -l +100%FREE /dev/rl_server/root
  Size of logical volume rl_server/root changed from <3.00 GiB (767 extents) to 49.49 GiB (12670 extents).
  Logical volume rl_server/root successfully resized.

扩展文件系统

扩展文件系统以识别并使用逻辑卷新增的空间。

提示: 部分发行版支持在 lvextend 时直接加 -r 参数自动扩容文件系统。

ext4 文件系统

resize2fs -p /dev/rl_server/root

xfs 文件系统

xfs 文件系统, 扩容命令如下:

xfs_growfs /dev/rl_server/root

本镜像使用 xfs 文件系统, 扩容命令如下

Linux 与 Unix
[root@server ~]# xfs_growfs /dev/rl_server/root
meta-data=/dev/mapper/rl_server-root isize=512    agcount=4, agsize=196352 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=785408, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 785408 to 12974080

至此, 系统分区已成功扩容

验证扩容结果

你可以通过 df -h 命令确认根分区已成功扩容。

[root@server ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    4.0M     0  4.0M   0% /dev
tmpfs                       982M     0  982M   0% /dev/shm
tmpfs                       393M  5.4M  388M   2% /run
/dev/mapper/rl_server-root   50G  2.0G   48G   5% /
/dev/vda1                   448M  231M  218M  52% /boot
tmpfs                       197M     0  197M   0% /run/user/0
赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » Linux LVM 分区扩展磁盘空间

登录

找回密码

注册