LVM(Logical Volume Manager)逻辑卷管理器,是Linux核心所提供的逻辑卷管理(Logical volume management)功能。它在硬盘的硬盘分区之上,又建立一个逻辑层,以方便系统管理硬盘分割系统。

LVM基本术语:

  • PV:物理卷,PV处于LVM系统最低层,它可以是整个硬盘,或者与磁盘分区具有相同功能的设备(如RAID),但和基本的物理存储介质相比较,多了与LVM相关管理参数
  • VG:卷组,建立在PV之上,由一个或多个PV组成,可以在VG上创建一个或多个“LVM分区”(逻辑卷),功能类似非LVM系统的物理硬盘
  • LV:逻辑卷,从VG中分割出的一块空间,创建之后其大小可以伸缩,在LV上可以建立文件系统(如/var,/home)
  • PE:物理区域,每一个PV被划分为基本单元(也被称为PE),具有唯一编号的PE是可以被LVM寻址的最小存储单元,默认为4MB

下面提供了三种不同情况下调整LVM分区大小的案例:

一.磁盘扩容后 扩容LVM分区

二.新增磁盘扩容LVM分区

三.LVM分区调整大小 LV扩容|缩容

一.磁盘扩容后 扩容LVM分区

参考:扩容云硬盘扩展逻辑卷的容量

云主机,磁盘 lvm 分区 挂载,底层磁盘扩容后,扩容lvm

底层磁盘扩容前

[swift@XXX-001 ~]$ lsblk
NAME      MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda       253:0    0  50G  0 disk
└─vda1    253:1    0  50G  0 part /
vdb       253:16   0  20G  0 disk
└─vg0-lv0 252:0    0  20G  0 lvm  /data

扩容后

[root@XXX-001 swift]# lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda       253:0    0   50G  0 disk
└─vda1    253:1    0   50G  0 part /
vdb       253:16   0  100G  0 disk
└─vg0-lv0 252:0    0   20G  0 lvm  /data

通过fdisk查看硬盘分区

[root@XXX-001 swift]# fdisk -l

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000af5dd

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   104857566    52427759+  83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/vg0-lv0: 21.5 GB, 21470642176 bytes, 41934848 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

需求,将磁盘中扩容的空间 刷新到pv中,扩容lv0

查看pv状态

[root@XXX-001 swift]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/vdb
  VG Name               vg0
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               0
  Allocated PE          5119
  PV UUID               sqkexH-sswm-aRQK-ZqmN-FFN9-iHKR-pUzhcs

vg状态

[root@XXX-001 swift]# vgdisplay
  --- Volume group ---
  VG Name               vg0
  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               <20.00 GiB
  PE Size               4.00 MiB
  Total PE              5119
  Alloc PE / Size       5119 / <20.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               sJO2vX-0H83-bMYE-BBPi-JrWg-3i1Y-L173t3

lv状态

[root@XXX-001 swift]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                EBY0Uc-D2zN-vNeu-Mw5X-HRzL-fPDf-hWJu6m
  LV Write Access        read/write
  LV Creation host, time XXX-001, 2021-07-14 10:34:29 +0800
  LV Status              available
  # open                 1
  LV Size                <20.00 GiB
  Current LE             5119
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:0

扩容

调整物理卷PV的大小

# 扩容该云硬盘对应的物理卷
# pvresize -v 磁盘设备名

[root@XXX-001 swift]# pvresize -v /dev/vdb
    Archiving volume group "vg0" metadata (seqno 2).
    Resizing volume "/dev/vdb" to 209715200 sectors.
    Resizing physical volume /dev/vdb from 5119 to 25599 extents.
    Updating physical volume "/dev/vdb"
    Creating volume group backup "/etc/lvm/backup/vg0" (seqno 3).
  Physical volume "/dev/vdb" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

查看扩容后的物理卷

[root@XXX-001 swift]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/vdb
  VG Name               vg0
  PV Size               <100.00 GiB / not usable 3.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25599
  Free PE               20480
  Allocated PE          5119
  PV UUID               sqkexH-sswm-aRQK-ZqmN-FFN9-iHKR-pUzhcs

查看卷组VG

[root@XXX-001 swift]# vgdisplay
  --- Volume group ---
  VG Name               vg0
  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               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       5119 / <20.00 GiB
  Free  PE / Size       20480 / 80.00 GiB
  VG UUID               sJO2vX-0H83-bMYE-BBPi-JrWg-3i1Y-L173t3

