Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2383953
  • 博文数量: 473
  • 博客积分: 12252
  • 博客等级: 上将
  • 技术积分: 4307
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-12 10:02
文章分类

全部博文(473)

文章存档

2012年(8)

2011年(63)

2010年(73)

2009年(231)

2008年(98)

分类:

2010-07-09 09:55:08

逻辑卷管理(LVM)

什么是LVM

LVM是逻 辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,为文件系统屏蔽下层磁盘分区布 局,从而提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便地调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和 分配,例如按照使用用途进行定义“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘, 管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是通过LVM直接扩展文件系统跨越磁盘即可。

LVM基本术语

1.物理卷(Physical Volume,PV)

— 物理卷在LVM系统中处于最底层。

— 物理卷可以是整个硬盘、硬盘上的分区或从逻辑上与磁盘分区具有同样功能的设备(如:RAID)。

— 物理卷是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

2.卷组(Volume Group, VG)

— 卷组建立在物理卷之上,它由一个或多个物理卷组成。

— 卷组创建之后,可以动态地添加物理卷到卷组中,在卷组上可以创建一个或多个“LVM分区”(逻辑卷)。

— 一个LVM系统中可以只有一个卷组,也可以包含多个卷组。

— LVM的卷组类似于非LVM系统中的物理硬盘。

3.逻辑卷(Logical Volume, LV)

— 逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。

— 逻辑卷创建之后,其大小可以伸缩。

— LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如,/home或者/usr等)。

4.物理区域(Physical Extent, PE)

— 每一个物理卷被划分为基本单元(称为PE),具有唯一编号的PE是可以被LVM寻址的最小存储单元。

— PE的大小可根据实际情况在创建物理卷时指定,默认为4 MB。

— PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小需要一致。

5.逻辑区域(Logical Extent, LE)

— 逻辑区域也被划分为可被寻址的基本单位(称为LE)。

— 在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

和非LVM系统 将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的卷组描述符区域(Volume Group Descriptor Area, VGDA)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。图2-3描述了它们之间的关系。

LVM与文件系统之间的关系

图2-4描述了LVM与文件系统之间的关系。

  

图2-3 PV-VG-LV-PE关系图                图2-4 LVM与文件系统之间的关系图

注意:/boot分区不能位于卷组中,因为引导装载程序无法从逻辑卷中读取。如果你想把/分区放在逻辑卷上,必须创建一个与卷组分离的/boot分区。

PV-VG-LV的设备名

PV-VG-LV的含义及设备名如表2-1所示。

表2-1 PV-VG-LV的含义及设备名

   

PV

物理卷:磁盘或分区

/dev/sda?

VG

卷组:一组磁盘和/或分区

/dev//(目录)

LV

逻辑卷:LVM分区

/dev//


实例:

先用fdisk工具对新硬盘分区(过程略...)

一、对于新的分区,创建物理卷组

命令:pvcreate /dev/sdb1  (Ok ,已经创建好了一个pv)

继续将其他的分区也定义成pv

二、有了pv后,就可以将这些pv组合成想要的vg(卷组)

比如,我将前300G的分区(在这里就是pv了)组建成一个名为datavg的卷组

命令:vgcreate datavg /dev/sdb1 /dev/sdb2 /dev/sdb3

因为之前我分区时每个分区都是100G,所以是300G

.........等等创建其他的卷组

三、在新的卷组中创建逻辑卷(lv)

比如我想在这个datavg中创建4个逻辑卷将用于四个不同的文件系统

lvcreate -L 50G -n dominolv datavg //在datavg中创建一个大小50G,名为dominolv的逻辑卷

lvcreate -L 100G -n sysbaklv datavg

lvcreate -L 100G -n appbaklv datavg

lvcreate -L 50G -n imagelv datavg

四、在新创建好的逻辑卷上创建新的文件系统,大家都知道,只有创建了文件系统后,这个分区才能真正的使用实现IO操作(当然除过 DB2的表空间可以使用的是裸设备(raw)IO效率会更好)

mkfs -t ext3 /dev/datavg/dominolv //创建一个文件类型为ext3的文件系统

不熟悉的人会很奇怪,为什么没有文件系统名字了只有一个逻辑卷的名字

这个要看mkfs的命令:

mkfs [-V] [-t fstype] [fs-options] device [size]

这个命令只要指定设备的名字和文件系统的类型就可以了.其实创建好的文件系统在标识在/dev/mapper/datavg-dominolv

五、创建挂载点,并挂载文件系统

mkdir -p /opt/domino

mount /dev/datavg/dominolv /opt/domino或者

mount /dev/mpper/datavg-dominolv /opt/domino

六、修改文件系统的入口文件/etc/fstab,将上面的挂载命令追加到这个文件后面,目的是为了在系统重新启动后,文件系统能够自动 mount.

mount /dev/datavg/dominolv /opt/dominio ext3 defaults 0 0

解释;

ext3:文件系统类型,不正确将不能正确挂载

defaults:使用所有的操作参数(比如,读写,执行,用户,组,codepage等等)

0(dump=0):该文件系统的不需要备份,备份被忽略

0(fsck=0):该文件系统在系统启动时不进行扫描检查,若需要扫描检查,/根文件系统为fsch=1,其他的为fsck=2

阅读(1794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~