Linux基础知识之逻辑卷管理器(LVM)

逻辑卷管理器(LVM)   

    允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
    允许在多个物理设备间重新组织文件系统将设备指定为物理卷
    用一个或者多个物理卷来创建一个卷组
    物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的在物理卷上创建的逻辑卷,是由物理区域(PE )组成可以在逻辑卷上创建文件系统

    blob.png

file://C:\Users\sjsir\AppData\Local\Temp\ct_tmp/1.png1、LVM 介绍

    LVM: Logical Volume Manager, Version: 2
    dm: device mapper: 将一个或多个底层块设备组织成一个逻辑设备的模块
    设备名:/dev/dm-#
    软链接:
        /dev/mapper/VG_NAME-LV_NAME
            /dev/mapper/vol0-root
        /dev/VG_NAME/LV_NAME
            /dev/vol0/root
2、LVM 更改文件系统的容量
    (1)LVM 可以弹性的更改LVM的容量
        通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV 的容量,或将其他设备中的PE加到LV中以加大容量

blob.png     

    (2)LVM的使用

        a.查看LVM 的使用情况
        点击“系统”-> “管理”-> “逻辑卷管理器”

    blob.png

        b.增大或减小逻辑卷
        打开逻辑卷管理器后,点击“编辑属性”,打开LVM 属性对话框:
file://C:\Users\sjsir\AppData\Local\Temp\ct_tmp/3.pngblob.png    

        c.删除逻辑卷
            删除逻辑卷必须先删除LV ,再删除VG ,最后删除PV
            点击逻辑卷管理器的“卷组”-> “逻辑视图”的LV 逻辑卷
            点击“移除选择的逻辑卷”,再删除VG ,最后删除PV。
      file://C:\Users\sjsir\AppData\Local\Temp\ct_tmp/4.png

blob.png

3.LVM管理工具
    (1)PV管理工具
        pvcreate:创建PV
        pvcreate /dev/sda{5,6,7,8}
        pvs:查询目前系统里面任何具有PV的磁盘
        pvdisplay:显示出目前系统上面的PV状态,比pvscan查看的更加详细
        pvremove:将PV属性删除,让该分区不在具有PV属性
    (2)VG管理工具
        VG:Volume Group 卷用户组
        创建卷组
            vgcreate:创建VG命令    

            vgcreate -s [mgt]  VG名称  PV名称
                -s:后面接PE的大小,单位:mgt  vgcreate -s 16M testvg /dev/sda{5,6,7}
            PhysicalDevicePath [PhysicalDevicePath…]
        显示卷组    
            vgs:查找系统上面是否有VG存在
            vgdisplay:显示目前系统上面的VG状态
        管理卷组
            vgextend:在VG内增加额外的PV  vgextend testvg /dev/sda8
            vgreduce:在VG内删除PV
            vgchange:设置VG是否启动(active)
        删除卷组
            先做pvmove,再做vgremove
            vgremove:删除一个VG
    (3)LV管理工具
        Logical Volume 逻辑卷
        创建逻辑卷
            lvcreate:新建LV    

            lvcreate -L[MGT] -n LV名称 VG名称  or  lvcreate  -l[PE块数·] -n LV名称  VG名称
                -L:后面接容量(MGT)必须是PE的倍数,要是不是PE的倍数,系统会自动计算相近的PE的倍数,计算容量稍大于指定的容量
                -l:接的是PE的个数也就是后面接多少块PE
                -n:后面接的是LV名称
                lvcreate -L 256 -n testlv testvg
        显示逻辑卷
            lvs:查看系统上面的LV
            lvdisplay:显示系统上面的LV的状态

        删除和增长逻辑卷
            lvextend:在LV里面增加容量
            lvreduce:在LV里面减少容量
        删除逻辑卷
            lvremove:删除一个LV
            lvremove /dev/VG_NAME/LV_NAME
            lvresize:对LV进行容量大小的调整
4、重设文件系统大小
        fsadm [options] resize device [new_size[BKMGTEP]]
        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
            resize2fs -f [device] [size]   ext2/ext3/ext4文件系统重定义大小工具
                -f:强制进行resize的操作
                [device]:设备的文件名
                [size]:可以不加,如果加上单位,单位为MG,不指定,默认使用整个分区
                eg:   resize2fs /dev/testvg/testlv
5、PE与LE:
    PE:Physical Extend 物理扩展快(block)
    LE:Logical Extend  逻辑盘区  
6、扩展和缩减逻辑卷
    扩展逻辑卷:
        lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
        resize2fs /dev/VG_NAME/LV_NAME
    缩减逻辑卷:
        umount /dev/VG_NAME/LV_NAME
        e2fsck -f /dev/VG_NAME/LV_NAME
        resize2fs /dev/VG_NAME/LV_NAME
        [mMgGtT]
        lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
        mount
    ※创建逻辑卷实例
        创建物理卷
        pvcreate /dev/sdc
        为卷组分配物理卷
        vgcreate vgtest /dev/sdc
        从卷组创建逻辑卷
        lvcreate -L 256M -n data vgtest
        mke2fs -j /dev/vgtest/data
        mount /dev/vgtest/data /mnt/data
