扩展LVM的磁盘大小

扩展LVM的磁盘大小

我有一个 170G 的 LVM (/dev/data/files),当前位于物理卷 (/dev/sdb1) 这是结构,由 lsblk 命令显示

lsblk
sdb                 8:16   0   220G  0 disk
└─sdb1              8:17   0   170G  0 part
  └─files           253:2  0   170G  0 lvm  /mnt/data

我所做的是:

我在物理卷上添加了 50G,正如您在上面看到的 220G,所以现在当我执行命令 fdisk -l /dev/sdb 时,它会显示新添加的大小。

fdisk -l /dev/sdb
Disk /dev/sdb: 236.2 GB, 236223201280 bytes, 461373440 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

我想要做什么:我想将 50G 大小添加到 LVM /mnt/data 目前它只有 170G

lvdisplay -vm /dev/data/files
  --- Logical volume ---
  LV Path                /dev/data/files
  LV Name                data
  VG Name                vgdata
  LV UUID                5abc1M-yBeb-Vzxc-d6mK-yqwe-iyui-glkjL
  LV Write Access        read/write
  LV Creation host, time myvm, 2020-04-09 12:27:06 -0300
  LV Status              available
  LV Size                <170.00 GiB
  Current LE             43519
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Segments ---
  Logical extents 0 to 43518:
    Type                linear
    Physical volume     /dev/sdb1
    Physical extents    0 to 43518

另外,sdb1 上的命令 fdisk:

fdisk -l /dev/sdb1
Disk /dev/sdb1: 182.5 GB, 182535061504 bytes, 356513792 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

那么...我如何扩展卷大小以适应 220G 而不是 170G?这是我的主要目标,但我不知道该怎么做。

预先感谢所有帮助我的人!

编辑:

我在输出下方执行了两个命令:

命令1

lvextend -l +100%FREE /dev/mapper/files
New size (43519 extents) matches existing size (43519 extents)

命令2

resize2fs /dev/mapper/files
The filesystem is already 44563456 blocks long.  Nothing to do!

命令3检查它是否有效

lvs
files vgfiles -wi-ao---- <170.00g

尺寸还是一样。

答案1

您正在寻找的命令是lvextend& thenresize2fs

 lvextend -L somesize  /dev/mapper/LV_NAME

然后使新空间处于活动状态/可供使用

resize2fs /dev/mapper/LV_NAME

如果您确定要使用 100% 的 sdb

lvextend -l +100%FREE  /dev/mapper/LV_name

您可以从 lvs 命令获取 LV_name 或使用 UUID(调整命令参数)

真实情况示例:

:~# lvs
  LV         VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  LV_example example   -wi-a-----  <2,93g                                                    
  lvar2      zaphod-vg -wi-ao---- <14,00g                                                    
  opt        zaphod-vg -wi-ao----   8,00g                                                    
  slash      zaphod-vg -wi-ao----  80,00g                                                    
  srv        zaphod-vg -wi-ao----   4,00g                                                    
  tmp        zaphod-vg -wi-ao----   4,00g                                                    
  usr        zaphod-vg -wi-ao---- 128,00g                                                    
:~# pvcreate /dev/sdh1
  Physical volume "/dev/sdh1" successfully created.
:~# vgs
  VG        #PV #LV #SN Attr   VSize    VFree  
  example     1   1   0 wz--n-    3,73g 820,00m
  zaphod-vg   1   6   0 wz--n- <238,00g      0 
root@zaphod:~# vgextend vg /dev/sdh1 
  Volume group "vg" not found
  Cannot process volume group vg
:~# vgextend example /dev/sdh1 ## the step you didn't do I think
  Volume group "example" successfully extended
:~# vgs
  VG        #PV #LV #SN Attr   VSize    VFree
  example     2   1   0 wz--n-    7,46g 4,53g
  zaphod-vg   1   6   0 wz--n- <238,00g    0 

现在 U 盘对于新 4Go 的 VG 来说已经可以了,所以使用lvextend -l 100%Free后将获得新的空间

如果没有 VGextend 步骤,它的大小仍然与使用 100% 可用 VG 大小扩展 LV 相同,当然没有任何效果。

相关内容