linux管理-LVM卷管理 4.17

一.LVM原理:

  1.问题:如果你的目录下文件的存储空间不足,如何做呢?首先将目录下的文件拷贝出来,加入新盘,然后利用磁盘的分割、格式化,扩容之后再将文件拷贝回来,扩容之后也有可能空间太大,浪费空间的情况,这样完成这个任务就比较麻烦了,如何灵活的解决这个问题呢,这就用到了下面的知识了。

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

  3.LVM的工作原理:

   在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,,在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作,对磁盘进行动态管理。

linux管理-LVM卷管理 4.17

PV(Physical Volume)-物理卷:  在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(VolumneGroup)-卷组:      卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

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

PE(Physical Extent)-物理块:  LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块。

 linux管理-LVM卷管理 4.17

二.LVM应用实验:

    1. LV创建实验:

       (1)磁盘准备:我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

        (2)工具准备:# rpm -qa | grep lvm (检查系统中是否安装了LVM管理工具)

                            如果未安装,则使用yum 方式安装:# yum install lvm*

        (3)创建pv:      pvcreate /dev/md5  /dev/sdf1  /dev/sdg(分别为自己准备的raid设备、磁盘分区、磁盘)

        linux管理-LVM卷管理 4.17

            查看pv信息:  pvdisplay、pvs、pvscan

        (4)创建VG:    # vgcreatevg0  /dev/md5   /dev/sdf1  /dev/sdg   

                            vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.

           查看VG信息: vgs、vgscan

        (5)创建LV:     # lvcreate -L 5G  -n  lv1  vg0

                           -L 指定创建的LV 的大小

                           -l 指定创建的LV 的PE 数量

                           -n LV的名字上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

          查看LV的信息:lvdisplay

        (6)格式化lv:  # mkfs.ext4    /dev/vg0/lv1

        (7)挂载lv:  #  mkdir   /mnt/lv1(创建空的挂载文件)
                          #  mount  /dev/vg0/lv1   /mnt/lv1/ (将lv1挂载在创建的目录上)

                          #  df–TH(查看一下挂载的情况)

        (8)将文件信息写入配置文件:/etc/fstab(重启时也可以加载相关的配置)

 2.文件完整验证实验:

        (1)准备实验文件:在挂载的目录/mnt/lv1下创建一些文件

        (2)lv扩容实验及验证:

         linux管理-LVM卷管理 4.17

            查看vg0和lv1的容量变化(发生变化)

            linux管理-LVM卷管理 4.17


            文件系统的扩容: #resize2fs   /dev/vg0/lv1

                                       # df–TH 

            查看一下测试文件

           (3)VG的扩容:增加pv数量或者是增加raid的容量

           linux管理-LVM卷管理 4.17

           第二种方法:

           linux管理-LVM卷管理 4.17

           (3) lv缩减实验及验证:

                umount  /mnt/lv1(解除lv1的挂载,需要离线缩减)

                resize2fs  /dev/vg0/lv1  4G (调整文件系统大小)

                ef2fsck -f /dev/vg0/lv1 (检查磁盘)

                resize2fs  /dev/vg0/lv1 4G(再次缩减)

                lvreduce  /dev/vg0/lv1  -L  4G (缩减LV)

                挂载查看,查看数据。