本文主要介绍了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详细信息

Linux基础(八)--LVM_快照

Linux基础(八)--LVM_Linux_02

这里最后一行显示的是:

#整体PV的量/已经被使用到VG的PV量/剩余的PV量Linux基础(八)--LVM_Linux_03

Linux基础(八)--LVM_LV_04

这里只需按照需要创建PV即可,如图,已经创建了3个PV


②VG阶段

(1)基本命令:

vgcreate VGNAME /dev/sdb5 ...:创建VG

   -s PE

vgdisplay [VGNAME]:查看VG的详细信息;

vgs:查看vg详细信息。

vgremove:删除vg

Linux基础(八)--LVM_PV_05

Linux基础(八)--LVM_VG_06

Linux基础(八)--LVM_VG_07

Linux基础(八)--LVM_LV_08

(2)缩减VG

首先确定要移除的PV

从卷组中将此PV移除

vgreduce VGNAME /path/to/PV

Linux基础(八)--LVM_PV_09

(3)扩展VG:

首先准备好一个PV;

使用vgextend命令即可完成扩展

vgextend VGNAME /path/to/PV

Linux基础(八)--LVM_快照_10


③LV阶段

(1)基本命令:

lvcreate -n LVNAME VGNAME:创建VG

   -l:指定PE个数

   -L SIZE:指定容量

   -s:设定为快照卷

   -p:r 限制快照卷为只读访问

lvremove:移除LV;

lvdisplay:查看LV详细信息;

lvextend:为LV增加容量;

lvreduce:为LV减少容量;

lvresize:调整lv容量大小。

Linux基础(八)--LVM_VG_11

Linux基础(八)--LVM_PV_12Linux基础(八)--LVM_Linux_13

如此一来,整个partition也准备好了。接下来,就是针对这个LV来处理。要特别注意的是, VG的名称为vluovg ,但是LV的名称必须使用全名!即/dev/vluovg/vluolv。后续的处理都是这样的。

如果需要调整大小只需使用lvresize调整即可:

Linux基础(八)--LVM_Linux_14


(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选项即可创建快照卷。

Linux基础(八)--LVM_Linux_15

Linux基础(八)--LVM_PV_16

这样快照区就创建好了。