Linux系统之lvm的应用

来源:互联网 发布:做库存的软件 编辑:程序博客网 时间:2024/06/05 04:46

一、lvm的介绍

        1、lvm:是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

       2、pv:是物理卷(physical volume)的简写,就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数

        3、vg:是卷组(Volume Group)的简写。LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

      4、pe:每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

     5、le:LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

      总结:PV是物理的磁盘分区,而pv必须加入vg,可以将vg理解为一个仓库或者是几个大的硬盘,LV也就是从VG中划分的逻辑分区。

二、lvm的建立

      在执行本次实验前,先执行一个监控命令,以便于在学习过程中可以快速看到效果!!

      

      分别监控生成的pv,vg,lv和设备挂载情况

       

      建立lvm设备时,先建立一个普通分区(在上一篇博客中介绍了分区建立方法),然后再将普通分区的类型改为lvm类型

       fdisk /dev/vdb--->t---->8e---->wq退出保存

        

        

         

         分区建立后,首先创建物理卷:pvcreate /dev/vdb1

       

         然后用建好的物理卷建立物理卷组:vgcreate vg0 /dev/vdb1(中间为卷组名称,可随意命名)

   

       然后在物理卷组中创建逻辑卷:lvcreate -L 100M -n lv0 vg0

       注意:-L表示逻辑卷组的大小;-n表示逻辑卷组的名称(可随意命名)

    

      建立好逻辑卷后,需要对设备进行格式化:mkfs.xfs /dev/vg0/lv0

      

      可以将设备挂载在目录上看是否可以被系统使用

     

三、lvm的拉伸(扩展)

      lvm逻辑卷管可以理相比于其他物理硬盘的好处在于当创建的lvm大小在实际应用中不够用时,可以增加,进行拓展!!

      1、当vg中容量充足时

      扩展命令:lvextend -L 300M /dev/vg0/lv0

      命令中-L表示扩展后的大小

      扩展前:

     

      扩展后:

      

     注意:-L后的大小是扩展后的总大小,不是扩展了多少,所以该值不能比原来的值小,否则会报错!!如下: 

      

      对逻辑卷进行扩展后,需要对设备进行同步扩充:xfs_growfs /dev/vg0/lv0

       

     2、当vg中的 剩余容量不够所要扩充的大小时,就需要先扩展vg,然后再扩充lv

          先建立新的普通分区,转化为lvm类型,方式如上,然后将其创建为新的pv

     

         然后将新建的pv添加至需要扩充的vg中:vgextend vg0 /dev/vdb2

         

       再对逻辑卷进行扩充:lvextend -L 700M /dev/vg0/lv0

        

      然后对设备进行扩充:xfs_growfs /dev/vg0/lv0

      

      在ext文件系统中:

       先将设备转换为ext文件系统:mkfs.ext4 /vg0/lv0

       

       拉伸:lvextend -L 400M /dev/vg0/lv0

       

       文件系统重定义大小:resize2fs /dev/vg0/lv0

        

         缩减:

         对设备:

         对设备缩减前先将挂载中的设备进行卸载。

         扫描 文件设备,如果有重要的数据,需要先将数据备份:e2fsck -f /dev/vg0/lv0

         

         缩减设备大小:resize2fs /dev/vg0/lv0 300M 

     

         

         缩减逻辑卷:lvreduce -L 200M /dev/vg0/lv0

         

        对卷组:

        在移除物理卷前,需要将其中的数据移动到其他pv中 :pvmove /dev/vdb1 /dev/vdb2

        

         把物理卷从物理卷组中移走:vgreduce vg0 /dev/vdb1 

         

         删除该物理卷:pvremove /dev/vdb1

       

四、lvm快照

      1、建立快照:lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0

       

    2、快照的删除

        

    lvm的快照在/dev/mapper目录下

五、lvm的删除

      删除逻辑卷:lvremove /dev/vg0/lv0

      

      删除物理卷组:vgremove vg0 

      

      删除物理卷:pvremove /dev/vdb2

     

      最后再删除lvm分区:fdisk /dev/vdb中删除