7、逻辑卷管理器快照
    快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
    对于需要备份或者复制的现有数据集临时拷贝以及其它操作来说,快照是最合适的选择。
    快照只有在它们和原来的逻辑卷不同时才会消耗空间。
    在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
    当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中。
    快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
    建立快照的卷大小只需要原始逻辑卷的15% ~20% 就够了。也可以使用lvextend 放大快照。
快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享。
    由于快照区与原本的LV 共用很多PE 的区块,因此快照去与被快照的LV 必须要要在同一个VG 上!系统恢复的时候的文件数量不能高于快照区的实际容量。
    ※使用LVM 快照
    为现有逻辑卷创建快照
        lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data
    挂载快照
        mkdir -p /mnt/snap
        mount -o ro /dev/vg0/snap-data /mnt/snap
    删除快照
        umount /mnt/databackup
        lvremove /dev/vg0/databackup
8、LVM的实战:
    例1:格式化,挂载 查看LV
        mkfs -t ext3 /dev/testvg/testlv     重新创建文件系统,类型ext3 地址为/dev/testvg/testlv
        mkdir /mnt/lvm                      创建一个目录为/mnt/lvm
mount /dev/testvg/testlv /mnt/lvm   将新建的文件系统/dev/testvg/testlv挂载到新建的目录/mnt/lvm下
        df 查看文件整体的使用量
        cp -a /etc /var/log /mnt/lvm        将/etc /var/log  复制到/mnt/lvm下
    例2:扩大LV的容量
        fdisk /dev/sda    n +5G t 8e w   创建格式为linux LVM的磁盘分区
        partprobe   系统重新读取磁盘分区(CentOS5和CentOS7使用partprobe,CentOS6使用partx -a /dev/sd#)

        fdsik -l 查看所有的分区文件信息
        pvcreate /dev/sda9 将/dev/sda9分区新建为PV
        pvscan 查看系统上的所有的PV磁盘
        vgextend testvg /dev/sda9 将/dev/sda9增加到vg下面
        vgdisplay 查看系统上面的vg状态
        lvresize -l +n(数字) /dev/testvg/testlv 对lv进行容量上的大小调整
        lvdisplay       查看系统上的lv状态
        dumpe2fs /dev/testvg/testlv 查看/dev/testvg/testlv的文件属性信息
        resize2fs /dev/testvg/testlv        完整的将LV的容量扩充到整个文件系统
        df /mnt/lvm                         列出/mnt/lvm的文件使用信息
        ls /mnt/lvm 查看/mnt/lvm下的内容
    例3:缩小LV的容量
    注意事项:
        (1)不能在线缩减,得先卸载
        (2)确保缩减后的空间大小依然能储存原有的所有数据
        (3)在缩减之前应该先强行检查文件,以确保文件系统处于一至性的状态
        pvdiskplay
        pvscan
        resize2fs /dev/testvg/testlv 6900M
        umount /mnt/lvm
        e2fsck -f /dev/testvg/testlv
        resize2fs /dev/testvg/testlv 6900M
        df /mnt/lvm
    例4:LVM的系统快照卷
    注意事项:
        (1)声明周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小
        (2)快照卷应该是只读的
        (3)快照卷应该和原卷在同一卷组内
         lvcreate -L 50M -n testlv-snap -s -p r /dev/testvg/testlv

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/42683

(0)
sjsirsjsir
上一篇 2016-09-01
下一篇 2016-09-01

相关推荐

  • RAID特性和常见级别

    简介:    RAID全称为独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。 R…

    Linux干货 2016-02-14
  • ansible批量部署主从DNS

    什么是DNS服务DNS的解析流程分析递归查询迭代查询DNS相关的术语说明生产环境中的应用Bind9常见配置说明使用ansible自动部署主从DNS 什么是DNS服务 DNS(Domain Name Service)是Internet上用于名称解析的服务,简单来说,就是将域名转换为IP地址的服务(正向解析),也可以用于将IP地址解析为对应的…

    Linux干货 2016-06-29
  • 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集…

    Linux干货 2015-07-19
  • Linux 目录配置

    Linux 目录配置 Linux目录配置标准:FHS 因为利用Linux来开发产品或distributions的团队/公司与个人实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。所以/后来就有所谓的Filesystem Hierarchy Standard (FHS)标准出炉了。 根据FHS(http://www.pa…

    Linux干货 2017-03-26
  • 马哥教育网络班20期+第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。 3、请使用命令行展开功能来完成以下练习:    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d   …

    Linux干货 2016-06-23
  • Linux文件系统

    Linux文件系统 根目录下的文件 / ├── bin 存放用户使用的基本命令(可执行程序,二进制文件) 不能单独分区的 ├── boot 跟内核有关的文件 grub 内核和BootLoader ├── cgroup 用来资源限制资源隔离 docker 容器化 ├── dev device 设备文件 b block device 块设备 硬盘或者CD-rom…

    Linux干货 2017-04-01