LVM
LVM(Logical Volume Management)是一种用于管理逻辑卷的技术,它在Linux系统上提供了灵活和可扩展的磁盘存储管理功能。
逻辑卷(LVM):它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。
特点:
·可以将多个磁盘(分区)合并成卷组;
·从卷组中创建逻辑卷LV;
·逻辑卷LV可以被格式化与挂载,与普通分区无异;
·逻辑卷LV可以动态调整大小(扩容、缩容);
名词解释
PV:物理卷,将普通磁盘或分区转换成物理卷(PV),用于创建卷组(VG)。
VG:卷组,由物理卷合并而成的存储空间,用于创建逻辑卷(LV)。
LV:逻辑卷,可以被当作普通分区一样被格式化与挂载。
PE:是可以被LVM寻址的小单元。PE的大小是可配置的,默认为4MB。
LE:在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
生活化理解:
把 LVM 看作一套 “可拼接、可拆分的积木系统”
整个 LVM 就像玩积木,目的是灵活管理存储(比如硬盘空间),让存储能像积木一样自由组合、拆分。
1. PV(物理卷):单个积木块
对应:一块单独的积木(可以是不同尺寸,比如大的、小的、方的、长的)。
作用:是 LVM 的 “原材料”,把普通硬盘或分区(就像没加工的木头)标记为 “LVM 可用”,变成能被 LVM 识别的 “积木块”(PV)。
2. VG(卷组):一堆拼好的大积木
对应:把多个单独的积木块(PV)拼在一起,形成一个整体的 “大积木堆”(大小等于所有 PV 的总和)。
作用:相当于一个 “统一的存储空间池”,后续可以从这个大堆里拆出小块来用。
3. LV(逻辑卷):从大积木堆里拆出的小块
对应:从 “大积木堆”(VG)里拆出来的一小块积木,大小可以按需调整(比如拆一块做 “小车”,再拆一块做 “房子”)。
作用:拆出来的 LV 可以直接当普通硬盘分区用(格式化、存文件),就像把小块积木直接拿来用。
4. PE(物理区域):积木的最小拼接单位
对应:每块积木(PV)上的 “小凸起” 或 “小凹槽”,是拼接的最小单位(比如每个凸起都是 4mm 见方,默认大小 4MB)。
作用:LVM 管理存储时,最小操作的 “颗粒度”,比如移动、分配存储时,都是以 PE 为单位。
5. LE(逻辑区域):和 PE 对应的逻辑单位
对应:从大积木堆(VG)里拆出的小块(LV)上的 “小格子”,每个格子大小和 PE 一样,且一一对应(比如 LV 上的每个小格子,都刚好卡进 PV 上的一个 PE 凸起)。
作用:保证 LV 和 PV 之间的对应关系,让 LVM 知道 “LV 的这部分空间,对应 PV 的哪部分 PE”。
逻辑卷使用流程
真实的物理设备---->物理卷(pv)---->卷组(vg)---->逻辑卷(lv)------>逻辑卷格式化---->挂载使用
常用命令
yum install lvm2
功能/命令 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
扫描 |
pvscan |
vgscan |
lvscan |
建立 |
pvcreate |
vgcreate |
lvcreate |
显示 |
pvdisplay |
vgdisplay |
lvdisplay |
删除 |
pvremove |
vgremove |
lvremove |
扩展 |
vgextend |
lvextend | |
缩小 |
vgreduce |
lvreduce |
创建PV
创建VG
创建LV
扩容
- 卸载LV逻辑卷(可省略) umount /dev/vg1/lv1
- 执行扩容命令 lvextend -L 50G /dev/vg1/lv1
- 检查硬盘的完整性 e2fsck -f /dev/vg1/lv1
- 重置设备在系统中的容量 reszie2fs /dev/vg1/lv1
- 重新挂载 mount /dev/vg1/lv1 /data/LV
如果使用xfs格式的lvm时,使用如下命令
# xfs_repair 是一个用于修复 XFS
xfs_repair -f /dev/vg1/lv1
# xfs_growfs 在线扩展 XFS 文件系统
xfs_growfs /dev/vg1/lv1
缩容
(数据丢失的分险更大)
- 卸载LV逻辑卷 umount /dev/vg1/lv1
- 检查硬盘的完整性 e2fsck -f /dev/vg1/lv1
- 通知系统内核将逻辑卷lv1的容量减小到10G reszie2fs /dev/vg1/lv1 10G
- 执行缩容命令 lvreduce4 -L 10G /dev/vg1/lv1
- 重新挂载 mount /dev/vg1/lv1 /data/LV
小作业:怎么扩容vg
在 Linux 系统中,通常使用 LVM(逻辑卷管理器)来扩容 VG(卷组),以下是具体步骤:
确认可用的空闲磁盘空间:使用pvdisplay命令查看系统中现有的物理卷(PV)情况,确定是否有未分配的 PV 或可增加空间的 PV。也可以使用vgdisplay命令查看当前 VG 的使用情况和剩余空间。
准备新的物理卷(可选):如果没有足够的可用 PV,需要添加新的磁盘。添加新磁盘后,使用pvcreate命令将其初始化为 PV。例如,要将 /dev/sdb 初始化为 PV,可以执行命令:pvcreate /dev/sdb。
扩容 VG:使用vgextend命令将新的 PV 添加到要扩容的 VG 中。命令格式为vgextend <vg_name> <pv_name>,其中<vg_name>是要扩容的卷组名称,<pv_name>是要添加的物理卷名称。例如,要将 /dev/sdb 添加到名为myvg的 VG 中,执行命令:vgextend myvg /dev/sdb。
验证 VG 扩容结果:使用vgdisplay命令查看 VG 的信息,确认其容量是否已经增加。
RAID技术
RAID(冗余阵列独立磁盘)是一种将多个物理磁盘组合在一起以提供数据冗余或性能增强的技术。
RAID 0
·数据条带化,将数据拆分成一份一份的,分别存储在不同的磁盘上
特点:
1.至少需要两块硬盘;
2.读写速度是一块普通硬盘的n倍,n为磁盘数量;
3.安全性差,没有冗余,任何一块硬盘损坏都会导致所有数据全部损坏。
使用场景:对数据安全性要求不高,但对速度要求较高。例如:个人影音娱乐;RAID一时爽,数据火葬场。
RAID 1
·数据镜像化:数据同时会存放在多个硬盘上,实时备份,只要有一个硬盘完整,数据就可保留下来。
特点:
1.至少两块硬盘;
2.能够使用的容量只有1/n;
3.不能增加读写速度;
4.对安全性要求较高的场景:财务数据、数据库、重要客户信息等数据;
5.需要增加一定的成本。
RAID 5
·既要容量增加、读写速度增加、还要保证安全性,同时成本不能太高。
特点:
1.至少三块硬盘;
2.使用奇偶校验技术(Dp、Cp),任意一块硬盘损坏,数据都可以被还原;
3.使用场景:普通数据存储服务器,数据库服务器,可用容量n-1。
RAID 10
·在不考虑成本的前提下,既要读写速度增加、还要保证安全性;RAID 10是RAID 1+0。
特点:
1.至少需要4块硬盘;
2.不同组的两块硬盘哪怕同时损坏可以保证数据不丢失;
3、先按RAID 0分成两组,再分别对两组按RAID 1方式镜像
4、兼顾冗余(提供镜像存储)和性能(数据条带形分布)
5、在实际应用中较为常用
RAID 0、1、5、10方案技术对比
RAID级别 |
最少硬盘 |
可用容量 |
读写性能 |
安全性 |
特点 |
0 |
2 |
n |
n |
低 |
追求最大容量和速度,任何一块盘损坏,数据全部异常。 |
1 |
2 |
n/2 |
n/2 |
高 |
追求最大安全性,只要阵列组中有一块硬盘可用,数据不受影响。 |
5 |
3 |
n-1 |
n-1 |
中 |
在控制成本的前提下,追求硬盘的最大容量、速度及安全性,允许有一块硬盘异常,数据不受影响。 |
10 |
4 |
n/2 |
n/2 |
高 |
综合RAID1和RAID0的优点,追求硬盘的速度和安全性,允许有一半硬盘异常(不可同组),数据不受影响 |