如何在Linux上使用LVM擴展根文件系統

歡迎使用有關如何在Linux上使用LVM擴展根文件系統的指南。它涵蓋了XFS文件系統的ext4和根分區擴展。要顯示完整的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的首選空間。例如,添加256MB並將其替換為+ 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