|
|
在gentoo.org上面看到了lvm的使用,翻译一下,看看有没有能用得到。。
或许已经有人翻译了,不过还是秀一下 。。
原文地址:
http://www.gentoo.org/doc/en/lvm2.xml
#################
1:介绍Introduction
本guide里面,我们以两块IDE硬盘来示例,让你可以根据自己的需求来对drive进行修改,包含partition的名称,partition的空间大小。
警告:这个文档不能代替一个LVM2指南,它仅仅是对handbook中gentoo installation部分的一个补充,在确定安装之前,请先阅读gentoo installation的手册。
1-1:初始化的前提条件:
如果你刚刚好开始安装gentoo,你需要有一张支持LVM2的cd光盘,能够启动gentoo installation。gentoo的livecd已经支持这个,你可以从gentoo.org的站点上下载(/releases/x86/current/installcd).其他的发行版应该也已经提供了LVM2的支持。
如果你想在自己当前系统的磁盘剩余空间上使用LVM2,你需要要打开LVM2的模块(dm-mod)支持.这个模块在你使用gentoo-sources和vanilla-sources的时候,已经默认支持,不过你需要重新编译你的kernel,让LVM2能够正常的工作。
并不是所有的2.4的kernel都支持LVM2。
警告:LVM2在2005.0的安装光盘中,在/usr中有一个动态链接库文件的错误(libgpm),这个错误的存在意味着你不能让/usr目录存在与lvm的环境中。除非你安装了更新的版本或者使用静态编译lvm2。
1-2:分区
下面是示例中的分区信息:
* /dev/hda1 -- /boot
* /dev/hda2 -- (swap)
* /dev/hda3 -- /
* /dev/hda4 -- Will be used by LVM2
* /dev/hdb1 -- Will be used by LVM2
注意:确定你的硬盘分区信息,一件简单的错误,就可能引起分区的整体错误。
下面,我们开始LVM2的路程。
2:安装Installation
查看handbook信息,我们需要对chapter4.preparing the disks章节进行一些更改。
使用fdisk命令,将硬盘分区按照上面的示例进行分区。(这仅仅是一个示例,你可以按照你自己的需求进行修改)
建立一个小的物理分区/boot(hda1),在这个示例中,/boot没有建立在lvm2的环境中,这个分区里面包含了操作系统的bootloader信息和kernel信息。一个64M的分区对于通常的内核已经足够。
补充:任何linux的/boot分区都不能建立在lvm2的环境中。
建立swap分区(hda2)
建立/分区(hda3),我们并不推荐你把/分区放置在lvm环境中,如果你想要这样尝试的化,请查阅本文结束部分的resources部分,那里有链接通往lvwm mini-howto。当你需要把/opt /usr /home /var /tmp等放置在lvm2 volume group(vg)中的化,你的/分区并不需要很大,在这里,有1g的空间已经足够了。
注意:一下目录不推荐放置在lvm2的分区中:/etc /lib /mnt /proc /sbin /dev /boot和/,这样的话,当系统出现严重错误的时候,你还能够进入系统进行一些恢复工作。
在这里,建立好了/boot , swap , / 分区后,在这个磁盘上建立第四个分区,并且更改磁盘的标示为8e(linux lvm),如果你有多个物理磁盘,在其他的物理磁盘上面建立一个分区,并且修改分区标示为8e(linux lvm)。
注意:鉴于当前磁盘的容量日益剧增,你更好考虑自己数据的快速增长,你可以使用一个能够让你很容易的扩展的volumeslvm2 volume group来代替建立一个分区。在这里,需要说明的是你需要在lvm2 group之外留下一些未分配的磁盘空间以备将来可能的使用。简单的来说,不要把你的磁盘空间完全分配给系统,一个简单的建议是160G的硬盘,可以留下8G~20G的容量。
在/dev/hda1 /dev/hda3上面建立文件系统,建立swap分区并且swapon这个分区(/dev/hda2)。
然后,加载lvm2 dm-mod module
#####命令:loading the lvm2 module
#modprobe dm-mod
在建立和激活lvm之前,你首先要编辑/etc/lvm/lvm.conf文件,在这里面,你需要排除一些设备。因为在默认的情况下,LVM2会扫描所有的设备,比如在扫描cdrom的时候,就会出现错误信息。在下面的例子中,我们使用 仅仅扫描除我们的两个IDE硬盘来 替代 扫描所有的设备。
#####命令:activating lvm
#避免扫描除我们的磁盘设备外的其他设备
#nano -w /etc/lvm/lvm.conf
本身的配置:
filter = [ "a/.*/" ]
替换为我们的配置:仅仅扫描/dev/hda /dev/hdb
filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
保存这个文件
#vgscan #扫描所有的physical volumes。
#vgchange -a y #将前面设置的volume groups标示为可用
2.1:准备分区Prepare the partitions.
#####preparing the partitions
#pvcreate /dev/hda4 /dev/hdb1
No physical volume label read from /dev/hda4
Physical volume "/dev/hda4" successfully created
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
建立一个volume group ,这个volume group由多个物理单元组成的一个逻辑的设备。
在我们的例子中,/dev/hda1 , /dev/hda2 , /dev/hda3 是/boot , swap , / 三个分区,所以,我们只能将/dev/hda4 , /dev/hdb1来建立。这个可以使用一个命令来完成,按照示例,我们将创建volume group(vgcreare),并且对该volume group进行扩展(vgextend)。
#####createing and extending a volume group
# vgcreate vg /dev/hda4
/etc/lvm/backup: fsync failed: Invalid argument (Ignore this warning)
Volume group "vg" successfully created
(Extending an existing volume group)
# vgextend vg /dev/hdb1
/etc/lvm/backup: fsync failed: Invalid argument (Ignore this warning, again and later as well)
Volume group "vg" successfully extended
建立一个逻辑卷,在logical volumes上,你可以建立分区就向在普通的磁盘上一样,我们将建立下面的分区:
/usr 10G
/home 5G
/opt 5G
/var 10G
/tmp 2G
现在,我们将要使用lvm2,在这里,我们不在需要对分区的大小进行担心,因为我们可以随时调整这个参数。
注意:在terje kvernes的注释里面一样,我们会比较容易的扩展分区的大写,可是最好不要去缩小他的大小。所以,你最好是建立一个比较小的分区,在后期适当的时候,对这个分区进行容量的扩展。
#creating and extending logical volumes
# lvcreate -L10G -nusr vg
Logical volume "usr" created (Further similar messages not displayed)
# lvcreate -L5G -nhome vg
# lvcreate -L5G -nopt vg
# lvcreate -L10G -nvar vg
# lvcreate -L2G -ntmp vg
下面是对一个分区扩展的示例,扩展5G的空间。
#lvextend -L+5G /dev/vg/home
在逻辑卷上建立文件系统(filesystems),就和在普通的磁盘上一样的操作。比如我们采用ext3的格式来对逻辑卷进行分区。其他的分区格式一样可以得到很好的工作。
#####creating the filesystems
#mke2fs -j /dev/vg/usr
#mke2fs -j /dev/vg/home
…………
将我们建立的lvm逻辑卷挂装在系统中,采用handbook里面相同的方法,只是将/dev/hd** 替换为:/dev/vg/logical_volumename
#####mounting you logical volumes
#mkdir /mnt/gentoo/usr
#mount /dev/vg/usr /mnt/gentoo/usr
………………
and so on
注意:剩余的安装步骤和handbook里面写的一样,没有什么改变。
下面可以开始安装gentoo了,需要注意的是,在配置内核的时候,确定你配置的kernel已经对lvm2进行了支持。需要选择如下项:
#####kernel 2.6.×kernel
Device Drivers --->
Multi-device support (RAID and LVM) --->
Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
此项选择后,建立的模块名称为:dm-mod.ko
在你建立好kernel并且安装了modules后,你需要将dm-mod加入到需要自动加载的配置文件中,在/etc/modules.autoload.d/kernel-2.6.*
#####add the lvm2 module into /etc/modules.autoload.d/kernel-2.6
dm-mod
下面,安装lvm2的软件包。
警告:确定你的/usr/src/linux连接到了正确的kernel sources ,是你当前时用的。因为在安装lvm2的时候,会需要检测/usr/src/linux/include/linux的存在。
#####emerging the lvm2 package
#emerge lvm2
配置/etc/lvm/lvm.conf,前面配置的这个文件是在安装环境中使用的,当你的机器reboot后,这个文件就不复存在了,你需要在你的gentoo相同里面,配置一个真正的文件,就和前面配置的方法一样。
在你编辑/etc/fstab文件的时候,根据handbook并且添加lvm2的逻辑卷到fstab文件中,下面是一些示例:
#####extract of /etc/fstab
/dev/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 1
# Logical volumes
/dev/vg/usr /usr ext3 noatime 0 2
/dev/vg/home /home ext3 noatime 0 2
/dev/vg/opt /opt ext3 noatime 0 2
/dev/vg/var /var ext3 noatime 0 2
/dev/vg/tmp /tmp ext3 noatime 0 2
当你完成了gentoo相同的安装,一定不要忘记umount所有的lvm2的逻辑卷。作为一个好的额外添加,可以执行下列命令终止lvm2
#####shutting down lvm2
#vgchange -a n
重新启动机器,一切正常。。。
3:重启后继续Continuing After a Reboot
如果你在安装的时候,中间被终端了,需要继续,你首先必须要建立volume device nodes
#####reactivating the volumes
#vgscan --mknodes
安装光盘需要执行下面的命令,让volumes重新起作用。
#####reactivating the volumes
(Deactivate all volumes first)
# vgchange -a n
(Export all the volumes)
# vgexport -a vg
(Import all volumes)
# vgimport -a vg
(Reactivate all volumes)
# vgchange -a y
4:资源 Resources
…………………………
5:感谢 Acknowledgements
Thanks Thilo Bangert and Terje Kvernes for their help and comments on this document. |
|