Linux LVM逻辑卷管理

  LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版1.1.0-rc2,以及LVM2开发版。

   与传统磁盘分区相比,LVM为计算机提供了更高层次的磁盘存储。LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义: “development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

  LVM概念

技术分享

物理卷:

  物理卷是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。

逻辑卷:

  一个或者多个物理卷组成一个逻辑卷。对于LVM而言,逻辑卷类似于非LVM系统中的硬盘分区。逻辑卷可以包含一个文件系统(比如/home或者/usr)。

卷组:

  一个或者多个逻辑卷组成一个卷组。对于LVM而言,卷组类似于非LVM系统中的物理硬盘。卷组把多个逻辑卷组合在一起,形成一个可管理的单元。

物理块physical extent(PE)

  物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。

逻辑块logical extent(LE)

  逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。

 LVM使用结构

技术分享

  首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV);

  一个或多个物理卷可以用来创建卷组(VG);

  然后基于卷组可以创建逻辑卷(LV);

只要在卷组中有可用空间,就可以创建逻辑卷。文件系统就是在逻辑卷上创建的,而后可以在操作系统上挂载、访问 

LVM实现过程:

  一、准备磁盘分区

通过使用fdisk创建磁盘分区,我们要创建4个5G分区,注意,并不要求分区的大小一致。同样,分区格式需要使用‘8e’类型来使他们可用于LVM。以下以两个分区操作为例,余下两个分区操作同此例。

  分区完成后使用partprobe /dev/sd{b,c}

  如报错无法识别则使用partx -a partition /dev/sdb  否则只能重启系统  

    #partitions 表示分区/dev/sdb{1,2}、/dev/sdc{1,2}

技术分享

技术分享

 二、创建物理卷(PV)

   用法: pvcreate partitions

   查看PV命令:

    pvdisplay [partitions]  如:pvdisplay /dev/sdb1

    pvs [partitions]     如:pvs /dev/sdb1

技术分享技术分享  

 三、创建卷组(VG)

   用法: vgcreate VGGroupName DevicePath

      选项: -s 可指定卷组PE大小 

   查看VG命令:

    vgdisplay [VGGroupName]  如:vgdisplay MyVg

    vgs [VGGroupName]     如:vgs MyVg

技术分享 

 四、创建逻辑卷(LV)

   用法: lvcreate LVSize LVName VGName

     选项: -L 指定逻辑卷大小

        -n 指定逻辑卷名称

   查看LV命令:

     lvdisplay [LVName]  如:vgdisplay MyLv

     lvs [LVName]     如:vgs MyLv

   逻辑卷设备文件有两种方式查看: 

     /dev/VG_NAME/LV_NAME

     /dev/mapper/VG_NAME-LV_NAME

   如: /dev/mapper/MyVg-MyLv

技术分享技术分享 

 五、扩展卷组(VG)

   用法: vgextend VGGroupName PVDevice

    # 添加pv,将原15G大小VG扩展至20GVG

技术分享 

 六、缩减卷组(VG)

   用法: vgreduce VGGroupName PVDevicePath

   卷组缩减分三步:

    1、确定要移除的PV,将此PV数据转移至其它PV

      用法: pvmove DestinationPhysicalVolume

技术分享   

   2、从卷组中将此PV移除

     用法: vgreduce VGGroupName PVDevicePath

   3、删除VG中PV

     用法: pvremove PVDevicePath

技术分享 

 七、移除逻辑卷

   用法:lvremove LVDevice

 八、移除卷组

   用法:vgremove VGGroupName

技术分享 

 九、扩展逻辑卷

  1、扩展物理边界

   用法: lvextend Options LVDevice

    选项: -L 指定逻辑卷大小,如直接指定大小表示扩展到多少,如使用+号加大小表示扩展多少 

    # 确定当前逻辑卷所在的卷组有足够的空闲空间

    # 逻辑卷扩展必须先扩展物理边界,再扩展逻辑边界,扩展完成后需检测文件系统

  2、扩展逻辑边界

   用法: resize2fs Device

  3、文件系统检测

   用法: fsck Options Device   注: fsck只能检测ext文件系统

      e2fsck Options Device

技术分享 

 十、缩减逻辑卷

   # 逻辑卷缩减必须先缩减逻辑边界,再缩减物理边界,缩减完成后需检测文件系统  

  1、卸载并强行检测文件系统

   用法: e2fsck Options Device

  2、缩减逻辑边界   

   用法: resize2fs Device New_size

   # 缩减逻辑边界时需指定size大小

  3、缩减物理边界

   用法: lvreduce Options LVDevice

    选项: -L 指定逻辑卷大小,如直接指定大小表示缩减到多少,如使用-号加大小表示缩减多少

   注: 缩减逻辑、物理边界-L选项指定大小必须一致

技术分享 

 十一、创建快照卷

   用法:lvcreate LVSize LVName VGName

     选项: -s 创建快照卷

        -p 指定权限{r|rw}

  (1) 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;

  (2) 快照卷应该是只读的;

  (3) 跟原卷在同一卷组内;

技术分享

本文出自 “Why no !” 博客,请务必保留此出处http://dovemy.blog.51cto.com/8487472/1625363

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。