LVM磁盘扩容
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-pUzhcsvg状态
[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% /dataswift-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