分类: LINUX
2008-04-28 08:00:12
来源:赛迪网 作者:foxl |
◆安装ReiserFS文件系统
如果希望更多地从技术方面了解reiserFS文件系统,请参考NAMESYS和FAQ。
ReiserFS文件系统从2.4.1-pre4开始就是Linux内核的正式支持的文件系统了。为了使用reiserFS文件系统那你首先需要在系统上安装文件系统支持工具(如:创建ReiserFS文件系统的mkreiserfs工具)。最新的ReiserFS文件系统版本可以以补丁的方式添加到2.2.x或者2.4.x内核中。这里我们以2.2.19为例:
第一步,首先下在内核源码,并下在ReiserFS文件系统的2.2.19补丁 ,目前补丁最新版本是linux-2.2.19-reiserfs-3.5.34-patch.bz2。同时应该下载工具软件包:reiserfsprogs-3.x.0j.tar.gz。
然后解压内核源码和补丁包到/usr/src中:
tar -Ixf linux-2.2.19.tar.bz2
bzcat linux-2.2.19-reiserfs-3.5.34-patch.bz2 | patch -p0
编译内核支持reiserfs,安装内核。然后安装文件系统工具软件:
cd /usr/src/linux/fs/reiserfs/utils
make
make install
安装新内核并重新启动。现在就可以创建新的reiserfs文件系统,并加载:
mkreiserfs /dev/xxxx
mount -t reiserfs /dev/xxx /mount_dir
◆文件系统性能测试
测试环境使用的计算机环境如下:Pentium III - 16 Mb RAM - 2 Gb HD,操作系统为RedHat6.2。所有的文件系统都能正常工作,所以就进行benchmark分析来对它们进行性能比较。首先我直接拔掉系统电源以模拟系统掉电情况,以测试日志文件系统恢复过程。所有的文件系统都成功地经过了文件扫描检测阶段,在数秒以后系统都经过了扫描然后正常启动了系统。
下一步就采用了bonnie++性能测试程序()进行测试,这个程序对一个文件进行数据库类型的访问,进行了创建、读和删除小文件,这些操作对于Squid、INN或者Maildir格式的邮件服务器程序(qmail)是最常见的操作。性能测试命令为:
bonnie++ -d/work1 -s10 -r4 -u0
其对加载在/work1目录下的文件系统进行了10Mb(-s10)的测试。因此在执行测试之前必须创建适当类型的文件系统并加载到目录/work1下。其他的参数指定内存大小(-r4)的M数,和以root身份运行测试程序,测试结果如下:
每种测试都有两组数据:文件系统速度(K/sec)和CPU占用率(%CPU)。速度越高,文件系统越好。而对于CPU率来说,数字越小性能越好。可以看到Reiserfs文件系统在文件操作方面(Sequential Create和Random Create部分的) 的性能最好,超出其他文件系统10倍之多。在其他方面(Sequential Output和Sequential Input)则和其他文件系统性能不相上下。对于其他文件系统则没有特别明显的区别。XFS性能接近ext2文件系统,ext3文件系统则比ext2要稍微慢上一些(因为记录日志需要一些额外的时间)。
最后使用从得到的性能测试程序mongo,并对其进行了修改以对三种日志文件系统进行测试。这里在mongo.pl程序中添加了添加了加载xfs和ext3文件系统的命令,并对其进行格式化处理,然后就开始性能测试分析。 该脚本格式划分区/dev/xxxx,加载其并在每个阶段运行指定数目的进程:创建、拷贝、符号连接处理、读、显示文件状态信息、重命名和删除文件。同时,该程序在创建和拷贝阶段以后会计算分段数(fragmentation)。
Fragm = number_of_fragments / number_of_files
可以在结果文件中得到同样的测试比较结果:
log - 原始结果
log.tbl - 比较程序的输出结果
log_table - 表格式的结果
下面的命令进行测试:
mongo.pl ext3 /dev/hda3 /work1 logext3 1
如果要测试其他文件系统,就需要把上面命令的参数中的ext3修改为reiserfs或xfs。其他参数分别为要加载的分区,加载路径,保存测试结果的文件名及启动的进程数。
下面的表格是测试结果。数据单位为秒。值越低性能越好。第一个表格测试使用的数据块大小为100字节,第二个表格为1000字节,最后一个为10000字节
从上面的表格可以看到ext3在状态删除和重命名方面要性能更好一些,而ReiserFS文件系统在文件创建和拷贝性能表现更出色。同时也可以看到reiserFS正如其技术文档提到的其在小文件处理方面性能相当出色。
◆结论
目前Linux至少有两个健壮可靠的日志文件系统可供选择(XFS和reiserFS),其都得到了广泛的应用。例如Mandrake8.1就默认支持reiserFS文件系统。
从性能测试的结果可以看到,reiserFS是最好的选择。 |