日期:2014-05-16  浏览次数:20579 次

Linux 逻辑卷管理教程

这是一份翻译文档,原文是德文,逻辑卷管理在我们大多数的时候不会接触,但是在数据库和大量存储需求时,是一种很有用的技术。在此向原翻译者和网站致敬







1.?绪论?

欢迎你,亲爱的读者。?



写这个文档的目的是为了告诉你什么是LVM,它怎样工作,你怎样运用它使你的生活变得更容易。虽然有一份LVM?FAQ,但仍是德文的,它是从不同的角度来描写的。它是一份“真的”HOWTO,在传授理解(有希望的)的时候也是非常内行的。?



我要说清楚我不是一个Linux逻辑卷管理器(Logical?Volume?Manager)的作者。我向那些作者表示敬意,同时我希望能和他们合作。?



不可思议的是我甚至不知道LVM的开发者。我希望这种情况不久会改变。我事先向他们表示道歉。?



1.1?免责声明?&?许可?

分发这个文档是希望它对你有用,但是不提供任何担保,也没有销售或适应特殊目的的隐含担保。?



如果你的磁盘融化了,你公司解雇了你--这决不是我们的错。对不起。请记得经常做备份,在没有重要数据的系统上做实验。?



此外,Richard?Allen不代表他老板说话。?



Linux是Linus?Torvalds的注册商标。?



英文原文(若翻译有误,以原文为准)?



This?document?is?distributed?in?the?hope?that?it?will?be?useful,?but?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.?



If?your?disks?melt?and?your?company?fires?you?-?its?never?our?fault.?Sorry.?Make?frequent?backups?and?do?your?experiments?on?non-mission?critical?systems.?



Furthermore,?Richard?Allen?does?not?speak?for?his?employer.?



Linux?is?a?registered?trademark?of?Linus?Torvalds.?



1.2?预备知识?

不是太多。如果你曾经安装过Linux和创建过文件系统(fdisk/mkfs),那你就准备就绪了。但因为总是以root身份操作,所以一定要小心谨慎!错误的命令或操作设备文件都可能损坏已经存在的数据。?



如果你知道怎样配置HP/UX?LVM,那你几乎都完成了,Linux工作得很象HP上的处理。?



1.3?注意事项?

关于这份文档有几点需要注释。虽然我写了大部分,但我真的不希望它停步。我坚决相信Open?Source,我鼓励你反馈、更新、打补丁等等。不要不愿意告诉我们有关排版或普通的老错误。?



如果你感觉你更有资格来维护一部分,或者你认为你能创作和维护一个新的部分,欢迎你。这个HOWTO的SGML格式是通过CVS可用的。我预想这会是个合作计划。?



这份文档里,你会发现许多FIXME的通知。补丁总是欢迎的!无论你在哪里发现FIXME,你都要明白你正踩在未知的领域。这不是说其他地方没有错误,而是说这里是要特别注意的地方。如果你已经验证了什么,请告诉我,我好删除这FIXME通知。?



1.4?访问,CVS?&?更新?

这份HOWTO的规范定位在?这里。?



我们现在有匿名的CVS访问,对全世界普遍有效。这使你更容易获得最新版的HOWTO,并提供改变和增强。?



如果你想通过CVS获得这份HOWTO,下面教你怎样做:?



$?export?CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot?

$?cvs?login?

CVS?password:?[enter?cvs?(without?s)]?

$?cvs?co?lvm-howto?

cvs?server:?Updating?lvm-howto?

U?lvm-howto/lvm-howto.sgml?





如果你发现错误,或者想增加什么,本地修复它,并运行“cvs?diff?-u”,同时将结果发给我们。?



提供了一个Makefile文件来帮助你创建postscript,dvi,pdf,html?和?plain?text格式。你可能需要安装sgml-tools,ghostscript?和?tetex?以获得所有格式。?



1.5?这份文档的编排?

我们将首先解释一些需要的基本知识。我们尽量设法包括例子来帮助理解。?





2.?什么是LVM??

