|
|
发表于 2006-9-6 20:35:32
|
显示全部楼层
Post by liaojunmin
链接打不开啊
打得开,没有问题
我把它搬回来算了
原文出处:中国Linux公社 -> Debian/LFS/Gentoo专题版
http://www.linuxfans.org/nuke/mo ... 7&highlight=lvm
转贴
Post by "Hauser"
用LVM来管理portage的东东
LVM即Logical Volume Manager(逻辑卷管理)。 使用LVM可以灵活地管理分区,在系统运行的时候也可以按需要增加或减小分区的大小。
假设我们将用/dev/hda3来做LVM,portage的东东包括/usr/portage,/vat/tmp/ccache和/var/tmp/portage这3个目录。
首先用fdisk将hda3的分区类型改成8e (Linux LVM)。(如果用lvm2的话,这步非必需,但从磁碟管理的角度做一下也有好处)
编内核:- Device Drivers --->
- Multi-device support (RAID and LVM) --->
- [*] Multiple devices driver support (RAID and LVM)
- < > RAID support
- <*> Device mapper support
- < > Crypt target support
复制代码 如果Device mapper support编成模组,则需在/etc/modules.autoload.d/kernel-2.6里加入dm-mod。
安装lvm2:编辑/etc/lvm/lvm.conf,找到这一行:改成- filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
复制代码 即只扫描/dev/hda或/dev/hdb。
重新开机以启用dev mapper驱动。
准备分区:这样在/dev/hda3最前面会生成个卷组descriptor 。
创建名为myvg的卷组(volume group):- # vgcreate myvg /dev/hda3
复制代码 创建逻辑卷:- # lvcreate -L3G -nportage myvg
- # lvcreate -L2G -nccache myvg
- # vgdisplay myvg | grep Free (看看还剩多少空间)
- Free PE / Size 667 / 2.61 GB
- # lvcreate -l 667 myvg -n tmp (让tmp占用其余的空间)
复制代码 在/dev/myvg里应该可以看到portage, ccache和tmp的设备了。
在逻辑卷上创建文件系统:- # mkreiserfs /dev/myvg/portage
- # mkreiserfs /dev/myvg/ccache
- # mkreiserfs /dev/myvg/tmp
复制代码 将/usr/portage, /var/tmp/ccache和/var/tmp/portage里的东西搬到临时目录,挂好逻辑卷后,再搬回去:- # mv /usr/portage/* /root/portage
- # mv /var/tmp/ccache/* /root/ccache
- # mv /var/tmp/portage/* /root/tmp
- # mount /dev/myvg/portage /usr/portage
- # mount /dev/myvg/tmp /var/tmp/portage
- # mount /dev/myvg/ccache /var/tmp/ccache
- # mv /root/portage/* /usr/portage
- # mv /root/ccache/* /var/tmp/ccache
- # mv /root/tmp/* /var/tmp/portage
复制代码 在/etc/fstab里加入以下几行:- # Logical volumes
- /dev/myvg/portage /usr/portage reiserfs noatime 0 0
- /dev/myvg/ccache /var/tmp/ccache reiserfs noatime 0 0
- /dev/myvg/tmp /var/tmp/portage reiserfs noatime 0 0
复制代码 之后如果重新开机,这几个逻辑卷便会自动挂好了。
现在让我们看看LVM的好处。
减少逻辑卷portage的大小(-1500M):- # umount /usr/portage/
- # resize_reiserfs -s-1500M /dev/myvg/portage (为避免数据受损,首先减少文件系统的大小)
- # lvreduce -L-1500M /dev/myvg/portage (减少逻辑卷的大小)
- # mount /usr/portage
复制代码 增加逻辑卷portage的大小(+1G),注意次序有点不同的:- # lvextend -L+1G /dev/myvg/portage
- # resize_reiserfs -f /dev/myvg/portage (这次无须卸载或指定大小了)
复制代码 将另一物理分区(/dev/hda9)加入卷组myvg里:- # pvcreate /dev/hda9
- # vgextend myvg /dev/hda9
复制代码 这样又可以再创建新的逻辑卷了。
其他有用的命令:- # umount /dev/myvg/tmp
- # lvremove /dev/myvg/tmp (移除逻辑卷tmp)
- # vgreduce myvg /dev/hda9 (将物理分区/dev/hda9从卷组myvg里移除)
- # vgchange -a n myvg (暂停使用卷组myvg)
- # vgchange -a y (启用现有的卷组)
- # vgremove myvg (移除卷组myvg)
复制代码
P.S.由于我较少看中文文档,有些技术名词我不知道怎么讲,便随意翻译了一下,希望大家能看得明白。 |
|