CentOS 7 Linux 在分区调整大小后调整文件系统大小

Pan*_*end 3 linux centos hard-drive partitioning xfs

CentOS 7HyperV虚拟服务器上运行。我最近将硬盘的大小从 32GB 增加到 64GB 并用于GParted Live扩展分区,这似乎如下所示:

64GB硬盘截图

但是,在检查时将 Disk Usage Analyser其报告为 28.4GB:

磁盘使用分析器

在终端中,我运行df -h并显示以下内容:

df -h 在终端

我试过了,xfs_growfs /dev/mapper/centos-root -d但这说data size unchanged, skipping

我对 Linux 非常缺乏经验,在试图找到解决此问题的方法时,大多数屏幕截图df -hshow/dev/sda1/dev/sda2. 这里显示的附加功能是什么(几个 tmpfs 和 devtmpfs)以及如何让系统识别完整的磁盘空间?

Del*_*tik 6

您在卷组内的逻辑卷中有一个文件系统,它包含您现在块设备中的所有物理卷64GiB

你走过的GParted做的是延长了物理卷,填补了块设备卷组自动填充的物理卷,但你并没有扩展逻辑卷

结果,文件系统无法增长,因为逻辑卷没有增长。

修复是一些命令。这个扩展逻辑卷以填充卷组中的其余空间:

lvextend -l 100%VG /dev/mapper/centos-root
Run Code Online (Sandbox Code Playgroud)

这个扩展了文件系统

xfs_growfs /
Run Code Online (Sandbox Code Playgroud)

完整示例

创建一个1GiB块设备,/dev/loop0然后将其扩展为2GiB

root@node54 [/tmp]# truncate -s 1G demo.img
root@node54 [/tmp]# losetup loop0 demo.img
root@node54 [/tmp]# lsblk /dev/loop0 
NAME  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0   7:0    0   1G  0 loop
Run Code Online (Sandbox Code Playgroud)

在块设备上设置 LVM /dev/loop0

root@node54 [/tmp]# pvcreate /dev/loop0
  Physical volume "/dev/loop0" successfully created
root@node54 [/tmp]# pvdisplay /dev/loop0
  "/dev/loop0" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/loop0
  VG Name               
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus
Run Code Online (Sandbox Code Playgroud)

现在,一个卷组:

root@node54 [/tmp]# vgcreate PandyDemo /dev/loop0
  Volume group "PandyDemo" successfully created
root@node54 [/tmp]# vgdisplay PandyDemo 
  --- Volume group ---
  VG Name               PandyDemo
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1020.00 MiB
  PE Size               4.00 MiB
  Total PE              255
  Alloc PE / Size       0 / 0   
  Free  PE / Size       255 / 1020.00 MiB
  VG UUID               ybaz6R-iVnK-a0kZ-Zd39-DwS8-sln1-R9zmfz
Run Code Online (Sandbox Code Playgroud)

现在,一个逻辑卷:

root@node54 [/tmp]# lvcreate -l 255 -n centos-root PandyDemo
  Logical volume "centos-root" created
root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root
  --- Logical volume ---
  LV Path                /dev/PandyDemo/centos-root
  LV Name                centos-root
  VG Name                PandyDemo
  LV UUID                RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU
  LV Write Access        read/write
  LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600
  LV Status              available
  # open                 0
  LV Size                1020.00 MiB
  Current LE             255
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:3
Run Code Online (Sandbox Code Playgroud)

/dev/PandyDemo/centos-root为简洁起见,我跳过了 XFS 文件系统的创建,但如果您愿意,现在可以在那里创建 XFS 文件系统。

现在,关闭卷组和块设备,以便我们可以添加更多磁盘空间:

root@node54 [/tmp]# vgchange -an PandyDemo 
  0 logical volume(s) in volume group "PandyDemo" now active
root@node54 [/tmp]# losetup -d /dev/loop0
root@node54 [/tmp]# truncate -s 2G demo.img
Run Code Online (Sandbox Code Playgroud)

再次设置块设备:

root@node54 [/tmp]# losetup loop0 demo.img
root@node54 [/tmp]# lsblk /dev/loop0 
NAME  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0   7:0    0   2G  0 loop
root@node54 [/tmp]# pvdisplay /dev/loop0 
  --- Physical volume ---
  PV Name               /dev/loop0
  VG Name               PandyDemo
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              255
  Free PE               0
  Allocated PE          255
  PV UUID               0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus
Run Code Online (Sandbox Code Playgroud)

将物理卷扩展到整个块设备,它现在2GiB很大。请注意,卷组也变2GiB大了,但逻辑卷的大小与我们创建时的大小相同:

root@node54 [/tmp]# pvresize /dev/loop0
  Physical volume "/dev/loop0" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
root@node54 [/tmp]# pvdisplay /dev/loop0 
  --- Physical volume ---
  PV Name               /dev/loop0
  VG Name               PandyDemo
  PV Size               2.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              511
  Free PE               256
  Allocated PE          255
  PV UUID               0GC3Hx-pwqk-CsRV-UY8W-U2s0-3YOw-1pUUus
root@node54 [/tmp]# vgdisplay PandyDemo 
  --- Volume group ---
  VG Name               PandyDemo
  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               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               2.00 GiB
  PE Size               4.00 MiB
  Total PE              511
  Alloc PE / Size       255 / 1020.00 MiB
  Free  PE / Size       256 / 1.00 GiB
  VG UUID               ybaz6R-iVnK-a0kZ-Zd39-DwS8-sln1-R9zmfz
root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root
  --- Logical volume ---
  LV Path                /dev/PandyDemo/centos-root
  LV Name                centos-root
  VG Name                PandyDemo
  LV UUID                RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU
  LV Write Access        read/write
  LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600
  LV Status              NOT available
  LV Size                1020.00 MiB
  Current LE             255
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
Run Code Online (Sandbox Code Playgroud)

将逻辑卷扩展为卷组大小的 100%:

root@node54 [/tmp]# lvextend -l 100%VG /dev/PandyDemo/centos-root
  Size of logical volume PandyDemo/centos-root changed from 1020.00 MiB (255 extents) to 2.00 GiB (511 extents).
  Logical volume centos-root successfully resized
root@node54 [/tmp]# lvdisplay /dev/PandyDemo/centos-root 
  --- Logical volume ---
  LV Path                /dev/PandyDemo/centos-root
  LV Name                centos-root
  VG Name                PandyDemo
  LV UUID                RrhorY-JrIH-12Yu-nkEW-MSVb-YCin-o1XKbU
  LV Write Access        read/write
  LV Creation host, time node54.deltik.org, 2016-02-10 02:56:46 -0600
  LV Status              NOT available
  LV Size                2.00 GiB
  Current LE             511
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
Run Code Online (Sandbox Code Playgroud)

此时,您可以使用vgchange -ay PandyDemo和重新激活 LVM lvchange -ay /dev/PandyDemo/centos-root,然后,如果您创建了 XFS 文件系统,则可以在挂载后在线扩展它。


其他资源

如果您不使用 LVM 而只是使用 GPT 或 MSDOS 分区和 XFS,我还有另一篇关于调整 XFS 文件系统大小的详细文章