LVM简介

  LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是一种磁盘管理工具,最主要的功能就是可以随时在线调整分区的大小,解决了安装Linux系统时需要评估分区大小的烦恼。

LVM相关术语

  物理存储介质(The physical media):LVM存储介质,可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。设备必须初始化为LVM物理卷,才能与LVM结合使用。

  物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质比较却包含与LVM相关的管理参数,创建物理卷可以用硬盘分区,也可以用硬盘本身。

  卷组VG(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,一个卷组VG由一个或多个物理卷PV组成。可以在卷组VG上建立逻辑卷LV。卷组VG可以使多个硬盘空间看起来像是一个大硬盘。

  逻辑卷LV(logical volume):类似于非LVM系统中的硬盘分区,逻辑卷LV建立在卷组VG之上。在逻辑卷LV之上建立文件系统。逻辑卷LV可以创建跨多个硬盘空间的分区。

  物理块PE(physical Extent):物理卷PV中可以分配的最小存储单元,PE的大小可以指定,默认为4MB

  逻辑块LE(Logical Extent):逻辑卷LV中可以分配的最小存储单元,在同一卷组VG中LE的大小和PE是相同的,并且一一相对。

  可以在线对卷组VG、逻辑卷LV进行创建、删除、调整大小等操作。但LVM上的文件系统也需要重新调整大小。

一、LVM常用命令

  安装:apt install lvm2

  1、(pv、vg、lv)scan  扫描

  2、(pv、vg、lv)create  创建

  3、(pv、vg、lv)display  显示详细信息

  4、(pv、vg、lv)remove  移除

  5、(vg、lv)extend 扩展

  6、(vg、lv)reduce  减少

  7、(pvs、vgs、lvs)s是简单查看对应卷信息

二、创建物理卷PV

   1、格式化分区或者硬盘为8e,及Linux LVM格式。

   2、使用pvcreate创建物理卷PV。

    LVM介绍及安装使用_逻辑卷

    3、pvs查看创建好的物理卷。

    LVM介绍及安装使用_文件系统_02

 三、创建卷组VG

    使用vgcreate创建卷组VG,并且此处可以-s选项指定PE(LE)的大小,(默认PE大小4M)。创建完成后使用vgs查看结果。

    LVM介绍及安装使用_存储单元_03

四、创建逻辑卷LV

        使用lvcreate创建LV。lvcreate -n lvname -L lvsize(M,G)|-l LEnumber vgname。(-L分配内存M、G)(-l 按照PE[物理卷基本单元]单元大小4MB分配,4MB*16=64M),所以vg1和vg2是大小相等的。

    LVM介绍及安装使用_存储单元_04

五、格式化与挂载

  1、 mkfs.ext4 /dev/vg1/lv1  //将lv1格式化成ext4

  2、 mkdir /lv1

  3、 mount /dev/vg1/lv1 /lv1  //挂载到/lv1下
  4、 echo "/dev/vg1/lv1 /lv1 ext4 defaults 0 0" >> /etc/fstab    //追加到开机挂载

    LVM介绍及安装使用_逻辑卷_05

 六、逻辑卷LV扩容(动态扩容)

  1、首先需要确认是否有可用的扩容空间,逻辑卷LV是从卷组VG中创建的,所有在逻辑卷LV扩容前需要查看卷组VG的空间使用情况。

     (1)lvextend -L +100M /dev/vg1/lv1  // +100M是增加100M

     (2)lvextend -L 100M /dev/vg1/lv2  //直接使用100M是增加到100M

     (3)resize2fs /dev/vg1/lv1  //ext4文件系统在线扩容

    LVM介绍及安装使用_逻辑卷_06

     LVM介绍及安装使用_文件系统_07

 七、卷组VG扩容

    卷组的扩容相当简单,一般是LVM空间不够时,添加一块新硬盘时使用。

    vgs、pvs 查看当前卷组和物理卷分区信息

    vgextend vg1 /dev/sdb3   扩展卷组vg1,增加lvm分区物理卷  /dev/sdb3

    LVM介绍及安装使用_文件系统_08

 八、逻辑卷LV缩小 

    逻辑卷LV缩小命令lvreduce与扩容命令类似,缩减逻辑卷LV请谨慎操作!   

    lvreduce命令使用-L选项减少空间,-r选项减少文件系统空间,实现动态调整(这是ext4文件系统)

    lvreduce -L 200M -r /dev/vg1/lv1   减少到200M

    如果不使用-r选项,那么需要卸载挂载点再使用resize2fs调整,但这已经不是动态调整了

    xfs文件系统真的只能增大,不能减小。

    LVM介绍及安装使用_硬盘分区_09

九、卷组VG缩小

    卷组VG的缩小,要查看物理卷PV是否被使用,因为无法缩减一个正在使用的物理卷PV

    使用pvs或者pvdisplay查看当前卷组VG所使用的物理卷是否是否存在数据。(/dev/sdb1当前存有数据,/dev/sdb3不存在数据)

    LVM介绍及安装使用_逻辑卷_10

    此时想要将/dev/sdb1移出vg1,可以使用pvmove命令移动数据,但必须有足够的空间。

    pvmove /dev/sdb1 /dev/sdb3  移动数据

    LVM介绍及安装使用_逻辑卷_11

    此時,已经将   /dev/sdb1中数据移动到    /dev/sdb3

     LVM介绍及安装使用_逻辑卷_12

     vgreduce vg1 /dev/sdb1  减小卷组vg1 ,去掉 /dev/sdb1 物理卷

    LVM介绍及安装使用_硬盘分区_13

十、删除LVM

    umount /lv1  //卸载挂载点

    lvremove /dev/vg1/lv1  //移除逻辑卷

    vgremove vg1  //移除卷组

    pvremove /dev/sdb1  //移除物理卷

    LVM介绍及安装使用_硬盘分区_14

      LVM介绍及安装使用_存储单元_15

     LVM介绍及安装使用_硬盘分区_16


 

      

 

人生如行路,一路艰辛,一路风景,你的目光所及,就是你的人生境界。