LVM介绍及安装使用

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。

    

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

    

 三、创建卷组VG

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

    

四、创建逻辑卷LV

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

    

五、格式化与挂载

  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    //追加到开机挂载

    

 六、逻辑卷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文件系统在线扩容

    

     

 七、卷组VG扩容

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

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

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

    

 八、逻辑卷LV缩小 

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

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

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

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

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

    

九、卷组VG缩小

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

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

    

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

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

    

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

     

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

    

十、删除LVM

    umount /lv1  //卸载挂载点

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

    vgremove vg1  //移除卷组

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

    

      

     


   

lvm创建(新建)
1、添加硬盘sdb,创建主分区。
ls /dev/sd*
fdisk /dev/sdb
设置主分区大小和类型(Linux或者是Linux lvm)
2、创建物理卷pv
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdc1...或者 pvcreate /dev/sdb{1,2,3,4,...}
查看创建好的物理卷pvs、PVdisplay
3、创建卷组vg
vgcreate vg1 /dev/sdb1 /dev/sdb2 ....
vgcreate -s 16M vg2 /dev/sdb3 ... 指定最小PE为16M,默认为4M
查看创建好的卷组vgs、vgdisplay
4、创建逻辑卷lv
lvcreate -n lv1 -L 64M vg1 指定固定大小64M
lvcreate -n lv2 -l 16 vg1 16*4M=64M,16个PE
5、格式化
mkfs.ext4 /dev/vg1/lv1 将LV1格式化成ext4
6、挂载使用
mkdir /lv1
mount /dev/vg1/lv1 /lv1
ceho "/dev/vg1/lv1 /lv1 ext4 defaults 0 0" >> /etc/fstab 开机自动挂载


lvm扩展(扩容、减小、移动、移除)
1、逻辑卷lv扩容
vgs 查看当前LV所在卷组是否有剩余空间
lvextend -L +400M -r /dev/vg1/lv1
若没有-r,没有实时同步文件系统,需要同步
resize2fs /dev/vg1/lv1
2、卷组vg扩容(卷组的扩容相当简单,一般是LVM空间不够时,添加一块新硬盘时使用。)
vgextend vg1 /dev/sdc1
3、逻辑卷lv减小(lvreduce命令使用-L选项减少空间,-r选项减少文件系统空间,实现动态调整(这是ext4文件系统))
lvreduce -L -100M -r /dev/vg1/lv1
如果不使用-r,需要卸载挂载点再使用resize2f调整
resize2fs /dev/vg1/lv1
4、卷组vg减小。(更换旧硬盘)
卷组减小,要查看 物理卷pv是否被占用pvs
通过pvs看到 /dev/sdb1 在vg1卷组,而且pfree <psize,说明 /dev/sdb1 有数据
需要将 /dev/sdb1 数据移动到其他vg1卷组的物理卷上/dev/sdb3
pvmove /dev/sdb1 /dev/sdb3
vgreduce vg1 /dev/sdb1
5、删除lvm
umount /lv1
lvremove /dev/vg1/lv1 移除卷组
pvremove /dev/sdb1 移除物理卷

  


    

 

posted @ 2021-10-21 16:14  SemPre  阅读(3063)  评论(0编辑  收藏  举报