RedHat Linux下的逻辑卷管理器LVM


  Red Hat 下的LVM 上 LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM主要是方便了对存储系统的管理,增加了系统的扩展性。

  Linux,AIX,Hp-uinx平台下的LVM 命令是不一样的。下面以RedHat 下的命令来做一些说明。

  一. LVM 理论知识

  1. 先来看一下LVM创建的流程: PV-->VG-->LV.

  PV(Physical Volume) :物理卷,可以是单独磁盘,也可以是硬盘分区。

  VG(Volume Group) :卷组,是PV的组合,可以看成单独的逻辑磁盘。

  LV(Logical Volume) :逻辑分区,当于物理分区的/dev/hdaX,只有逻辑卷才可以写数据。

  PE(Physical Extent) :物理范围。VG单元,类似于RAID的条带大小。 当多个PV组成一个VG时,LVM会在所有PV上做类似格式化的动作,将每个PV切成一块块的空间,这一块块的空间就称为PE, 通常是4MB。

  LE(Logical Extent) :逻辑范围。LV的组成单位。大小为PE的倍数(通常为1:1)。

  2. 工作原理

  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 的限制:

  ?在从卷组中移除一个磁盘时必须使用 reducevg,否则会出问题。

  ?当卷组中的一个磁盘损坏时,整个卷组都会受影响。

  ?不能减小文件系统大小(受文件系统类型限制)。

  ?因为加入了额外的操作,存储性能会受影响(使用 Stripe 的情况另当别论)。

  二. 创建相应的磁盘分区

  1. 修改磁盘,创建相应的分区

  [root@san iscsi]# fdisk -l
  Disk /dev/sda: 42.9 GB, 42949672960 bytes
  255 heads, 63 sectors/track, 5221 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 * 1 255 2048256 83 Linux
  /dev/sda2 256 382 1020127+ 82 Linux swap / Solaris
  /dev/sda3 383 5221 38869267+ 5 Extended
  /dev/sda5 383 395 104391 83 Linux
  /dev/sda6 396 408 104391 83 Linux
  /dev/sda7 409 421 104391 83 Linux
  /dev/sda8 422 434 104391 83 Linux

  这里创建了4个扩展分区,每个100M。 用fdisk /dev/sda创建的。 分区没有格式化。

  2. 使用磁盘分区生效

  #partprobe

  三. 创建PV

  1.相关命令

  pvcreate 创建PV

  pvscan 扫描PV

  pvdisplay 显示PV

  pvremove 删除PV

  partprobe

  2.创建物理卷

  [root@san iscsi]# pvcreate /dev/sda5 /dev/sda6
  Physical volume "/dev/sda5" successfully created
  Physical volume "/dev/sda6" successfully created
  [root@san iscsi]# pvscan
  PV /dev/sda5 lvm2 [101.94 MB]
  PV /dev/sda6 lvm2 [101.94 MB]  Total: 2 [203.89 MB] / in use: 0 [0 ] / in no VG: 2 [203.89 MB]
  [root@san iscsi]# pvdisplay
  "/dev/sda5" is a new physical volume of "101.94 MB"

  --- NEW Physical volume ---

  PV Name /dev/sda5
  VG Name
  PV Size 101.94 MB
  Allocatable NO
  PE Size (KByte) 0
  Total PE 0
  Free PE 0
  Allocated PE 0
  PV UUID hDtAhK-adlx-5Ex0-ogc1-Alvm-H274-a8u7c2
  "/dev/sda6" is a new physical volume of "101.94 MB"

  --- NEW Physical volume ---

  PV Name /dev/sda6
  VG Name
  PV Size 101.94 MB
  Allocatable NO
  PE Size (KByte) 0
  Total PE 0
  Free PE 0
  Allocated PE 0
  PV UUID Sy1wPG-XnjQ-eYD5-91vj-Ug5b-EGgU-i30lCS

  • 1
  • 2
  • 下一页

相关内容