LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 857|回复: 7

求解决emerge产生硬盘文件碎片的解决办法

[复制链接]
发表于 2006-9-6 15:56:55 | 显示全部楼层 |阅读模式
据说经常emerge会产生众多的文件碎片,时间一长很影响速度,请问如何解决这个问题?

有人说可以单独分一个区专门emerge,因为我不清楚emerge要涉及到哪些目录,请问如何操作?

最后问一下ccahe在emerge中有什么用,如何设置?

谢谢!!!!
发表于 2006-9-6 16:02:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2006-9-6 16:36:44 | 显示全部楼层
Post by liaojunmin
据说经常emerge会产生众多的文件碎片,时间一长很影响速度,请问如何解决这个问题?

有人说可以单独分一个区专门emerge,因为我不清楚emerge要涉及到哪些目录,请问如何操作?

最后问一下ccahe在emerge中有什么用,如何设置?

谢谢!!!!


不会吧
听说UNIX不会像win那样产生磁盘文件碎片并影响速度,再说ext3处理大量小文件的效率是很高的。
回复 支持 反对

使用道具 举报

发表于 2006-9-6 17:00:57 | 显示全部楼层
Post by 杨珂
不会吧
听说UNIX不会像win那样产生磁盘文件碎片并影响速度,再说ext3处理大量小文件的效率是很高的。

如果portage那十几万个文件散布到硬盘各处,search起来肯定较慢,最好的方法是将它们聚集到一个分区。
处理小文件效率最高的是reiser4。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-6 19:53:12 | 显示全部楼层
Post by kohno
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=153107&highlight=lvm
ccache的作用是再次编译某软件时时间缩短。


链接打不开啊
回复 支持 反对

使用道具 举报

发表于 2006-9-6 20:33:11 | 显示全部楼层
Post by liaojunmin
链接打不开啊

再试试,公社的服务器有时有点问题。
回复 支持 反对

使用道具 举报

发表于 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的话,这步非必需,但从磁碟管理的角度做一下也有好处)

编内核:
  1. Device Drivers  --->
  2. Multi-device support (RAID and LVM)  --->
  3.    [*] Multiple devices driver support (RAID and LVM)
  4.    < >   RAID support
  5.    <*>   Device mapper support
  6.    < >     Crypt target support
复制代码
如果Device mapper support编成模组,则需在/etc/modules.autoload.d/kernel-2.6里加入dm-mod。

安装lvm2:
  1. # emerge lvm2
复制代码
编辑/etc/lvm/lvm.conf,找到这一行:
  1. filter = [ "a/.*/" ]
复制代码
改成
  1. filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
复制代码
即只扫描/dev/hda或/dev/hdb。

重新开机以启用dev mapper驱动。
准备分区:
  1. # pvcreate /dev/hda3
复制代码
这样在/dev/hda3最前面会生成个卷组descriptor 。

创建名为myvg的卷组(volume group):
  1. # vgcreate myvg /dev/hda3
复制代码
创建逻辑卷:
  1. # lvcreate -L3G -nportage  myvg
  2. # lvcreate -L2G -nccache myvg
  3. # vgdisplay myvg | grep Free (看看还剩多少空间)
  4. Free  PE / Size       667 / 2.61 GB
  5. # lvcreate -l 667 myvg -n tmp (让tmp占用其余的空间)
复制代码
在/dev/myvg里应该可以看到portage, ccache和tmp的设备了。

在逻辑卷上创建文件系统:
  1. # mkreiserfs /dev/myvg/portage
  2. # mkreiserfs /dev/myvg/ccache
  3. # mkreiserfs /dev/myvg/tmp
复制代码
将/usr/portage, /var/tmp/ccache和/var/tmp/portage里的东西搬到临时目录,挂好逻辑卷后,再搬回去:
  1. # mv /usr/portage/* /root/portage
  2. # mv /var/tmp/ccache/* /root/ccache
  3. # mv /var/tmp/portage/* /root/tmp
  4. # mount /dev/myvg/portage /usr/portage
  5. # mount /dev/myvg/tmp /var/tmp/portage
  6. # mount /dev/myvg/ccache /var/tmp/ccache
  7. # mv /root/portage/* /usr/portage
  8. # mv /root/ccache/* /var/tmp/ccache
  9. # mv /root/tmp/* /var/tmp/portage
复制代码
在/etc/fstab里加入以下几行:
  1. # Logical volumes
  2. /dev/myvg/portage    /usr/portage      reiserfs  noatime   0 0
  3. /dev/myvg/ccache     /var/tmp/ccache   reiserfs  noatime   0 0
  4. /dev/myvg/tmp        /var/tmp/portage  reiserfs  noatime   0 0
复制代码
之后如果重新开机,这几个逻辑卷便会自动挂好了。

现在让我们看看LVM的好处。
减少逻辑卷portage的大小(-1500M):
  1. # umount /usr/portage/
  2. # resize_reiserfs -s-1500M /dev/myvg/portage (为避免数据受损,首先减少文件系统的大小)
  3. # lvreduce -L-1500M /dev/myvg/portage (减少逻辑卷的大小)
  4. # mount /usr/portage
复制代码
增加逻辑卷portage的大小(+1G),注意次序有点不同的:
  1. # lvextend -L+1G /dev/myvg/portage
  2. # resize_reiserfs -f /dev/myvg/portage (这次无须卸载或指定大小了)
复制代码
将另一物理分区(/dev/hda9)加入卷组myvg里:
  1. # pvcreate /dev/hda9
  2. # vgextend myvg /dev/hda9
复制代码
这样又可以再创建新的逻辑卷了。

其他有用的命令:
  1. # umount /dev/myvg/tmp
  2. # lvremove /dev/myvg/tmp (移除逻辑卷tmp)
  3. # vgreduce myvg /dev/hda9 (将物理分区/dev/hda9从卷组myvg里移除)
  4. # vgchange -a n myvg (暂停使用卷组myvg)
  5. # vgchange -a y (启用现有的卷组)
  6. # vgremove myvg (移除卷组myvg)
复制代码

P.S.由于我较少看中文文档,有些技术名词我不知道怎么讲,便随意翻译了一下,希望大家能看得明白。
回复 支持 反对

使用道具 举报

发表于 2006-9-6 20:45:58 | 显示全部楼层
内存大于512M的,可以在内存里emerge么
我记得有个temerge脚本
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表