对现有分区进行扩容,执行如下命令,扩容对应逻辑卷

lvextend -l +100%FREE 逻辑卷路径

[root@XXX-001 swift]# lvextend -l +100%FREE /dev/vg0/lv0
  Size of logical volume vg0/lv0 changed from <20.00 GiB (5119 extents) to <100.00 GiB (25599 extents).
  Logical volume vg0/lv0 successfully resized.

查看扩容后的逻辑卷

[root@XXX-001 swift]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                EBY0Uc-D2zN-vNeu-Mw5X-HRzL-fPDf-hWJu6m
  LV Write Access        read/write
  LV Creation host, time XXX-001, 2021-07-14 10:34:29 +0800
  LV Status              available
  # open                 1
  LV Size                <100.00 GiB
  Current LE             25599
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:0

查看磁盘分区

[root@XXX-001 swift]# lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda       253:0    0   50G  0 disk
└─vda1    253:1    0   50G  0 part /
vdb       253:16   0  100G  0 disk
└─vg0-lv0 252:0    0  100G  0 lvm  /data

查看文件系统大小

[root@XXX-001 swift]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             7.8G     0  7.8G   0% /dev
tmpfs                7.8G  8.0K  7.8G   1% /dev/shm
tmpfs                7.8G  810M  7.0G  11% /run
tmpfs                7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/vda1             50G   25G   23G  53% /
tmpfs                1.6G     0  1.6G   0% /run/user/1000
overlay               50G   25G   23G  53% /var/lib/docker/overlay2/a157013804f3d46da740a017d6a6e51b158e328922dae368c2a7fe5b783e4cf5/merged
overlay               50G   25G   23G  53% /var/lib/docker/overlay2/2e945454c2425384a4237ba04b5dd3a65180566e2e8c35e1b73d8371b176aeb8/merged
overlay               50G   25G   23G  53% /var/lib/docker/overlay2/5a40487a598439a395f10cf086835a1171d8c16132b3b8d9b8b79652740f0ac9/merged
/dev/mapper/vg0-lv0   20G   16G  3.0G  85% /data
overlay               50G   25G   23G  53% /var/lib/docker/overlay2/f86245fccf9e55c07b799beb1bb96e0ce0c727fbe0a32cdc17f3990946d743f7/merged
tmpfs                1.6G     0  1.6G   0% /run/user/1001
tmpfs                1.6G     0  1.6G   0% /run/user/501

刷新文件系统大小

# 执行如下命令,扩展磁盘分区文件系统的大小。
# resize2fs 逻辑卷路径
# 注意: resize2fs 针对ext4文件系统类型

[root@XXX-001 swift]# resize2fs /dev/vg0/lv0
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg0/lv0 is mounted on /data; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 13
The filesystem on /dev/vg0/lv0 is now 26213376 blocks long.

完成扩容

二.新增磁盘扩容LVM分区

将sdd磁盘添加到root

查看磁盘

root@XXX-001:~# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   200G  0 disk
├─sda1                         8:1    0   243M  0 part /boot
├─sda2                         8:2    0     1K  0 part
├─sda3                         8:3    0   100G  0 part
│ └─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
└─sda5                         8:5    0  99.8G  0 part
  ├─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
  └─ubuntu--vg-swap_1 (dm-1) 252:1    0  1020M  0 lvm  [SWAP]
sdb                            8:16   0   100G  0 disk
└─ubuntu--vg-root (dm-0)     252:0    0 498.8G  0 lvm  /
sdc                            8:32   0   200G  0 disk
└─sdc1                         8:33   0   200G  0 part
  └─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
sdd                            8:48   0   300G  0 disk
sr0                           11:0    1  1024M  0 rom

磁盘分区

root@XXX-001:~# fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x5eba37eb.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-629145599, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599):
Using default value 629145599

Command (m for help): p

Disk /dev/sdd: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders, total 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5eba37eb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048   629145599   314571776   83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdd: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders, total 629145600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5eba37eb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048   629145599   314571776   8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

再次查看磁盘

