理解 LVM (Logical Volume Manager)

理解 LVM (Logical Volume Manager)

最近在安装 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 在每个物理卷头部都维护了一个 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 手册。

延伸阅读:

– EOF –

附加疑问:

在window下的磁盘管理中,物理磁盘被设置基本磁盘类型时,那每个逻辑卷的布局类型就只能是简单类型,该逻辑卷也就是通常说的简单卷。当逻辑卷是简单卷类型时,一个逻辑卷在空间上是一个物理分区完全相等相一致的吗?

物理磁盘被设置动态磁盘类型时,逻辑卷的布局类型就有多种选择,比如跨区卷、带区卷等。以逻辑卷的布局类型为跨区卷为例,跨区卷就是说逻辑卷可以由来自不同物理磁盘的不同物理分区组成。那跨区卷是否可以是由来自不同物理磁盘的不同物理分区的部分空间而组成呢?

我们看到在Linux下由lvm软件管理磁盘时,一个逻辑卷lv里的le对应的pe可以来自多个pv,且不是拿一个pv里的所有pe而是一部分来组成自己。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值