Linux之LVM详解


    LVM全称:logical Volume Manager(逻辑卷管理);它是linux下的一种对磁盘分区进行管理的机制。建立在磁盘和分区之上的一个逻辑层,提高磁盘分区管理的灵活性,可扩展收缩。

    LVM的工作原理就是通过对硬盘进行抽象的封装,然后以逻辑卷的格式呈现给上层应用。在LVM中,其通过对底层的硬盘进行了封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

    


        基本的逻辑卷管理命令:

    

        PV(Physical Volume)-物理卷

        物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理磁盘,也可以是raid设备。

            相关命令:

                pvcreate device:创建物理卷

                pvremove device:删除物理卷

                pvdisplay:显示物理卷详细信息

        

        VG(Volumne Group)-卷组

        卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可以动态扩展物理卷到卷组中。

            相关命令:

                vgcreate 卷组名 device1,device2...:创建卷组

                    -s:指定PE的大小,单位:K,M,G

                    -v:创建过程

                vgremove device:删除物理卷

                vgdiplay:显示卷组详细信息

                vgextend 卷组名 物理卷路径:扩展卷组

                vgreduce 卷组名 物理卷路径:收缩卷组

                    

            

        LV(Logical Volume)-逻辑卷

        逻辑卷建立在卷组之上,用的是卷组中未分配的空间;逻辑卷也是可以动态扩展和收缩的,系统中可以创建多个逻辑卷。

            相关命令:

                lvcreate -L +#[M,G,T] -n 逻辑卷名 卷组路径

                    -L:指定逻辑卷大小

                    -n:指定逻辑卷名

                    例:lvcreate -L +5G -n testlv /dev/testvg

                    在卷组testvg中创建一个名为testlv的5G的逻辑卷

                lvremove 逻辑卷:删除逻辑卷

                lvdisplay:显示逻辑卷详细信息

                扩展逻辑卷: 

                    lvextend -L [+]#[M、G、T] 逻辑卷路径

                    resize2fs 逻辑卷路径:重新定义逻辑卷大小


                收缩逻辑卷:

                    在收缩前建议先做好备份

                    umount:先卸载逻辑卷       

                    e2fsck -f 逻辑卷路径

                    resize2fs 逻辑卷路径 # :定义收缩后的大小

                    lvreduce -L [-]#[M、G、T] 逻辑卷路径

                        例:lvreduce -L -2G /dev/testvg/testlv

                        testlv的空间减少2G

                    mount:重新挂载


            快照:Snapshot

            它是LVM所提供的一个功能。原理是复制原始卷的元数据来创建一个逻辑卷。快照所在的逻辑卷上含有创建时刻所制定的原始逻辑卷的完整数据,您可以操作快照而无需担心数据的变更令备份失效。

                相关命令:

                    lvcreate -L #[M、G、T] -p r -s -n 快照名 原始卷路径

                        -L:指定快照卷大小

                        -p:指定权限r,w,x

                        -n:快照卷名

                   例:lvcreate -L 3G -p r -s -n testsnap /dev/testvg/testlv

                 为testlv逻辑卷创建一个名为testsnap3G的只读的快照