root@XXX-001:~# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   200G  0 disk
├─sda1                         8:1    0   243M  0 part /boot
├─sda2                         8:2    0     1K  0 part
├─sda3                         8:3    0   100G  0 part
│ └─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
└─sda5                         8:5    0  99.8G  0 part
  ├─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
  └─ubuntu--vg-swap_1 (dm-1) 252:1    0  1020M  0 lvm  [SWAP]
sdb                            8:16   0   100G  0 disk
└─ubuntu--vg-root (dm-0)     252:0    0 498.8G  0 lvm  /
sdc                            8:32   0   200G  0 disk
└─sdc1                         8:33   0   200G  0 part
  └─ubuntu--vg-root (dm-0)   252:0    0 498.8G  0 lvm  /
sdd                            8:48   0   300G  0 disk
└─sdd1                         8:49   0   300G  0 part
sr0                           11:0    1  1024M  0 rom

创建物理卷PV

root@XXX-001:~# pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created

查看卷组

root@XXX-001:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  12
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               499.75 GiB
  PE Size               4.00 MiB
  Total PE              127935
  Alloc PE / Size       127935 / 499.75 GiB
  Free  PE / Size       0 / 0
  VG UUID               Cm4sNB-bNvk-u3Yy-7H3q-uLD5-1ekW-qT6GVq

将pv添加到vg中

root@XXX-001:~# vgextend ubuntu-vg /dev/sdd1
  Volume group "ubuntu-vg" successfully extended

再次查看vg卷组

root@XXX-001:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID
  Format                lvm2
  Metadata Areas        5
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                5
  Act PV                5
  VG Size               799.74 GiB
  PE Size               4.00 MiB
  Total PE              204734
  Alloc PE / Size       127935 / 499.75 GiB
  Free  PE / Size       76799 / 300.00 GiB
  VG UUID               Cm4sNB-bNvk-u3Yy-7H3q-uLD5-1ekW-qT6GVq

查看逻辑卷

root@XXX-001:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/root
  LV Name                root
  VG Name                ubuntu-vg
  LV UUID                maiH0J-RjQW-DE5g-qZx4-Jmym-zvf0-mvRTqR
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2018-05-16 18:54:42 +0800
  LV Status              available
  # open                 1
  LV Size                498.75 GiB
  Current LE             127680
  Segments               5
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/swap_1
  LV Name                swap_1
  VG Name                ubuntu-vg
  LV UUID                k7ZFDh-vmpV-pBm6-VeX7-BY21-pRbj-vP9H6C
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2018-05-16 18:54:42 +0800
  LV Status              available
  # open                 2
  LV Size                1020.00 MiB
  Current LE             255
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

扩容逻辑卷

root@XXX-001:~# lvextend -l +100%FREE /dev/ubuntu-vg/root
  Extending logical volume root to 798.75 GiB
  Logical volume root successfully resized

此时查看硬盘

root@XXX-001:~# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   200G  0 disk
├─sda1                         8:1    0   243M  0 part /boot
├─sda2                         8:2    0     1K  0 part
├─sda3                         8:3    0   100G  0 part
│ └─ubuntu--vg-root (dm-0)   252:0    0 798.8G  0 lvm  /
└─sda5                         8:5    0  99.8G  0 part
  ├─ubuntu--vg-root (dm-0)   252:0    0 798.8G  0 lvm  /
  └─ubuntu--vg-swap_1 (dm-1) 252:1    0  1020M  0 lvm  [SWAP]
sdb                            8:16   0   100G  0 disk
└─ubuntu--vg-root (dm-0)     252:0    0 798.8G  0 lvm  /
sdc                            8:32   0   200G  0 disk
└─sdc1                         8:33   0   200G  0 part
  └─ubuntu--vg-root (dm-0)   252:0    0 798.8G  0 lvm  /
sdd                            8:48   0   300G  0 disk
└─sdd1                         8:49   0   300G  0 part
  └─ubuntu--vg-root (dm-0)   252:0    0 798.8G  0 lvm  /
sr0                           11:0    1  1024M  0 rom

查看文件系统

