首页 > 代码库 > LVM基础应用、扩展及缩减

LVM基础应用、扩展及缩减

逻辑卷的基础应用

一、LVM简介

    LVM(Logical volume Manager)即逻辑卷管理。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。

    LVM是通过将底层的物理块设备,抽象组织起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。

    LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

    理解LVM,必须要掌握4个基本的逻辑卷概念。

        PV   (Physical Volume)  物理卷

        PE   (Physical Extend)    物理拓展

        VG  (Volume Group)     卷组

        LV   (Logical Volume)    逻辑卷


二、LVM的基本用法

        首先要将物理块设备创建成物理卷(PV),创建为PV后,其中就是一个个的PE(此时没有大小),然后指定以哪些物理卷(PV)来创建哪个卷组(VG),此时PE有大小,之后可以在卷组(VG)这个边界内创建任意逻辑卷(LV)。

     LVM的设备文件

        /dev/VG_NAME/LV_NAME --> /dev/mapper/VG_NAME_LV_NAME--> /dev/dm-#

    LVM管理

        1、lvm的 管理工具

            #rpm -qa | grep lvm 可以通过软件包管理器,查看当前系统中已安装的软件

            技术分享

         2、lvm的基本管理命令

             备注:在实际的生产环境使用中,lvm一般都会建立在RAID之上,以保证数据的安全、可靠存储。

             创建物理卷PV

                  pvcreate

                      #pvcreate /dev/{sdb1,sdb2,sdb3}

                      技术分享

                  pvs简要显示当前的物理卷(PV)

                      #pvs

                      技术分享 

                   pvdisplay详细显示当前的物理卷(PV)

                       #pvdisplay

                       技术分享

                    pvscan简单显示及使用情况

                       #pvscan

                      技术分享

                    创建VG

                         #vgcreate myvg  /dev/sdb1 /dev/sdb2

                         技术分享

                             常用选项:-s #  指明PE大小,默认4M

                    简单显示卷组信息

                        #vgs(VG)

                         技术分享

                    详细显示卷组信息

                       #vgdisplay(VG)

                         技术分享

                          卷组信息说明:

                          VG Name  VG的名称

                          VG Size  VG的总大小

                          PE Size  PE的大小,默认为4MB

                          Total PE  PE的总数量,5114 x 4MB = 19.98GB

                          Free PE / Size  剩余空间大小

                     创建逻辑卷(LV)

                          #lvcreate -L 1G -n mylv myvg在卷组myvg中创建一个大小为1G的逻辑卷

                          技术分享

                          常用选项:

                         -L    指定创建的LV 的大小 

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

                         -n    LV的名字 

                        

                     #lvdisplay显示逻辑卷的详细信息

             技术分享

                         逻辑卷的信息说明:

                         LV Path       LV 的路径

                         LV Name    LV的名字

                         VG Name   所属的卷组(VG)

                         LV Size       LV的大小

                         此时卷组信息

                         #vgs

                         技术分享

                    在创建的逻辑卷设备上创建文件系统

                       #mkfs.xfs /dev/myvg/mylv  (centos7.3)

                       技术分享

                       之后即可,mount命令挂载使用;或是,编辑/etc/fstab

                       备注:centos中,对逻辑卷创建文件系统,最好是指定卷标,以更好的来挂载使用逻辑卷设备,当然也可使用其UUID挂载使用。通过设备文件来挂载,重启后的识别可能会有问题。


三、LVM的扩容操作

    LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。如生产环境中需要扩容,那我们该怎么做呢?

    逻辑卷mylv是在卷组myvg中创建的,此时我们的myvg卷组中还有剩余空间(如此时卷组myvg中没有可以空间,也可以通过添加其他磁盘块设备,创建为物理卷并添加到卷组myvg中),所以我们可以从myvg中划分出更多的空间给逻辑卷来使用。


    #vgcreate /dev/sdb3 准备一个新的物理卷设备

        技术分享

    #vgextend myvg /dev/sdb3向卷组myvg中添加物理卷,此时,扩展了物理卷的空间

        技术分享

    #vgdisplay myvg 此时,再次查看卷组myvg,已向卷组中添加/dev/sdb3,扩展了整个卷组的空间

        

技术分享

    #lvextend -L +1.5G /dev/myvg/mylv逻辑卷mylv在原有1G的空间上,扩展1.5G空间(或扩展为2.5G空间)

技术分享#vgdisplay myvg此时,再次查看卷组的信息

技术分享

    #lvdisplay /dev/myvg/mylv逻辑卷mylv已扩展了空间

技术分享

    #df -lh /dev/myvg/mylv此时,逻辑卷的设备文件系统没有扩展

技术分享

    #xfs_growfs /dev/myvg/mylv扩展文件系统大小至逻辑卷的可用空间大小

技术分享

    #df -lh /dev/myvg/mylv再次查看逻辑卷mylv的文件系统空间大小,此时完成扩充。

技术分享

四、逻辑卷的缩减

备注:和扩展逻辑卷相反,且需要先卸载(不支持在线缩减),并强制进行文件系统检查。但一般不建议在生产环境中不进行逻辑卷的缩减。

#umount /dev/myvg/mylv

# e2fsck -f /dev/myvg/mylv  检查文件系统一致性(centos6)

#resize2fs /dev/myvg/mylv 1.5G 缩减1.5G空间大小

#lvreduce -L 1.5G /dev/myvg/mylv  缩减逻辑卷

#pvmove /dev/sdb3 如果要移除某物理卷设备,需要先移动其上面的pe到卷组中其他物理卷

#vgreduce myvg /dev/sdb3 此时,移除指定物理卷



五、LVM快照(snapshot)

    一定理解,任何数据必须可以序列化,才能存储在磁盘中。在线数据经常会有读写操作,数据改变会比较频繁,为保证数据的可靠性、安全性,除了RAID冗余之外,我们通常还要制定备份计划任务,以防人为错误等操作。数据一般会比较大,在进行备份时,很可能数据也在进行写操作,无法保证备份数据的一致性。快照则可以实现某时间点的数据的一致性。

    快照就相当于一个监视器。监视着文件系统的元数据信息的变化情况。当我们某时刻需要对某逻辑卷建立快照时,其会将逻辑卷的元数据保存至快照卷中,这个时间很短就可以完成(保证此时没有写操作),这样,我们就有两个访问数据的路径,即通过逻辑卷本身访问和通过快照卷访问。同时,快照卷还监视着逻辑卷的数据变化,逻辑卷的数据修改发生变化,数据本身的元数据会先改变,快照卷发现逻辑卷上的某元数据改变,会复制这个数据的未修改之前的数据(原数据),至快照卷中保存。通过快照卷访问的数据是,建立快照那一时刻之前的原数据。这样我们即可通过快照卷,方便的实现完全备份数据。

    快照卷的大小,要有足够的空间来保证,在完全备份完成之前,逻辑卷中数据的变化的原数据的存储。完全数据备份完成后,逻辑卷就没有存在的意义了。

    #lvcreate -L 100M -p r -s -n mylvsnap /dev/myvg/mylv对mylv逻辑卷创建快照卷mylvsnap

    #lvremove /dev/myvg/mylv  备份完成后,可移除快照卷

    





本文出自 “12635258” 博客,请务必保留此出处http://12645258.blog.51cto.com/12635258/1915071

LVM基础应用、扩展及缩减