一.LVM概述
1.为什么要用LVM
- LVM是逻辑卷管理系统工具
- 使用传统的分区方法, 分完后大小就固定死了
- 分区过大, 造成空间浪费; 分区过小, 导致空间不够用
- 过小需要从新划分磁盘分区, 或者以软连接的方式将此分区的目录链接到另一个分区
- 这样做可以临时解决问题, 但给管理带来了麻烦
2.什么是LVM
- 逻辑卷管理系统工具
- LVM可以创建和管理逻辑卷, 不是直接使用磁盘
- 可以让管理员弹性的管理逻辑卷的扩大缩小, 操作简单不损坏已有数据
- 可以随意将新磁盘添加到LVM中, 让其扩展已存在的逻辑卷
- LVM不需要重启就可以让内核知道分区的存在
2.LVM名词含义
PV
: 物理卷(physical volume) ,把常规的磁盘设备通过pvcreate命令对其进行初始化, 形成了物理卷 🔔面粉VG
: 卷组(volume group), 把多个物理卷组成一个逻辑的整体, 这样卷组的大小就是多个硬盘之和 🔔面团LV
: 逻辑卷(logical volume) , 从卷组中划分需要的空间大小出来, 用户仅需对其格式化然后即可挂载使用 🔔切成馒头PE
: 基本单元(physical extend), 分配的逻辑大小的最小单元, 默认为4MB的基本块 (假设分配100MB逻辑空间,则需要创建25个PE) 🔔小麦
3.LVM的优缺点
- 优点
1. 可以在系统运行的状态下动态的扩展文件系统的大小
2. 文件系统可以跨多个磁盘, 因此文件系统大小不会受物理磁盘的限制
3. 可以增加新的磁盘到 "LVM" 的储存池中
4. 可以以镜像的方式冗余重要的数据到多个物理磁盘
5. 可以方便的导出整个卷组到另一态机器
- 缺点
1. 因为加入了额外的操作, 存取性能受到影响
2. 当卷组中一个磁盘损坏时, 整个卷组都会受到影响
🔰解释: 因为一个"逻辑卷"可能是由多个不同"物理卷"里的"PE"组成的
🔰解决: 底层使用"RAID"做, 上层使用"LVM", 既有了冗余又有了动态扩容
二.LVM的使用
1.LVM基本使用命令
-
先安装LVM :
yum install lvm2 -y
-
制作PV :
pvcreate [设备名称]
-
查看PV :
pvs
-
制作VG :
vgcreate [vg名] [多个pv路径]
-
查看VG :
vgs
-
制作LV :
lvcreate -L [指定大小] -n [指定lv名字] [指定从哪个vg里分]
-
查看LV :
lvs
-
扩容VG :
vgextend [指定要扩容的vg] [指定要增加的新pv]
-
扩容LV :
lvextend -L [+"指定大小"] -n [指定要增加的那个pv路径]
-
扩展后更新xfs文件系统 :
xfs_growfs [扩容了哪个lv就更新哪个lv]
-
删除PV :
pvremove [要删除的pv]
-
删除VG :
vgremove [要删除的vg名]
-
删除LV :
lvremove [要删除的lv路径]
-
创建LV快照 :
lvcreate -L [指定快照大小] -s -n [快照名字] [需要做快照的那个lv路径]
-
快照合并 :
lvconvert --mergesnapshot [快照名字]
2.制作 PV, VG, LV 演示
- 制作PV
🌞我们可以对一个分区做, 也可以对整个磁盘做, 我这先准备"sdc3, sde"两个设备
[root@shawn ~]#pvcreate /dev/sdc3
[root@shawn ~]#pvcreate /dev/sde
🌞使用"pvs"查看一下制作好的"pv"
[root@shawn ~]#pvs
PV VG Fmt Attr PSize PFree
/dev/sdc3 lvm2 --- 100.00m 100.00m
/dev/sde lvm2 --- 5.00g 5.00g
- 制作VG
🌞将两个"pv"合成一个"vg"
[root@shawn ~]#vgcreate vg1 /dev/sdc3 /dev/sde
Volume group "vg1" successfully created # success代表成功
🌞查看 "vg"
[root@shawn ~]#vgs
VG #PV #LV #SN Attr VS