LinuxSir.cn,穿越时空的Linuxsir!

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

如何在x86(_64)平台上使用大block size的文件系统?

[复制链接]
发表于 2010-2-20 15:08:38 | 显示全部楼层 |阅读模式
想到一个解决软RAID5性能问题的方法:

简单的说,RAID5的数据大至按下面的方法存储,根据设备和配置的不同,细节上有些差别:

DISK1       DISK2       DISK3       DISK4       DISK5
chunk0      chunk1      chunk2      chunk3      CHECKSUM
chunk4      chunk5      chunk6      CHECKSUM    chunk7
chunk8      chunk9      CHECKSUM    chunk10     chunk11
                   .     .     .       .

如果按照上面的方式,使用五块硬盘组建RAID5,将chunk size设置为8K,那么任何时候系统都需要至少读取32K(4个chunk)的数据才能够计算checksum.

如果能够将文件系统的block size设置为32k,那么每次对文件的读写都将横跨所有硬盘,这对于外部存储设备(NAS,SAN),数据库系统来说将会有很大的性能提升,而且不需要很大的RAID cache.

上网搜寻了许久,发现通常这个block size不能大于page size,而page size在X86架构上是固定为4K的,很郁闷。尝试打开了huge page,仍然无法挂载block size > 4k的文件系统。

我找的信息显示这个问题在07年热乎了一段时间,按说现在应该有成熟的解决方案,不知道哪位高人有这方面的经验,介绍一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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