一份非常内行的Linux+LVM+HOWTO.docx

上传人:b****8 文档编号:10122402 上传时间:2023-05-23 格式:DOCX 页数:23 大小:29.79KB
下载 相关 举报
一份非常内行的Linux+LVM+HOWTO.docx_第1页
第1页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第2页
第2页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第3页
第3页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第4页
第4页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第5页
第5页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第6页
第6页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第7页
第7页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第8页
第8页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第9页
第9页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第10页
第10页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第11页
第11页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第12页
第12页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第13页
第13页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第14页
第14页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第15页
第15页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第16页
第16页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第17页
第17页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第18页
第18页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第19页
第19页 / 共23页
一份非常内行的Linux+LVM+HOWTO.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

一份非常内行的Linux+LVM+HOWTO.docx

《一份非常内行的Linux+LVM+HOWTO.docx》由会员分享,可在线阅读,更多相关《一份非常内行的Linux+LVM+HOWTO.docx(23页珍藏版)》请在冰点文库上搜索。

一份非常内行的Linux+LVM+HOWTO.docx

一份非常内行的Linux+LVM+HOWTO

一份非常内行的Linux LVM HOWTO 

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]---------+ | 

| | PE | PE | PE | | PE | PE | PE | | 

| +--+---+---+---+ +-+----+----+---+ | 

| | | | +-----/ | | | 

| | | | | | | | 

| +-+---+---+-+ +----+----+--+ | 

| | Logical | | Logical | | 

| | Volume | | Volume | | 

| | | | | | 

| | /home | | /var | | 

| +-----------+ +------------+ | 

+---------------------------------------+ 

这个向我们展示了两个文件系统,它跨越两个磁盘。

/home文件系统包含4个物理分区,/var文件系统包含2个。

 

bert hubert 正在写一个工具来更真实的描述LVM,这里提供了一些它在屏幕上出现的外观。

看起来比ASCII图画要好。

 

3.1 Show & Tell 

Ok,这些概念很难理解(’We are LVM of Borg...),因此下面给出了创建一个逻辑卷的例子。

不要粘贴这个例子到你的控制台,因为这样会破坏数据,除非碰巧你的计算机的/dev/hda3和/dev/hdb2没有使用。

 

如果有疑问,查看上面的ASCII图画。

 

你应该首先设置/dev/hda3和/dev/hdb2的分区类型为0x8e,它表示”Linux LVM”。

请注意你的fdisk的版本可能仍不认识这种类型,因此它显示为“Unknown”:

 

# fdisk /dev/hda 

Command (m for help):

 p 

Disk /dev/hda:

 255 heads, 63 sectors, 623 cylinders 

Units = cylinders of 16065 * 512 bytes 

Device Boot Start End Blocks Id System 

/dev/hda1 1 2 16033+ 83 Linux 

/dev/hda2 3 600 4803435 83 Linux 

/dev/hda3 601 607 56227+ 83 Linux 

/dev/hda4 608 614 56227+ 83 Linux 

Command (m for help):

 t 

Partition number (1-4):

 3 

Hex code (type L to list codes):

 8e 

Command (m for help):

 p 

Disk /dev/hda:

 255 heads, 63 sectors, 623 cylinders 

Units = cylinders of 16065 * 512 bytes 

Device Boot Start End Blocks Id System 

/dev/hda1 1 2 16033+ 83 Linux 

/dev/hda2 3 600 4803435 83 Linux 

/dev/hda3 601 607 56227+ 8e Unknown 

/dev/hda4 608 614 56227+ 83 Linux 

Command (m for help):

 w 

我们对/dev/hdb2做同样的操作,在此就不演示了。

这是需要的,以至LVM能重建你应该丢失的配置。

 

通常,不需要重启,但有些计算机却要求。

因此如果下面的例子不工作,试试重启。

 

接着我们创建物理卷(PV),如下:

 

# pvcreate /dev/hda3 

pvcreate -- physical volume "/dev/hda3" successfully created 

# pvcreate /dev/hdb2 

pvcreate -- physical volume "/dev/hdb2" successfully created 

我们再将这两个物理卷(PV)加到一个叫做“test”的卷组(VG)中:

 

# vgcreate test /dev/hdb2 /dev/hda3 

vgcreate -- INFO:

 using default physical extent size 4 MB 

vgcreate -- INFO:

 maximum logical volume size is 255.99 Gigabyte 

vgcreate -- doing automatic backup of volume group "test" 

vgcreate -- volume group "test" successfully created and activated 

现在我们有一个空的卷组(VG),让我们来检查一下:

 

# vgdisplay -v test 

--- Volume group --- 

VG Name test 

VG Access read/write 

VG Status available/resizable 

VG # 0 

MAX LV 256 

Cur LV 0 

Open LV 0 

MAX LV Size 255.99 GB 

Max PV 256 

Cur PV 2 

Act PV 2 

VG Size 184 MB 

PE Size 4 MB 

Total PE 46 

Alloc PE / Size 0 / 0 

Free PE / Size 46 / 184 MB 

--- No logical volumes defined in test --- 

--- Physical volumes --- 

