LVM特点
传统磁盘管理中,当A盘空间不足时,需要手动将数据迁移到新盘B,再调整路径以继续使用,非常麻烦。如果B盘容量也不足,还需重复这一过程,将数据迁移到C盘。这种方式不仅效率低下,还容易造成系统停机或数据管理混乱。为了解决这一问题,LVM(逻辑卷管理)通过对物理存储进行抽象管理,使磁盘扩容或更换变得灵活高效,无需手动迁移数据即可动态调整存储空间,提升系统运维便捷性
LVM结构图
PV(Physical Volume,物理卷)
类比为:单个书架
物理卷是存储的最基础单元,就像一个个独立的书架,是存储物品(数据)的载体
实际上,PV 是物理硬盘或硬盘分区,被初始化后可以用于 LVM 管理
VG(Volume Group,卷组)
类比为:书架集合
将多个书架(PV)组合在一起形成一个书架区域(VG),就像把多个独立的书架统一起来,形成一个整体的存储池
在 VG 中可以灵活分配空间,提供更大的存储管理自由度
LVM(Logical Volume Manager,逻辑卷管理器)
类比为:书架上的分区
书架区域(VG)可以被划分成多个专用空间(逻辑卷),就像在书架上划分区域,分别用于放置不同种类的书籍(数据)
LVM 提供灵活性,可以调整分区大小(扩展或缩小逻辑卷),甚至动态添加新书架到集合中
- 先有书架(PV):物理存储设备被初始化为 PV
- 创建书架集合(VG):将多个书架组成一个存储池
- 分配书架区域(LVM):从存储池中划分逻辑空间,供操作系统挂载使用
LVM相关术语
物理存储介质(The physical media)
LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用
物理卷(PV,Physical Volume)
物理卷是LVM管理的基本存储单元,通常对应一个硬盘分区或整个硬盘。在创建LVM前,物理卷需要被初始化为LVM可识别的格式。
物理区(PE,Physical Extent)
每个物理卷被划分成多个大小相等的块,称为物理区(PE)。LVM 使用 PE 作为基本的分配单元。当从卷组中创建逻辑卷时,实际分配的是 PE 单元。
卷组(VG,Volume Group)
多个物理卷可以组合成一个卷组。卷组相当于一个大的存储池,存储空间来自各个物理卷中的所有空闲空间。卷组提供了更大的可管理存储范围,可以跨多个物理设备。
逻辑卷(LV,Logical Volume)
逻辑卷是从卷组中分配的存储块,相当于传统分区。系统管理员可以在逻辑卷上创建文件系统,安装操作系统或存储数据。逻辑卷的大小可以动态调整,方便在空间需求变化时进行扩展或缩小
逻辑区(LE,Logical Extent)
逻辑区是逻辑卷中的基本分配单元,每个逻辑区对应一个PE(物理区)。这样确保了逻辑卷与物理卷之间的映射关系
LVM相关命令
命令类别 | PV(物理卷) | VG(卷组) | LV(逻辑卷) |
---|---|---|---|
创建 | pvcreate /dev/sdX | vgcreate VG_NAME /dev/sdX | lvcreate -L SIZE -n LV_NAME VG_NAME |
显示信息 | pvdisplay 或 pvs | vgdisplay 或 vgs | lvdisplay 或 lvs |
扩展 | 不适用 | vgextend VG_NAME /dev/sdY | lvextend -L +SIZE /dev/VG_NAME/LV_NAME |
缩减 | 不适用 | vgreduce VG_NAME /dev/sdY | lvreduce -L -SIZE /dev/VG_NAME/LV_NAME |
删除 | pvremove /dev/sdX | vgremove VG_NAME | lvremove /dev/VG_NAME/LV_NAME |
扫描 | pvscan | vgscan | lvscan |
重命名 | 不适用 | vgrename OLD_NAME NEW_NAME | lvrename VG_NAME OLD_NAME NEW_NAME |
检查状态 | pvs 或 pvdisplay | vgs 或 vgdisplay | lvs 或 lvdisplay |
迁移数据 | pvmove /dev/sdX /dev/sdY | 不适用 | 不直接迁移,通过新 LV 创建完成 |
最小存储单位分类
存储名称 | 最小存储单位 |
---|---|
硬盘 | 扇区(512字节) |
文件系统 | block(1K或4K )例如:mkfs.ext4 -b 2048 /dev/sdb1 ,最大支持到4096 |
raid | chunk (512K) 例如:mdadm -C -v /dev/md5 -l 5 -n 3 -c 512 -x 1 /dev/sde{1,2,3,5} |
LVM | PE (4M) 例如: vgcreate -s 4M vg1 /dev/sdb{1,2} |