本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
Logical Volume Manager (LVM) 提供了一种灵活、高效的方式来管理存储资源,使得存储的扩容、缩容和删除变得更加简单。紧接上篇文章LVM的创建,本文将详细介绍如何使用LVM进行这些操作,以帮助企业根据业务需求动态调整存储容量,提高存储资源的利用率。
[root@db1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
backup klas -wi-a----- <31.81g
root klas -wi-ao---- 65.14g
swap klas -wi-ao---- 2.04g
lv01 vg_01 -wi-ao---- 25.00g
逻辑卷lv01使用的是逻辑卷组vg_01
[root@db1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
klas 1 3 0 wz--n- <99.00g 0
vg_01 2 1 0 wz--n- 39.99g 14.99g
vg_01剩余14.99GB
-
指定扩容容量
lvextend -L +2G vg_01/lv01
Size of logical volume vg_01/lv01 changed from 25.00 GiB (6400 extents) to 27.00 GiB (6912 extents).
Logical volume vg_01/lv01 successfully resized.
- 查看扩容情况
[root@db1 ~]# lvdisplay /dev/vg_01/lv01
--- Logical volume ---
LV Path /dev/vg_01/lv01
LV Name lv01
VG Name vg_01
LV UUID 4Z9OQ1-d73H-JTKd-HSHO-E4Zy-Pdi0-nSpQGS
LV Write Access read/write
LV Creation host, time db1, 2024-07-02 05:26:25 +0800
LV Status available
# open 1
LV Size 27.00 GiB
Current LE 6912
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
-
查看PE大小
[root@db1 ~]# vgdisplay vg_01
--- Volume group ---
VG Name vg_01
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 39.99 GiB
PE Size 4.00 MiB -->PE大小为4M
Total PE 10238
Alloc PE / Size 6912 / 27.00 GiB
Free PE / Size 3326 / 12.99 GiB
VG UUID VkDVkl-gkSu-eJoF-qC8R-KQcZ-Ux2B-KsdHBG
-
扩容2G 需要扩容的PE数量:2048/4=512
lvextend -l +512 /dev/vg_01/lv01
[root@db1 ~]# lvdisplay /dev/vg_01/lv01
--- Logical volume ---
LV Path /dev/vg_01/lv01
LV Name lv01
VG Name vg_01
LV UUID 4Z9OQ1-d73H-JTKd-HSHO-E4Zy-Pdi0-nSpQGS
LV Write Access read/write
LV Creation host, time db1, 2024-07-02 05:26:25 +0800
LV Status available
# open 1
LV Size 29.00 GiB -->从27GB扩容到29GB
Current LE 7424
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
-
扩容vg所有容量
[root@db1 ~]# lvextend -l +100%FREE /dev/vg_01/lv01
Size of logical volume vg_01/lv01 changed from 29.00 GiB (7424 extents) to 39.99 GiB (10238 extents).
Logical volume vg_01/lv01 successfully resized.
-
查看扩容情况
[root@db1 ~]# lvdisplay /dev/vg_01/lv01
--- Logical volume ---
LV Path /dev/vg_01/lv01
LV Name lv01
VG Name vg_01
LV UUID 4Z9OQ1-d73H-JTKd-HSHO-E4Zy-Pdi0-nSpQGS
LV Write Access read/write
LV Creation host, time db1, 2024-07-02 05:26:25 +0800
LV Status available
# open 1
LV Size 39.99 GiB -->lv拥有VG所有的容量
Current LE 10238
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3
当前所有的vg容量已经全部分配完,此时lv需要扩容,必须要先扩容vg
[root@db1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
klas 1 3 0 wz--n- <99.00g 0
vg_01 2 1 0 wz--n- 39.99g 0
[root@db1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─vg_01-lv01 253:3 0 40G 0 lvm /data
sdb 8:16 0 20G 0 disk
└─vg_01-lv01 253:3 0 40G 0 lvm /data
sdc 8:32 0 20G 0 disk ==》sdc是新添加的磁盘,大小为20g
sr0 11:0 1 4G 0 rom
nvme0n1 259:0 0 100G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 99G 0 part
├─klas-root 253:0 0 65.1G 0 lvm /
├─klas-swap 253:1 0 2G 0 lvm [SWAP]
└─klas-backup 253:2 0 31.8G 0 lvm
[root@db1 ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
[root@db1 ~]# vgextend vg_01 /dev/sdc
Volume group "vg_01" successfully extended
-
确认vg剩余空间
[root@db1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
klas 1 3 0 wz--n- <99.00g 0
vg_01 3 1 0 wz--n- <59.99g <20.00g
-
添加空间到lv
[root@db1 ~]# lvextend -L +2G vg_01/lv01
Size of logical volume vg_01/lv01 changed from 39.99 GiB (10238 extents) to 41.99 GiB (10750 extents).
Logical volume vg_01/lv01 successfully resized.
-
确认扩容成功
[root@db1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
backup klas -wi-a----- <31.81g
root klas -wi-ao---- 65.14g
swap klas -wi-ao---- 2.04g
lv01 vg_01 -wi-ao---- 41.99g
--查看挂载点
mount -l
或
df -h
--卸载挂载点
umount /data
如果不卸载文件系统,缩容会提示在线缩容不支持:
[root@db1 ~]# resize2fs /dev/vg_01/lv01 5G
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/vg_01/lv01 is mounted on /data; on-line resizing required
resize2fs: On-line shrinking not supported
[root@db1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
backup klas -wi-a----- <31.81g
root klas -wi-ao---- 65.14g
swap klas -wi-ao---- 2.04g
lv01 vg_01 -wi-a----- 39.99g
-
检查逻辑卷
[root@db1 ~]# e2fsck -f /dev/vg_01/lv01
e2fsck 1.45.6 (20-Mar-2020)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
-
缩容lv
[root@db1 ~]# resize2fs /dev/vg_01/lv01 5G
resize2fs 1.45.6 (20-Mar-2020)
Resizing the filesystem on /dev/vg_01/lv01 to (4k) blocks.
The filesystem on /dev/vg_01/lv01 is now (4k) blocks long.
[root@db1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
backup klas -wi-a----- <31.81g
root klas -wi-ao---- 65.14g
swap klas -wi-ao---- 2.04g
lv01 vg_01 -wi-a----- 39.99g
[root@db1 ~]#
[root@db1 ~]# lvreduce -L 5G /dev/vg_01/lv01 5G
Command does not accept argument: 5G.
[root@db1 ~]# lvreduce -L 5G /dev/vg_01/lv01
WARNING: Reducing active logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_01/lv01? [y/n]:
WARNING: Invalid input ''.
Do you really want to reduce vg_01/lv01? [y/n]: y
Size of logical volume vg_01/lv01 changed from 39.99 GiB (10238 extents) to 5.00 GiB (1280 extents).
Logical volume vg_01/lv01 successfully resized.
-
确认缩容成功
[root@db1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
backup klas -wi-a----- <31.81g
root klas -wi-ao---- 65.14g
swap klas -wi-ao---- 2.04g
lv01 vg_01 -wi-a----- 5.00g
[root@db1 ~]#
mount -a
或
mount /dev/vg_01/lv01 /data
df -Th
umount /dev/data
[root@db1 ~]# lvremove /dev/vg_01/lv01
Do you really want to remove active logical volume vg_01/lv01? [y/n]: y
Logical volume "lv01" successfully removed
[root@db1 ~]# vgremove vg_01
Volume group "vg_01" successfully removed
[root@db1 ~]# pvremove /dev/sda /dev/sdb /dev/sdc
Labels on physical volume "/dev/sda" successfully wiped.
Labels on physical volume "/dev/sdb" successfully wiped.
Labels on physical volume "/dev/sdc" successfully wiped.
或
[root@db1 ~]# pvremove /dev/sd{a,b,c}
LVM作为一项成熟且强大的存储管理技术,为企业和个人提供了灵活、高效、可靠的存储解决方案。通过本文的介绍,相信您已经对LVM有了更深入的理解,并掌握了如何在实际环境中管理和优化LVM。随着技术的发展,LVM将继续发挥其在存储领域的核心作用,帮助企业构建更加稳健、可扩展的存储基础设施,以应对未来的挑战。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/14731.html