LVM概述

LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷 物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。

VG(Volumne Group)- 卷组 卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷 逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组,如下图所示:

                    wKiom1lt-BjCSm1KAADpqWxCD0w662.jpg-wh_50

LVM的管理命令

 LVM管理命令主要分为三大类:PV物理卷管理、VG卷组管理、LV逻辑卷管理,对应的命令程序文件分别以"pv"、"vg"、"lv"开头,如下表所示:

功能	  PV管理命令	  VG管理命令	  LV管理命令

scan 扫描 pvscan vgscan lvscan create 创建 pvcreate vgcreate lvcreate display 显示 pvdisplay vgdisplay lvdisplay remove 移除 pvremove vgremove lvremove extend 扩展 vgextend lvextend reduce 减少 vgreduce lvreduce

PV物理卷管理

pvscan命令:用于扫描系统所有物理卷,并输出相关信息

pvcreare命令:用于将分区或整个硬盘转换成物理卷

 例如:把分区 /dev/sdb1、/dev/sdb2 转换成物理卷

  #    pvcreate    /dev/sdb1   /dev/sdb2 

pvdisplay命令:用于显示物理卷的详细信息,需要指定物理卷作为命令参数

   #     pvdisplay    /dev/sdb1

pvremove命令:用于将物理卷还原成普通分区或磁盘,不在属于LVM体系

   #     pvremove     /dev/sdb1

VG卷组管理

vgscan命令:用于扫描系统以建立的LVM卷组及相关信息

vgcreare命令:用于将一个或多个物理卷创建成一个卷组

例如:使用物理卷 /dev/sdb1、/dev/sdb2 创建名为 ysf 的卷组

 #    vgcreate      ysf      /dev/sdb1   /dev/sdb2 

vgdisplay命令:用于显示各卷组的详细信息,需要指定卷组名作为命令参数

   #    vgdisplay    ysf

pvremove命令:用于删除指定的卷组,需要指定卷组名作为命令参数

  #     vgremore    ysf

vgextend命令:用于扩展卷组的磁盘空间

 例如:将物理卷 /dev/sdb3 添加到卷组 ysf 中

 #    vgextend      ysf      /dev/sdb3

LV逻辑卷管理

lvscan命令:用于扫描系统中已建立的逻辑卷及相关信息

lvcreare命令:用于从指定的卷组中分割空间,以创建新的逻辑卷

基本格式:lvcreare    -L   容量大小   -n    逻辑卷名    卷组名

 例如:在卷组 ysf 中建立一个新的逻辑卷,容量为8GB,名称为 yang

#    lvcreate    -L   8G   -n   yang        ysf

lvdisplay命令:用于显示逻辑卷的详细信息,需要指定逻辑卷的设备文件作为命令参数

#     pvdisplay    /dev/ysf/yang 

lvextend命令:用于动态扩展逻辑卷的磁盘空间

    基本格式:lvextend    -L  +容量大小   /dev/ 卷组名 / 逻辑卷名

例如:为 ysf 逻辑卷扩展10GB的磁盘空间,并使用 resize2fs 命令重设大小

lvextend -L +10G /dev/ysf/yang

resize2fs /dev/ysf/yang

lvremove命令:用于删除指定的逻辑卷,需要指定逻辑卷的设备文件作为命令参数

lvremove /dev/ysf/yang

逻辑卷创建之后,使用 mkfs 命令对逻辑卷进行格式化,创建EXT4文件系统,并挂载到 /maibox 目录下

   #    mkfs    -t   ext4   /dev/ysf/yang  

   #    mount     /dev/ysf/yang        /maibox