当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在Ubuntu中对文件日志系统进行优化
帖子发表于 : 2006-05-19 11:52 
头像

注册: 2005-06-21 20:24
帖子: 715
地址: 甘肃
送出感谢: 0 次
接收感谢: 0 次
过年之后 一直没有动手谢过东西 今天闲下来 好不容易写点东西

ubuntu目前支持很多文件格式,有很多是日志形式的,日志的确是好东西,有了它就有了很高的安全性。
但是日志同样带来了一些性能的问题,大家都知道现在很多时候电脑的瓶颈在I/O,而且特别是笔记本电脑,硬盘转速不高,这方面的问题更严重,所以我准备了一个解决这个问题的方法,但是前提是这个方法会降低硬盘数据的安全性,所以请好好考虑过在利用。

第一部分 预备知识

首先 我们的优化真对于reiserFS和ext3,他们都有三种日志模式:

journal日志模式
日志中记录包括所有改变文件系统的数据和元数据。它是三种日志模式中最慢的,但它将发生错误的可能性降至最小。使用journal模式要求系统将每个变化写入文件系统2次、写入日志1次,这将降低文件系统的总性能,但它的确是使用者最心爱的模式。由于记录了在文件系统中元数据和数据更新情况,当一个系统重新启动的时候,这些日志将起作用。

ordered日志模式
仅记录改变文件系统的元数据,且溢出文件数据要补充到磁盘中。这是Ubuntu缺省的日志模式。这种模式降低了在写入文件系统和写入日志之间的冗余,因此速度较快,虽然文件数据的变化情况并不被记录在日志中,但它们必须做,而且由系统的守护程序在与之相关的文件系统元数据变化前执行,即在记录元数据前要修改文件系统数据,这将稍微降低系统的性能,然而可确保文件系统中的文件数据与相应文件系统的元数据同步。

writeback日志模式
仅记录改变文件系统的元数据,但根据标准文件系统,写程序仍要将文件数据的变化记录在磁盘上,以保持文件系统一致性。这是速度最快的日志模式。因为它只记录元数据的变化,而不需等待与文件数据相关的更新如文件大小、目录信息等情况,对文件数据的更新与记录元数据变化可以不同步,即异步的日志。缺陷是当系统关闭时,更新的数据因不能被写入磁盘而出现矛盾,这一点目前尚不能很好解决。

而我调整磁盘性能的出发点就从这个writeback开始,我们需要把ext3或者reiserFS的日志模式修改下,这个修改是可能带来隐患的,再次提醒大家,做得时候想明白。(不过其实你不经常断电的话,就没有什么问题,linux有不会死机,你让他正常关机,就没有任何问题)

第二部分 正式开工
代码:
sudo gedit /etc/fstab

添加几个参数在你的fstab里面
添加前:
代码:
/dev/hda7       /               reiserfs defaults        0       1

添加后:
代码:
/dev/hda7       /               reiserfs defaults,data=writeback        0       1

保存之后,去修改内核参数
代码:
sudo gedit /boot/grub/menu.lst

在你需要的内核的参数后面加上一句:
代码:
kernel      /vmlinuz-2.6.16.16 root=/dev/hda7 ro quiet splash rootflags=data=writeback

这样的话 每次你更新内核 这句加上去的话就会自动被抹掉,所以你可以采用下面的方法在另外两行加上这句话
代码:
# nonaltoptions=quiet splash rootflags=data=writeback
# altoptions=(recovery mode) single rootflags=data=writeback

这样再运行:
代码:
sudo update-grub

就会为每一内核加上需要的参数,而且升级内核以后也会自动增加。

现在如果你使用的是reiserFS那么基本上已经ok了,但是如果是ext3你还需要作下面的事:
代码:
sudo tune2fs -o journal_data_writeback /dev/hda1

然后检查下他是否正常工作了
代码:
sudo tune2fs -l /dev/hda1


第三部分 一点补充设置
日志还会不停的记录上次写文件的时间,这个特性我从来没有用到过,所以我建议关掉它,性能会有微弱的提高
还是修改fstab:
代码:
sudo gedit /etc/fstab

然后在刚才的参数上加入noatime:
代码:
/dev/hda7       /               reiserfs defaults,noatime,data=writeback        0       1


第四部分 体验下
如果使用笔记本的话 重启一次就会有很明显的提高了,如果是速度7000转的高档硬盘可能也没有必要干这个事情,不过调整日志模式,即使是使用最慢的journal模式也还是会有丢失数据的危险,所以正确的当的使用电脑还是一个要点,请大家慢慢尝试。


_________________
ubuntu 6.06
我是初学者 大家多多关照


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-05-21 16:01 

注册: 2006-01-04 15:38
帖子: 74
送出感谢: 0 次
接收感谢: 0 次
不错,我照你说的试试,感受一下。


_________________
我向往自由,所以我加入了Linux ;我拥有爱心,因此我遨游在Ubuntu。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译