一。LVM介绍

1.LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,可以根据需要调整逻辑卷的大小,实现磁盘空间的动态管理。

2.名称解释:

PV:物理的磁盘分区

VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。

LV:也就是从VG中划分的逻辑分区

三者之间的关系如图所示:

LVM逻辑卷管理_第1张图片


二。LVM的创建

1.LVM创建:创建的总体步骤为 :PV--〉VG--〉LV

1、 创建分区

使用分区工具(如:fdisk等)创建LVM分区,并将LVM的分区调整为为8e。如下列图所示:

1)查看分区

2)使用fdisk创建分区,根据设备文件的绝对路径(/dev/hda)进入分区管理,fdisk /dev/hda命令,按n创建分区并设置大小,按t调整分区格式为8e,最后按w保存分区,如下图所示。

注:一定要指定分区的格式为8e,这是LVM的分区格式,保存分区后要使用partprobe命令使分区表生效而无需重启,切记。


2. 创建PV

使用pvcreate命令:

      pvcreate /dev/hd1 /dev/hd2   #将分区1、分区2加入PV

使用pvdisplay命令,查看已存在的PV



3、 创建VG

    vgcreate VolGroup00 /dev/hd1 /dev/hd2   #将hd1,hd2加入名为VolGroup00 的VG中

使用pvdisplay命令,查看已存在的PV

创建完成VG之后,才能从VG中划分一个LV。

VG的路径:/dev/VolGroup00

4、 创建LV

     lvcreate -L 100M -n lvdata VolGroup00    #从名为VolGroup00 的VG中划分LV,使用-L指定卷大小为100M,-n指定名为lvdata的LV。


5、LV格式化及挂载

下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料

mkfs -t ext3 /dev/VolGroup00/lvdata

将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了

挂载之后,可以看到此LV的容量,这样就完成了一个LV的创建、挂载并使用了。

LV的路径:/dev/VolGroup00/lvData

如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示:

使用Vim编辑器,打开/etc/fstab,在最后一行添加如图中所示,其中/dev/VolGroup00/lvData指定需要挂载的分区LV,/root/test指定要挂载的目录(挂载点),ext3分区文件系统格式,其它使用默认即可

相关命令:

移除卷组:vgremove VG_NAME

移除逻辑卷:lvremove /path/to/lv


三。LVM的动态管理:

1.扩展VG

1)首先准备好一个PV; #要将加入的分区使用pvcreate将分区加入pv中

2)使用vgextend命令完成扩展;

命令格式:vgextend VG_NAME /PATH/TO/PV 

 

2.缩减VG

1)确定要移除的PV;

2)将此PV上的数据转移至其它PV;

     pvmove /path/to/pv  #此命令将要移除的PV的数据自动转移至其他PV,也可指定移动到某个PV :pvmove                       /path/to/pv  /path/to/pv1

3)从卷组中将此PV移除;

      vgreduce VG_NAME /PATH/TO/PV

4)移除PV

      pvremove /PATH/TO/PV


3.扩展LV

首先要确定当前逻辑卷所在的卷组有足够的空闲空间;

扩展:

1)、物理边界

   lvextend -L [+]SIZE /path/to/lv

2)、逻辑边界

   resize2fs /path/to/device


4、缩减LV

确定缩减为多大?前提是:至少能容纳原有的所有数据。

1)、卸载并强行检测文件系统;

   e2fsck -f 

2)、逻辑边界

   resize2fs /path/to/device SIZE

3)、物理边界

   lvreduce -L [-]SIZE /path/to/lv




四。关于快照卷

1.描述:对逻辑卷进行备份,只备份在快照卷生成后指向的卷中的被修改的文件。 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小。

2.快照卷应该是只读的

3.跟原卷在同一卷组内(同属在VG内) 

命令:

lvcreate 

    -s : 快照卷;

    -p r: 限制快照卷为只读访问 #-p为指定权限

    -n:指定快照名称

格式:lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv