Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

逻辑卷管理器LVM全接触-LVM有关概念

Posted on 2009-05-26 17:02 Prayer 阅读(356) 评论(0)  编辑 收藏 引用 所属分类: LINUX/UNIX/AIXDB2

    LVMLogical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间管理理念。以往在安装操作系统时需要规划好分区大小,即使利用了RAID技术也要规划好每个分区的大小,因为一旦分好区后要改变其大小是非常困难的事情。在Windows下有大家熟悉的Partition Magic

工具可以用来调整分区大小,但它有一个缺点是要么在调整前要关闭系统或调整后重启系统。

这在普通PC机上使用还行,要在提供不间断服务的服务器上使用就会造成服务中断,不过这个问题在Linux下随着LV技术的出现一切都得到解决,LV可以在不用重启系统的情况动态增加可用空间大小,不过前提得是使用热插拔硬盘,或事先将硬盘装入而不使用。本文我将使用名词LV(可不是LV包)而不是LVM,因为LV才是主角。

首先我们要弄清楚LV领取的几个关键名词概念:

物理介质:就是我们通常说的硬盘,简称pm

物理卷:就是我们通常说的硬盘分区,简称pv

物理分区:它是由LVM命令在物理卷上创建的最小LVM寻址单元,在创建物理卷时可以指定物理分区的大小,默认值是4M,简称pe(pp?)

卷组:由一个多多个物理卷组成的逻辑单元,简称vg

逻辑分区:它与物理分区一一对应,大小相等,简称le(lp?)

逻辑卷从卷组中分配一定大小的空间创建的逻辑单元,也可以使用一个完整的卷组空间大小来创建一个逻辑卷,简称lv

上面这几个关键名词的关系可以用下图来解释:

  逻辑卷管理器LVM全接触-LVM有关概念 - ac_victory - ac_victory的博客

 

图中没有给出le(逻辑分区),因为它对于描述整个概念来说不太重要。如何理解这个图呢?

首先pv1pv2是物理卷,pv1对应的可能是一整块硬盘,也可能是硬盘中的一个分区,如/dev/hda1pv2也应这样理解;pv1中包含的pe1pe2pe3都是经过pvcreate命令在pv1上做的标记,可以理解为将pv1分解成3个小块,相应pv2下的pe1pe2pe3也做此理解;

vg1是卷组,它是由pv1下的pe1pe2组成的,即从pv1的空间中分一部分(pe1pe2)来组成卷组vg1,并且我给该卷组命名为oracle,注意物理卷没有名字,直接用/dev/hda1/dev/sda的形式来称呼它,vg2是跨了两个物理卷组成的,它是由pv1中的pe3pv2中的pe1pe2组成,可以看出卷组可以跨我们通常所说的硬盘分区,也可以跨多个硬盘;

lv1是在卷组vg1上创建的逻辑卷,它使用了整个vg1的空间,而lv2lv3都是从vg2空间创建的逻辑卷,可以看出一个卷组可以包括一个或多个逻辑卷,注意逻辑卷不能跨卷组,也就是说如果要想在两块硬盘上创建一个逻辑卷,必须经过卷组的转换才能实现,因为卷组是可以跨多块硬盘的;

在逻辑卷的基础上我们可以创建文件系统,如ext3jfs等,和在普通分区上创建文件系统没有什么区别,最后可以将逻辑卷挂载在某个挂载点上,如/oracle

从这个图中我们可以看出,如果要增大逻辑卷lv1oracle)的大小,首先需要增大vg1的大小,因为lv1在创建时就完全使用了vg1的空间,要增大vg1的大小,就得从pv1pv2中获取pe;如果在创建lv1时没有完全使用掉vg1的空间,那么可以直接动态从vg1中再分配给lv1空间,增加其大小,从这个角度出发,就好理解如果增加一块热插拔硬盘到系统上,就是增加了pv,也间接增加了pe数量,那么卷组就可以使用增加的pe来扩大自己的范围,进而提供给逻辑卷lv使用,也就实现了传说中的动态调整空间大小。


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理