LVM磁盘逻辑卷管理

01 卷管理

    卷管理软件对待RAID提交给上层操作系统的逻辑盘(操作系统视为物理磁盘)和真正的物理磁盘是一视同仁的,即不管底层的磁盘组织形式如何,只要OS认为它是一块物理磁盘,卷管理器就可以对它进行卷管理。稍微不同的是,对于RAID提交的逻辑卷,最终还是要通过RAID控制器来和底层的物理磁盘交互。

    卷管理器包括:

    LDM(逻辑磁盘管理):Windows2000引入的动态磁盘

    VxVM(Veritas Volume Manager)

    LVM(Logic Volume Manager):Linux、AIX、HPUX

02 LVM

2.1 概述

    LVM是逻辑卷管理工具,它允许你使用逻辑卷和卷组的概念来管理磁盘空间。使用LVM相比传统分区最大的好处就是弹性地为用户和程序分配空间而不用考虑每个物理磁盘的大小。

    在LVM中,哪些创建了逻辑分区的物理存储是传统的分区(如/dev/sda1,/dev/sdb1)。这些分区必须被初始化为“物理卷PV”并加上卷标(如“Linux  LVM”)来使他们可以在LVM中使用。一旦分区被标记为LVM分区,就不能直接用mount命令挂载。

    注:/boot分区用于存放引导文件,不能基于LVM创建。

2.2 原理

    LVM使用基本思路:(分区->)PV->VG->LV->格式化分区->mount/fstab自动挂载->e2fsadm调整LV大小

    大致步骤:

    1、先将每个小磁盘以固定大小切割成一块一块的小PE(一般8M);

    2、给每个小PE进行编号(磁盘1:1~100,磁盘2:101~200……);

    3、创建PV(包含多个PE单元);

    4、将多个PV组合成VG;

    5、在卷组VG基础上创建可挂载的逻辑卷LV;

    6、在LV上格式化分区;

    7、直接mount挂载或者/etc/fstab挂载。

2.3 指令

2.4 特点

    优点:

    1、文件系统可以跨多个物理磁盘,因此文件系统大小不会受制于物理磁盘空间大小;

    2、可以在线对卷组VG、逻辑卷LV进行创建、删除、调整大小等操作;

    3、LVM允许创建快照,用来保存文件系统的备份。

    缺点:

    1、当卷组中的一个磁盘损坏时,整个卷组都会受到影响;

    2、因为加入了额外的操作,存贮性能受到影响;

    3、误删数据恢复更加困难,LVM缩减分区大小风险较大。

03 PV

    PV(Physical Volume),物理卷,整个磁盘或使用fdisk等工具创建的普通分区。包括许多默认4MB大小的PE(Physical Extent,基本单元/物理单元)。

    注:LVM将操作系统识别到的物理磁盘(或者RAID控制器提交的逻辑磁盘)称为物理卷。

    指令:

    pvcreate

    格式:pvcreate 设备1[设备2]

    创建物理设备

    pvchange

    指令格式:

    pvchange 选项 参数

    -u 生成新的UUID

    -x 是否允许分配PE

    管理员改变物理卷的分配许可,如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE。

    pvremove

    pvremove命令用于删除一个存在的物理卷,使用该指令删除物理卷时,它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。

    povs

    使用povs指令查看本地的PV,但是不一定是实际位置,因为我们都是经过链接实现关联的(例如/dev/vmc/serial-***显然不是物理磁盘,是一个软链接),最后会链接到/dev/sd*或者/dev/hd*这样的磁盘上(注意是链接而不是挂载设备)。

    pvscan

    pvscan命令会扫描系统中连接的所有磁盘,列出找到的物理卷列表。

    pvck

    pvck命令用来检测物理卷的LVM元数据的一致性。

04 VG

    多个PV被放置在一个VG中,VG是一个虚拟的大存储空间,逻辑上是连续的,尽管有多个分散的PV组成,但是VG会将这些PV收尾链接组成逻辑上连续的大存储池。

    指令:

   vgcreate

    格式:vgcreate 卷组名 物理卷名1 物理卷2 选项 –s 指定PE大小(单位M)

    创建VG

    vgremove

    删除VG

    vgextend

    扩容

    vgreduce

    缩容

    vgscan

    显示两个VG信息,其中一个VolGroup是系统盘。

    vgdisplay

    vgdisplay命令用于显示LVM卷组的信息,如果不指定“卷组”参数,则分别显示所有卷组的属性。

05 LV

    LV才是实际可以挂载的盘。

    指令:

    lvcreate

    格式:lvextend –L+大小或直接写增加后的最终大小 /dev/卷组名/逻辑卷名

    创建LV

   lvremove

    删除LV

    lvextend

    格式:lvextend –L+大小或直接写增加后的最终大小 /dev/卷组名/逻辑卷名

    扩容

    resize2fs

    格式:resize2fs /dev/卷组名/逻辑卷名

    重新调整大小

    lvreduce

    缩容

    lvscan

    lvdispaly

    显示LV信息

06 LVM与Device Mapper

    在内核中Device mapper通过一个个模块化的target driver插件实现对IO请求的过滤或者重新定向等工作,包括软raid、软加密、逻辑卷条带、多路径、镜像、快照等。

    Device mapper遵循内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间中,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,内核主要提供支持这些策略所需要的机制,比如具体过滤和重定向IO请求。    

    在linux系统中你使用一些命令时(如nmon、iostat),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?

    其实dm是Device Mapper的缩写,Device Mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于该机制实现的。

你可能感兴趣的:(LVM磁盘逻辑卷管理)