[转载]理解 LVM (Logical Volume Manager)

理解 LVM (Logical Volume Manager)

作者:Hily 原始链接:http://hily.me/blog/2008/10/understanding-lvm/

版权声明:可以转载,转载时务必以超链接形式标明文章原始出处作者信息版权声明

最近在安装 Gentoo 的过程中遇到一个新名词 ── LVM。由于在 Gentoo 官方提供的安装手册中没有对它进行介绍,因此在安装过程中的许多命令都不是很了解,于是觉得有必要写个总结来巩固和加强印象,也希望本文能够帮助你在理解了 LVM,在创建、维护和管理 LVM 时能够得心应手。

概述

LVM,逻辑卷管理器 (Logical Volume Manager),顾名思义,它就是用于管理逻辑卷的,LVM 在 Linux 内核得到支持。

在传统的存储模型中,文件系统是直接构建于物理分区之上的,物理分区的大小就决定了其上文件系统的存储容量,因此对文件系统的存储容量的调整就变得比较繁琐。

而 LVM 设计的主要目标就是实现文件系统存储容量的可扩展性,使对容量的调整更为简易。

名词解释

在介绍 LVM 的工作原理之前需要先介绍几个名词:

  • PP,物理分区(Physical Partition),如硬盘的分区,或 RAID 分区。
  • PV,物理卷(Physical Volume),是 PP 的 LVM 抽象,它维护了 PP 的结构信息,是组成 VG 的基本逻辑单元,一般一个 PV 对应一个 PP。
  • PE,物理扩展单元(Physical Extends),每个 PV 都会以 PE 为基本单元划分。
  • VG,卷组(Volume Group),即 LVM 卷组,它可由一个或数个 PV 组成,相当于 LVM 的存储池。
  • LE,逻辑扩展单元(Logical Extends),组成 LV 的基本单元,一个 LE 对应一个 PE。
  • LV,逻辑卷(Logical Volume),它建立在 VG 之上,文件系统之下,由若干个 LE 组成。

 

工作原理

LVM 的架构图如下:

LVM转载 - 麦子 - 麦子

LVM 在每个物理卷头部都维护了一个 metadata,每个 metadata 中都包含了整个 VG 的信息,包括每个 VG 的布局配置、PV 的编号、LV 的编号,以及每个 PE 到 LE 的映射关系。同一个 VG 中的每个 PV 头部的信息是相同的,这样有利于故障时进行数据恢复。

LVM 对上层文件系统提供 LV 层,隐藏了操作细节。对文件系统而言,对 LV 的操作与原先对 Partition 的操作没有差别。当对 LV 进行写入操作时,LVM 定位相应的 LE,通过 PV 头部的映射表,将数据写入到相应的 PE 上。

LVM 实现的关键在于在 PE 和 LE 间建立映射关系,不同的映射规则决定了不同的 LVM 存储模型。LVM 支持多个 PV 的 Stripe 和 Mirror,这点和软 Raid 的实现十分相似。

是否使用 LVM?

在决定是否使用 LVM 前请先了解下 LVM 的优缺点。

使用 LVM 的优势:

  • 文件系统可以跨多个磁盘,因此大小不会受物理磁盘的限制。
  • 可以在系统运行状态下动态地扩展文件系统大小。
  • 可以增加新磁盘到 LVM 的存储池中。
  • 可以以镜像的方式冗余重要数据到多个物理磁盘上。
  • 可以很方便地导出整个卷组,并导入到另外一台机器上。

 

使用 LVM 的限制:

  • 在从卷组中移除一个磁盘时必须使用 reducevg,否则会出问题。
  • 当卷组中的一个磁盘损坏时,整个卷组都会受影响。
  • 不能减小文件系统大小(受文件系统类型限制)。
  • 因为加入了额外的操作,存储性能会受影响(使用 Stripe 的情况另当别论)。

 

使用 LVM 将获得更好的可扩展性和可操作性,但却损失了可靠性和存储性能,总的说来就是在这两者间选择。

使用要点

  • 按需分配文件系统大小,不要一次性分配太大的空间给文件系统,剩余的空间可以放在存储池中,在需要时再扩充到文件系统中。
  • 把不同的数据放在不同的卷组中,这样在做系统升级或数据迁移操作时会比较方便。

 

操作示例

如果在安装 Gentoo 时使用 LVM,那么在 livecd 光盘中已经带有 LVM 的操作命令。如果想要在安装完的系统中使用,则需要先安装相应的管理工具,通过以下命令进行安装: emerge lvm2。

使用 LVM 的基本步骤:

  1. 在物理分区(PP)上创建物理卷(PV)

     

    如: pvcreate /dev/sda1

  2. 在创建卷组(VG)

     

    如: vgcreate vg /dev/sda1

  3. 从 VG 中分配空间,创建逻辑卷(LV)

     

    如: lvcreate -L10G -nhome vg

  4. 在 LV 上建立文件系统

     

    如: mke2fs -j /dev/vg/home

 

在 Gentoo 的安装文档《含软Raid和LVM2的Gentoo Linux x86快速安装指南》中有非常具体的 LVM 使用案例,这里不在累举。

更多关于 LVM 相关操作命令的使用方法,请参阅 man 手册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值