root@XXX-001:~# df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                         3.9G  4.0K  3.9G   1% /dev
tmpfs                        797M  3.3M  794M   1% /run
/dev/mapper/ubuntu--vg-root  491G  399G   72G  85% /
none                         4.0K     0  4.0K   0% /sys/fs/cgroup
none                         5.0M     0  5.0M   0% /run/lock
none                         3.9G   12K  3.9G   1% /run/shm
none                         100M     0  100M   0% /run/user
/dev/sda1                    236M   39M  185M  18% /boot
overlay                      491G  399G   72G  85% /var/lib/docker/overlay2/ab25d37545b9a18cc8cd34db89d22c9a0a3a6435ff071be19ff7c3ea3ad5f75f/merged
shm                           64M     0   64M   0% /var/lib/docker/containers/6fb79d665db324451a9efa0bb65b64a3b2b7ceaea0cce9c5251ee8c833c4ffad/mounts/shm

扩展文件系统大小

注意: resize2fs 针对ext4文件系统类型

root@XXX-001:~# resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 50
The filesystem on /dev/ubuntu-vg/root is now 209386496 blocks long.

再次查看文件系统大小,已经刷新

root@XXX-001:~# df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                         3.9G  4.0K  3.9G   1% /dev
tmpfs                        797M  3.3M  794M   1% /run
/dev/mapper/ubuntu--vg-root  787G  399G  355G  53% /
none                         4.0K     0  4.0K   0% /sys/fs/cgroup
none                         5.0M     0  5.0M   0% /run/lock
none                         3.9G   12K  3.9G   1% /run/shm
none                         100M     0  100M   0% /run/user
/dev/sda1                    236M   39M  185M  18% /boot
overlay                      787G  399G  355G  53% /var/lib/docker/overlay2/ab25d37545b9a18cc8cd34db89d22c9a0a3a6435ff071be19ff7c3ea3ad5f75f/merged
shm                           64M     0   64M   0% /var/lib/docker/containers/6fb79d665db324451a9efa0bb65b64a3b2b7ceaea0cce9c5251ee8c833c4ffad/mounts/shm

完成

三.LVM分区调整大小 LV扩容|缩容

逻辑卷 lv 一个调小,一个调大

查看挂载

swift@XXX-001:/opt$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          16G     0   16G   0% /dev
tmpfs                        3.2G  331M  2.9G  11% /run
/dev/mapper/ubuntu--vg-root   97G   49G   44G  53% /
tmpfs                         16G     0   16G   0% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                         16G     0   16G   0% /sys/fs/cgroup
/dev/mapper/swift-opt         99G   83G   11G  89% /opt
/dev/mapper/swift-data       394G   71M  374G   1% /data
tmpfs                        3.2G     0  3.2G   0% /run/user/0
tmpfs                        3.2G     0  3.2G   0% /run/user/1001

查看磁盘分区

swift@XXX-001:/opt$ lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                     8:0    0  100G  0 disk
├─sda2                  8:2    0    1K  0 part
└─sda5                  8:5    0 99.3G  0 part
  ├─ubuntu--vg-root   252:0    0 98.3G  0 lvm  /
  └─ubuntu--vg-swap_1 252:1    0  976M  0 lvm  [SWAP]
sdb                     8:16   0  500G  0 disk
└─sdb1                  8:17   0  500G  0 part
  ├─swift-opt         252:2    0  100G  0 lvm  /opt
  └─swift-data        252:3    0  400G  0 lvm  /data
sr0                    11:0    1 1024M  0 rom

注意:

1.风险大有可能造成数据的损坏
2.确保缩减后的空间大小依然能存储原来的所有数据
3.不要在线缩容
4.在缩减之前强制检查文件系统

swift-data 逻辑卷 从 400G -> 300G

卸载文件系统

sudo umount /data

磁盘检查

swift@XXX-001:/$ sudo e2fsck -f /dev/mapper/swift-data
e2fsck 1.42.13 (17-May-2015)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/swift-data: 11/26214400 files (0.0% non-contiguous), 1696024/104856576 blocks

调整文件系统

swift@XXX-001:/$ sudo resize2fs /dev/mapper/swift-data 300G
resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/mapper/swift-data to 78643200 (4k) blocks.
The filesystem on /dev/mapper/swift-data is now 78643200 (4k) blocks long.

lv缩容

swift@XXX-001:/$ sudo lvreduce -L 300G /dev/mapper/swift-data
  WARNING: Reducing active logical volume to 300.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data? [y/n]: y
  Size of logical volume swift/data changed from 400.00 GiB (102399 extents) to 300.00 GiB (76800 extents).
  Logical volume data successfully resized.

警告:将活动逻辑卷减少到300.00 GiB
这可能会破坏您的数据(文件系统等)
你真的想减少数据吗?[y/n]:

