本文主要介绍了LVM的相关知识
想像一个情况,你在当初规划主机的时候将/home 只给他50G ,等到使用者众多之后导致这个filesystem 不够大, 此时你能怎么作?多数的朋友都是这样:再加一颗新硬碟,然后重新分割、格式化,将/home 的资料完整的复制过来, 然后将原本的partition 卸载重新挂载新的partition 。若是第二次分割却给的容量太多!导致很多磁碟容量被浪费了!你想要将这个partition 缩小时,又该如何作?将上述的流程再搞一遍!有没有更简单的方法呢?有的!LVM!!
(1)概述
LVM全称是Logical Volume Manager,中文名是逻辑卷管理。
LVM的重点在于可以弹性的调整fileSystem的容量,他可以整合多个实体partition在一起,让这些partitions看起来就像是一个磁碟一样!而且,还可以在未来新增或移除其他的实体partition到这个LVM管理的磁碟当中。
(2)相关概念
①PV
PV的全称是Physics Volume。中文名是实体卷轴。实际的partition需要调整系统识别码(system ID)成为8e (LVM的识别码),然后再经过pvcreate的指令将他转成LVM最底层的实体卷轴(PV) ,之后才能够将这些PV加以利用!
②VG
VG的全称是Volume Group。中文名是卷轴组。实际就是多个PV的组合。
③LV
LV的全称是Logical Volume。中文名是逻辑卷轴。最终的VG还会被切成LV,这个LV就是最后可以被格式化使用的类似分割槽的东西了。
(3)实际操作流程
逻辑卷的创建总共分3个阶段,PV–>VG–>LV。
①PV阶段
相关命令:
pvscan:搜寻目前系统里的PV;
pvdisplay [DEVICE]:查看PV的详细信息;
pvcreate DEVICE:创建PV;
pvremove DEVICE:将PV移除。
pvs:查看pv详细信息
这里最后一行显示的是:
#整体PV的量/已经被使用到VG的PV量/剩余的PV量
这里只需按照需要创建PV即可,如图,已经创建了3个PV
②VG阶段
(1)基本命令:
vgcreate VGNAME /dev/sdb5 …:创建VG
-s PE
vgdisplay [VGNAME]:查看VG的详细信息;
vgs:查看vg详细信息。
vgremove:删除vg
(2)缩减VG:
首先确定要移除的PV;
从卷组中将此PV移除
vgreduce VGNAME /path/to/PV
(3)扩展VG:
首先准备好一个PV;
使用vgextend命令即可完成扩展
vgextend VGNAME /path/to/PV
③LV阶段
(1)基本命令:
lvcreate -n LVNAME VGNAME:创建VG
-l:指定PE个数
-L SIZE:指定容量
-s:设定为快照卷
-p:r 限制快照卷为只读访问
lvremove:移除LV;
lvdisplay:查看LV详细信息;
lvextend:为LV增加容量;
lvreduce:为LV减少容量;
lvresize:调整lv容量大小。
如此一来,整个partition也准备好了。接下来,就是针对这个LV来处理。要特别注意的是, VG的名称为vluovg ,但是LV的名称必须使用全名!即/dev/vluovg/vluolv。后续的处理都是这样的。
如果需要调整大小只需使用lvresize调整即可:
(4)扩展或缩减逻辑卷
①扩展:
1. 确定扩展多大
2. 确定当前逻辑卷所在的卷组有足够空闲的空间可用
3. 扩展步骤:
1.物理边界
lvextend -L [+]SIZE /path/to/lv
2.逻辑边界
resize2fs /path/to/device
②缩减:
1.确定缩减为多大。前提是,至少能容纳原有的所有数据
2.缩减步骤:
1.卸载并强行检测文件系统
e2fsck -f
2.逻辑边界
resize2fs /path/to/device SIZE
3.物理边界
lvreduce -L [-]SIZE /path/to/lv
(5)快照卷
快照就是将当时的系统资讯记录下来,未来若有任何资料更动了,则原始资料会被搬移到快照区,没有被更动的区域则由快照区与档案系统共享。在创建lv是加-s选项即可创建快照卷。
这样快照区就创建好了。