传统上,一个分区大小是静态的。这要求一个系统安装人员必须考虑的不是“我要在这个分区上存储多少数据”,而是“我‘究竟’要在这个分区上存储多少数据”。当一个用户在这个分区上没有空间了,他要么不得不重新分区(这可能要求整个操作系统重装),要么象符号连接一样使用组装机。?



一个分区就是物理磁盘上一系列连续数据块的概念已经演变了。多数类Unix系统现在有能力分解物理磁盘到许多单元。多个驱动器上的存储单元可以汇聚成一个“逻辑卷”,它们可以分配给分区。另外,单元可以随着空间要求的改变而从分区中添加和删除。?



这就是基本的逻辑卷管理器(LVM)?



例如,假设你有一个1GB的磁盘,并且创建“/home”分区花了600MB。设想你没有空间了,于是决定“/home”需要1GB。用传统的分区观念,你不得不有另外一个至少1GB大小的驱动器。接着增加这个磁盘,创建新的/home,并且将现有的数据拷贝过去。?



然而,用LVM配置,你仅仅只需要增加400MB(或更大)的磁盘,并将它的存储单元添加到“/home”分区中。其他工具可以让你调整原来文件系统的大小,所以你仅仅只需要调整“/home”大小来使用更大的分区,接着返回到商务中。?



一个非常特殊的处理,LVM甚至可以做它自身的“快照”,这使你能对不可移动的目标做备份。我们返回到这个激动人心的可能中,稍后,有许多另外的真实应用。?



以下章节中,我们解释了LVM的基本要素,和它使用中的许多概要。?





3.?基本原理?

Ok,不要因为恐惧而停止,但是LVM有许多你要明白的术语,以免你危及你的文件系统。?



我们从下面开始,或多或少。?



物理介质?The?physical?media?

你应该感受“物理”这个单词有极大的延伸,虽然我们刚开始假设它仅仅是一个硬盘,或者一个分区。例如,/dev/hda,/dev/hda6,/dev/sda。你可以转换一个块设备上任何连续块到一个。。。?

 ?

物理卷?Physical?Volume?(PV)?

一个PV只不过是有许多管理数据添加在它里面的物理介质--一旦你添加了它,LVM就认为它是。。。的一个持有者。?

 ?

物理分区?Physical?Extents?(PE)?

物理分区真的象一些大的数据块,通常有几MB。PE可以分配给一个。。。?

 ?

卷组?Volume?Group?(VG)?

一个VG是由许多物理分区组成的(可能来自多个物理卷或硬盘)。虽然这可能容易让你认为一个VG就是由几个硬盘组成的(例如/dev/hda和/dev/sda),但是更确切的说,它包含由这些硬盘提供的许多PE。?

 ?

>;从这个卷组,PE可以分配给一个。。。?

 ?

逻辑卷?Logical?Volume?(LV)?

Yes,我们最终到达某处。一个逻辑卷是我们工作的最终结果,这里是我们存储信息的地方。这等同于传统分区的想法。?

象用通常的分区一样,在逻辑卷上你能代表性的创建一个。。。?

 ?

文件系统?Filesystem?

文件系统是你想它成为的形态:标准的?ext2,ReiserFS,NWFS,XFS,JFX,NTFS,等等。。。对Linux内核来说,在通常的分区和逻辑卷之间没有差别。?

我试着画了一个ASCII图来使这些形象化。?



一个物理卷,包含了许多物理分区:?



+-----[?Physical?Volume?]------+?

|?PE?|?PE?|?PE?|?PE?|?PE?|?PE?|?

+------------------------------+?



一个卷组,包含了2个物理卷(PV)有6个物理分区:?



+------[?Volume?Group?]-----------------+?

|?+--[PV]--------+?+--[PV]---------+?|?

|?|?PE?|?PE?|?PE?|?|?PE?|?PE?|?PE?|?|?

|?+--------------+?+---------------+?|?

+---------------------------------------+?



我们现在做更进一步扩展:?



+------[?Volume?Group?]-----------------+?

|?+--[PV]--------+?+--[PV]---------+?|?

|?|