目录
一、LVM基本概念
二、LVM的优势
三、LVM命令
四、LVM配置实例
1、创建逻辑卷
2、格式化逻辑卷
3、挂载逻辑卷
4、扩展逻辑卷
5、缩减逻辑卷
逻辑卷管理器是Linux核心所提供的逻辑卷管理功能。它在硬盘的硬盘分区之上,又建立一个逻辑层,使得磁盘管理更灵活,支持在线调整存储大小、快照等功能。
一、LVM基本概念
- 物理卷(PV,Physical Volume) :物理磁盘或分区转换为 LVM 可用的物理卷。
- 卷组(VG,Volume Group) :由多个物理卷(PV)组成的存储池,可动态扩展或缩小。
- 逻辑卷(LV,Logical Volume) :从卷组中划分出来的逻辑存储单元,类似于传统分区,可以格式化文件系统、挂载、扩展或缩小。
- 物理扩展(PE,Physical Extend):物理卷和逻辑卷的最小存储单元,默认大小为 4MB。
二、LVM的优势
- 动态管理存储空间:在不影响数据的情况下扩展或缩小逻辑卷。
- 跨多块磁盘管理:把多个物理磁盘合并为一个逻辑存储池。
- 快照功能:可创建快照,用于备份或数据恢复。
- 精细分配存储:按需分配存储空间,提高磁盘使用率。
三、LVM命令
功能 | pv(物理卷) | vg(卷组) | lv(逻辑卷) |
---|---|---|---|
scan(扫描) | pvscan | vgscan | lvscan |
create(建立) | pvcreate | vgcreate | lvcreate |
display(显示) | pvdisplay | vgdisplay | lvdisplay |
remove(删除) | pvremove | vgremove | lvremove |
extend(扩展) | vgextend | lvextend | |
reduce(减少) | vgreduce | lvreduce |
- lvcreate(创建逻辑卷设备)
-L | 设置逻辑卷的大小(容量值) | -n | 设置新的逻辑卷名 |
- lvextend(扩展逻辑卷设备)
-f | 强制扩展设备而不询问 | -n | 扩展前不进行文件系统检查 |
-L | 设置逻辑卷的大小(容量值) |
四、LVM配置实例
1、创建逻辑卷
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc //初始化物理卷(可省略)Physical volume "/dev/sdb" successfully created.Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# vgcreate vg01 /dev/sdb /dev/sdc //创建卷组Volume group "vg01" successfully created
[root@localhost ~]# lvcreate -L 15G -n lv01 vg01 //创建逻辑卷Logical volume "lv01" created.
2、格式化逻辑卷
[root@localhost ~]# mkfs.ext4 /dev/vg01/lv01 //格式化逻辑卷
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
983040 inodes, 3932160 blocks
196608 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
120 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# lsblk -f //查看逻辑卷
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 408aa7b5-46ec-469a-bb6b-17ecd49df744 /boot
└─sda2 LVM2_mem FBZnap-eigW-iJh0-qt6t-y1Nf-UPjp-Eq4jeX ├─centos-rootxfs 9a6db0fd-afd2-4113-a23d-4ac0af78647e /└─centos-swapswap 0b8293cd-330b-40b0-a139-9acf6c1dcdc9 [SWAP]
sdb LVM2_mem MV7d0u-VBFd-npEO-bg7V-q9aC-dg30-duO678
└─vg01-lv01 ext4 c7a7d02f-ad38-4a20-9dd5-582daec03795
sdc LVM2_mem eELvUF-h9Kg-SOwf-rzb0-QXPO-e5g0-ErxFb1
sr0 iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00 /run/media/
3、挂载逻辑卷
[root@localhost ~]# mkdir /mnt/my_lv
[root@localhost ~]# mount /dev/vg01/lv01 /mnt/my_lv
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 14G 0 part ├─centos-root 253:0 0 10G 0 lvm /└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─vg01-lv01 253:2 0 15G 0 lvm /mnt/my_lv
sdc 8:32 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
4、扩展逻辑卷
[root@localhost ~]# lvextend -L +15G /dev/vg01/lv01 //扩展逻辑卷大小Size of logical volume vg01/lv01 changed from 15.00 GiB (3840 extents) to 30.00 GiB (7680 extents).Logical volume vg01/lv01 successfully resized.
[root@localhost ~]# resize2fs /dev/vg01/lv01 //同步文件系统
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg01/lv01 is mounted on /mnt/my_lv; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/vg01/lv01 is now 7864320 blocks long.[root@localhost ~]# lvdisplay /dev/vg01/lv01 //查看扩容结果--- Logical volume ---LV Path /dev/vg01/lv01LV Name lv01VG Name vg01LV UUID XKe6sQ-tRuE-qFFd-zT5r-t0ZM-VTVX-jqKfuaLV Write Access read/writeLV Creation host, time localhost.localdomain, 2025-02-07 19:32:36 +0800LV Status available# open 1LV Size 30.00 GiB //扩容完成Current LE 7680Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:2
5、缩减逻辑卷
ext4可以缩减大小,xfs无法缩减大小。
[root@localhost ~]# resize2fs /dev/vg01/lv01 5G //缩减文件系统大小至5G
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg01/lv01 is mounted on /mnt/my_lv; on-line resizing required
resize2fs: On-line shrinking not supported
[root@localhost ~]# lvreduce -L 5G /dev/vg01/lv01 //缩减逻辑卷大小至5GWARNING: Reducing active and open logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg01/lv01? [y/n]: ySize of logical volume vg01/lv01 changed from 30.00 GiB (7680 extents) to 5.00 GiB (1280 extents).Logical volume vg01/lv01 successfully resized.
[root@localhost ~]# lsblk //查看逻辑卷大小
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 14G 0 part ├─centos-root 253:0 0 10G 0 lvm /└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─vg01-lv01 253:2 0 5G 0 lvm /mnt/my_lv //缩减至5G
sdc 8:32 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64