查看逻辑卷信息

swift@XXX-001:/$ sudo lvdisplay /dev/swift/data
  --- Logical volume ---
  LV Path                /dev/swift/data
  LV Name                data
  VG Name                swift
  LV UUID                zZsxtX-PR4s-tIEy-y17c-ijoh-Kkze-nORHCr
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-09-27 17:16:56 +0800
  LV Status              available
  # open                 0
  LV Size                300.00 GiB
  Current LE             76800
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:3

查看卷组VG信息

swift@XXX-001:/$ sudo vgdisplay swift
  --- Volume group ---
  VG Name               swift
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               500.00 GiB
  PE Size               4.00 MiB
  Total PE              127999
  Alloc PE / Size       102400 / 400.00 GiB
  Free  PE / Size       25599 / 100.00 GiB
  VG UUID               7MselT-puQw-K7ZZ-OiPD-dnXz-ABQd-jnpDfq

重新挂载

swift@XXX-001:/$ sudo mount -a
swift@XXX-001:/$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          16G     0   16G   0% /dev
tmpfs                        3.2G  331M  2.9G  11% /run
/dev/mapper/ubuntu--vg-root   97G   53G   40G  58% /
tmpfs                         16G     0   16G   0% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                         16G     0   16G   0% /sys/fs/cgroup
/dev/mapper/swift-opt         99G   88G  6.3G  94% /opt
tmpfs                        3.2G     0  3.2G   0% /run/user/0
tmpfs                        3.2G     0  3.2G   0% /run/user/1001
/dev/mapper/swift-data       296G   63M  281G   1% /data

swift-opt 逻辑卷扩容 100G -> 200G

查看卷组,VG中存在100G 可用空间

swift@XXX-001:/$ sudo vgdisplay swift
  --- Volume group ---
  VG Name               swift
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               500.00 GiB
  PE Size               4.00 MiB
  Total PE              127999
  Alloc PE / Size       102400 / 400.00 GiB
  Free  PE / Size       25599 / 100.00 GiB
  VG UUID               7MselT-puQw-K7ZZ-OiPD-dnXz-ABQd-jnpDfq

查看lv逻辑卷信息

swift@XXX-001:/$ sudo lvdisplay /dev/swift/opt
  --- Logical volume ---
  LV Path                /dev/swift/opt
  LV Name                opt
  VG Name                swift
  LV UUID                6PTAcq-SnHJ-LuSI-dtPD-MXbG-HBoM-1yzjFW
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-09-27 17:16:46 +0800
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

扩展逻辑卷,将vg中所有可用空间分配

swift@XXX-001:/$ sudo lvextend -l +100%FREE /dev/swift/opt
  Size of logical volume swift/opt changed from 100.00 GiB (25600 extents) to 200.00 GiB (51199 extents).
  Logical volume opt successfully resized.

查看lv逻辑卷信息,可以看到size变成了 200G

swift@XXX-001:/$ sudo lvdisplay /dev/swift/opt
  --- Logical volume ---
  LV Path                /dev/swift/opt
  LV Name                opt
  VG Name                swift
  LV UUID                6PTAcq-SnHJ-LuSI-dtPD-MXbG-HBoM-1yzjFW
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-09-27 17:16:46 +0800
  LV Status              available
  # open                 1
  LV Size                200.00 GiB
  Current LE             51199
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

调整文件系统大小

swift@XXX-001:/$ sudo resize2fs /dev/swift/opt
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/swift/opt is mounted on /opt; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
The filesystem on /dev/swift/opt is now 52427776 (4k) blocks long.

通过df查看挂载,可以看到opt已经生效

swift@XXX-001:/$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                          16G     0   16G   0% /dev
tmpfs                        3.2G  331M  2.9G  11% /run
/dev/mapper/ubuntu--vg-root   97G   53G   40G  58% /
tmpfs                         16G     0   16G   0% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                         16G     0   16G   0% /sys/fs/cgroup
/dev/mapper/swift-opt        197G   88G  101G  47% /opt
tmpfs                        3.2G     0  3.2G   0% /run/user/0
tmpfs                        3.2G     0  3.2G   0% /run/user/1001
/dev/mapper/swift-data       296G   63M  281G   1% /data

标签: 硬盘, Linux

添加新评论