PV Name (#) /dev/hda3 

(2) 

PV Status available / allocatable 

Total PE / Free PE 13 / 13 

PV Name (#) /dev/hdb2 

(1) 

PV Status available / allocatable 

Total PE / Free PE 33 / 33 

这里的许多数据--大多数现在都容易理解了。

我们看到没有逻辑卷(LV)定义,因此我们要补上它。

我们将在“test”卷组(PV)中创建一个50MB的逻辑卷,叫做“HOWTO”:

 

# lvcreate -L 50M -n HOWTO test 

lvcreate -- rounding up size to physical extent boundary "52 MB" 

lvcreate -- doing automatic backup of "test" 

lvcreate -- logical volume "/dev/test/HOWTO" successfully created 

Ok,到这里,我们创建一个文件系统:

 

# mke2fs /dev/test/HOWTO 

mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09 

Filesystem label= 

OS type:

 Linux 

Block size=1024 (log=0) 

Fragment size=1024 (log=0) 

13328 inodes, 53248 blocks 

2662 blocks (5.00%) reserved for the super user 

First data block=1 

7 block groups 

8192 blocks per group, 8192 fragments per group 

1904 inodes per group 

Superblock backups stored on blocks:

 

8193, 24577, 40961 

Writing inode tables:

 done 

Writing superblocks and filesystem accounting information:

 done 

# mount /dev/test/HOWTO /mnt 

# ls /mnt 

lost+found 

我们做完了!

让我们回顾我们的卷组(VG),它现在充满了一些东西:

 

# vgdisplay test -v 

--- Volume group --- 

VG Name test 

VG Access read/write 

VG Status available/resizable 

VG # 0 

MAX LV 256 

Cur LV 1 

Open LV 1 

MAX LV Size 255.99 GB 

Max PV 256 

Cur PV 2 

Act PV 2 

VG Size 184 MB 

PE Size 4 MB 

Total PE 46 

Alloc PE / Size 13 / 52 MB 

Free PE / Size 33 / 132 MB 

--- Logical volume --- 

LV Name /dev/test/HOWTO 

VG Name test 

LV Write Access read/write 

LV Status available 

LV # 1 

# open 1 

LV Size 52 MB 

Current LE 13 

Allocated LE 13 

Allocation next free 

Read ahead sectors 120 

Block device 58:

--- Physical volumes --- 

PV Name (#) /dev/hda3 

(2) 

PV Status available / allocatable 

Total PE / Free PE 13 / 13 

PV Name (#) /dev/hdb2 

(1) 

PV Status available / allocatable 

Total PE / Free PE 33 / 20 

好,这就是了。

/dev/hda3完全没用,而/dev/hdb2有13个物理分区(PE)在用。

 

3.2 激活和非激活:

内核空间和用户空间 

和使用所有操作系统一样,Linux划分了两个部分:

内核空间(kernel space)和用户空间(user space)。

用户空间有时叫做用户区(userland),这也是关于这个主题的一个很好的名字。

 

关于逻辑卷管理器的创建和修改都是在用户空间做的,然后传给内核。

一旦卷组或逻辑卷向内核汇报,它就叫做“激活(Active)”。

当它被激活时,只有某些更改可以执行,其他的更改只有在它非激活时执行。

 

4. 首要条件 

LVM在很大范围内的内核中都有效。

在Linux 2.4,LVM将全部被集成。

内核2.3.47和以前的,LVM要经过处理来合并到主内核中。

 

4.1 内核 

Linux 2.4 

包含了你需要的所有内容。

希望大多数的发行版都将LVM当成模块集成来发行。

如果你需要编译,仅仅是当你选择块设备时打勾LVM选项。

 

Linux 2.3.99.* 

一旦内核向前发展稳定了,这部分就不会存在了。

但是现在,我们还是要描述一下。

 

当我们写这篇文档时,Linux最新的内核版本是2.3.99pre5,它仍然需要一些小的补丁才能使LVM工作。

 

对于Linux 2.3.99pre3,有两个补丁发行:

 

一个补丁是张贴在linux-kernel,在这里可以找到。

 

Andrea Arcangeli改进了这个补丁,提供了一个增量的补丁,它应用于2.3.99pre3 LVM补丁和这之上。

 

对于Linux 2.3.99pre5,bert hubert将这两个补丁合并成一个了,并且主要针对2.3.99pre5。

在这里可以找到这个补丁。

使用它要小心。

 

2.3.99pre6-1,是的,是补丁的一个预览版,特色是第一次完成了LVM的支持!

它仍然遗漏了Andreas的补丁,但我们确信它不久真的会发行的。

 

2.3.99pre4-ac1缺省有一个小的补丁在,并且能工作。

虽然它不包括Andreas的补丁。

 

Linux 2.2 

FIXME:

 write this 

Linux 2.3 

FIXME:

 write this 

4.2 用户余地 

你需要从LVM站点下载有效的工具。

用glibc2.1编译系统要求的一些补丁。

即使这样,在Debian 2.2上仍会出错。

 

5. 增长文件系统 

你可以用一个预备好的脚本做大量的工作,也可以根据你的需要手工做 

5.1 使用e2fsadm 

如果在你的卷组中有剩余空间,并且你使用的是ext2文件系统(大多数人都是这样的),你就可以使用这个便捷的工具。

 

e2fsadm命令利用商业的resize2fs工具。

虽然人们都感觉resize2fs是一个很好的软件,但是它并没有被广泛的安装。

 

如果你想使用FSF的ext2resize命令,你需要告诉e2fsadm以下内容:

 

# export E2FSADM_RESIZE_CMD=ext2resize 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2