Linux 之LVM

一 LVM 简介:

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来将一个或多个底层块设备组成一个逻辑的工具。

201611.jpg

备注:上图引用互联网

二 LVM的组成和常用管理命令

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

2. Volume Group(VG),卷组:就是将一个或多个PV组合为一个卷组,一般由多个pv组成

3. Physical Extent(PE),物理区域:是在pv加入vg后vg把所有pv划分成的很多的小块,是LVM最小的分区单位,同一卷组的PE大小需一致。新的PV加入卷组后,PE的大小会自动更改为原卷组PE的大小

4. Logical Volume(LV),逻辑卷:就是从VG中划分的逻辑分区,建立在卷组的基础上,卷组中空闲的PE可分配给LV使用,创建LV后可通过增加或减少PE来动态扩展和缩小空间大小。

PV 常用管理命令

            pvcreate   #创建一个物理卷

            pvchange   #修改物理卷的属性

            pvresize   #调整一个PV的大小

            pvremove   #删除一个PV

            pvdisplay  #显示PV的属性信息

            pvmove     #移动PE到指定物理卷

            pvscan     #搜索所有磁盘上的物理卷

            pvs        #显示PV的简要信息

VG 常用管理命令

        vgcreate    #创建卷组

            -l:设置可容纳的LV最大数,默认为255

            -p:设置包含PV的最大数,默认为255

            -s:设置PE大小,默认为4M

        vgextend    #扩展VG大小

        vgdisplay   #显示VG属性信息

        vgchange    #修改VG属性信息

        vgreduce    #缩减VG大小

        vgremove    #删除VG

        vgscan      #搜索所有磁盘上的卷组

        vgs         #显示VG简要信息

        vgck        #检查VG元数据

LV 常用管理命令

        lvcreate    #创建LV

            -l:设置LV大小,以PE为单位

            -L:设置LV大小,以字节为单位

            -n:设置LV名称

            -p:设置LV权限读写权限,默认为可读可写

            -s:设置一个快照卷,对一个已存在的LV做快照

        lvextend    #扩展LV大小

        lvreduce    #缩减LV大小

        lvchange    #修改LV属性信息

            -ay:标记LV为可用状态

            -an:标记LV为不可用状态

        lvremove    #删除LV

        lvdisplay   #显示LV属性信息

        lvscan      #搜索所有磁盘上的逻辑卷

        lvs         #显示LV简要信息


三 示例

1. 先创建2个新的分区

blob.png

blob.png

partx -a /dev/sda

2.然后将2个分区转化成物理卷

pvcreate /dev/sda5 /dev/sda6

pvs

blob.png

3.创建卷组,把2个物理卷加入到卷组。

vgcreate vgtest /dev/sda5 /dev/sda6

blob.png

4.创建一个LV要求大小为5G,名称为lvtest

lvcreate -L 5G -n lvtest vgtest

blob.png


5.扩展lvtest的大小

 lvextend -L +3G /dev/vgtest/lvtest 

blob.png

6.缩减lvtest 的大小,减少3G

lvreduce -L -3G /dev/vgtest/lvtest 

blob.png

7.对lvtest做个快照。设置只读权限。

lvcreate -L 3G -n lvtest_snap -p r -s /dev/vgtest/lvtest

blob.png

8.删除lvtest ,必须先标记为不可用,然后在删除,这个会快照一起移除的。

lvchange -an /dev/vgtest/lvtest

lvremove /dev/vgtest/lvtest

blob.png

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