如何在Linux上使用LVM扩展根文件系统

欢迎使用有关如何在Linux上使用LVM扩展根文件系统的指南。它涵盖了ext4和XFS文件系统的根分区扩展。要显示完整的LVM生命周期,请执行以下操作:

  • 创建LVM物理卷,卷组和逻辑卷。
  • 在逻辑卷上创建XFS和ext4文件系统
  • LVM逻辑卷扩展(根和非根文件系统)

LVM允许您在运行的系统上创建,调整大小或删除分区,而无需重新启动。因此,要在Linux上使用LVM扩展根文件系统,请检查以下步骤。您可以跳过一些不适用于您的步骤。

如果您不使用LVM,请查看以下指南。

如何在没有LVM的情况下调整ext2 / 3/4和XFS根分区的大小

步骤1:检查您要分配的磁盘分区。

在扩展之前,让我们检查磁盘布局/分区方案。

$ lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   30G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   29G  0 part 
  ├─rhel-root 253:0    0 26.9G  0 lvm  /
  └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

如前所述,/ dev / vda2物理卷具有一个根文件系统。

$ sudo pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/vda2  rhel lvm2 a--  <29.00g    0 

步骤2:扩展操作系统根磁盘

根文件系统位于30GB磁盘上,如步骤1所示。将虚拟磁盘(VM磁盘设备)扩展到40GB。

我正在使用KVM虚拟化技术,因此本指南对我有帮助:如何增加/增加KVM虚拟机(VM)磁盘大小

$ lsblk  NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sr0            11:0    1 1024M  0 rom   vda           252:0    0   40G  0 disk  ├─vda1        252:1    0    1G  0 part /boot └─vda2        252:2    0   29G  0 part    ├─rhel-root 253:0    0 26.9G  0 lvm  /   └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

如果使用其他虚拟化平台,请参阅该文档以了解如何扩展OS磁盘。

调整OS块设备的大小后,将SSH插入Linux计算机并扩展LVM以使用新添加的磁盘空间。以下命令扩展最后一个分区(分区2),252:2,磁盘(/ dev / vda)是磁盘可以提供的最大大小。

安装云实用程序

初学者指南 成长,这是一个Linux命令行工具,用于扩展分区表中的分区以填充可用空间。此命令由cloudutils软件包提供。

在Ubuntu / Debian系统上

sudo apt -y install cloud-guest-utils

对于CentOS服务器

sudo yum -y install cloud-utils-growpart

您可以通过以下方式查看帮助页面 -h 论据

# growpart -h
growpart disk partition
   rewrite partition table so that partition takes up all the space it can
   options:
    -h | --help       print Usage and exit
         --fudge F    if part could be resized, but change would be
                      less than 'F' bytes, do not resize (default: 1048576)
    -N | --dry-run    only report what would be done, show new 'sfdisk -d'
    -v | --verbose    increase verbosity / debug
    -u | --update  R update the the kernel partition table info after growing
                      this requires kernel support and 'partx --update'
                      R is one of:
                       - 'auto'  : [default] update partition if possible
                       - 'force' : try despite sanity checks (fail on failure)
                       - 'off'   : do not attempt
                       - 'on'    : fail if sanity checks indicate no support

   Example:
    - growpart /dev/sda 1
      Resize partition 1 on /dev/sd

然后使用growpart扩展分区。

$ sudo growpart /dev/vda 2
CHANGED: partition=2 start=2099200 old: size=18872320 end=20971520 new: size=60815327,end=62914527

这将在/ dev / vda中调整分区2的大小。

验证您的更改。

$ lsblk  NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sr0            11:0    1 1024M  0 rom   vda           252:0    0   40G  0 disk  ├─vda1        252:1    0    1G  0 part /boot └─vda2        252:2    0   39G  0 part    ├─rhel-root 253:0    0 26.9G  0 lvm  /   └─rhel-swap 253:1    0  2.1G  0 lvm  [SWAP]

步骤3:调整根逻辑卷的大小以占据所有空间

调整物理卷的大小。

$ sudo pvresize /dev/vda2  Physical volume "/dev/vda2" changed  1 physical volume(s) resized or updated / 0 physical volume(s) not resized$ sudo pvs  PV         VG   Fmt  Attr PSize   PFree   /dev/vda2  rhel lvm2 a--  <39.00g 10.00g

检查已配置的卷组的大小。

$ sudo vgs   VG   #PV #LV #SN Attr   VSize   VFree    rhel   1   2   0 wz--n- <39.00g 10.00g

然后使用调整大小的卷组调整逻辑卷的根大小

sudo lvextend -l +100%FREE /dev/name-of-volume-group/root

在我的示例中,如下所示:

$ df -hT | grep mapper /dev/mapper/rhel-root xfs        27G  1.9G   26G   8% /$ sudo lvextend -l +100%FREE /dev/mapper/rhel-rootSize of logical volume rhel/root changed from <26.93 GiB (6893 extents) to <36.93 GiB (9453 extents).Logical volume rhel/root successfully resized.

您可以将100%FREE命令替换为MB的首选空间。例如,要添加256 MB,请将其替换为+ 256M。

步骤4:更新文件系统更改

根文件系统仍显示旧大小。

$ df -hT | grep mapper /dev/mapper/rhel-root xfs        27G  1.9G   26G   8% /

让文件系统报告包括扩展名的实际大小。

对于ext4文件系统

sudo resize2fs /dev/name-of-volume-group/root

对于xfs文件系统

$ sudo xfs_growfs / meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=1764608 blks          =                       sectsz=512   attr=2, projid32bit=1          =                       crc=1        finobt=1, sparse=1, rmapbt=0          =                       reflink=1 data     =                       bsize=4096   blocks=7058432, imaxpct=25          =                       sunit=0      swidth=0 blks naming   =version 2              bsize=4096   ascii-ci=0, ftype=1 log      =internal log           bsize=4096   blocks=3446, version=2          =                       sectsz=512   sunit=0 blks, lazy-count=1 realtime =none                   extsz=4096   blocks=0, rtextents=0 data blocks changed from 7058432 to 9679872

结论

您已使用此LVM指南学习了如何基于nfs和ext4扩展根文件系统来扩展根文件系统。我希望这有帮助。感谢您的阅读。

标签:

  • 在Linux上调整根文件系统的大小
  • 调整大小/ Linux和LVM
  • 在Linux上调整LVM根文件系统的大小
  • 在Linux上调整LVM根文件系统大小的简便方法
  • 使用LVM在Linux上扩展根文件系统
  • 在Linux上扩展LVM根文件系统
  • LVM扩展/在Linux上

类似文章:

如何在没有LVM的情况下调整ext2 / 3/4和XFS根分区的大小

如何在AWS上扩展EBS引导磁盘而不重启实例

如何增加/增加KVM虚拟机(VM)的磁盘大小

如何在Windows中使用diskpart命令创建磁盘分区

qemu-img在Linux上的操作

在Linux上理解和使用BtrFS文件系统

在UEFI系统上安装带有LVM的Arch Linux

Sidebar