ext3格式选项

我在软件raid5(md)之上创build一个ext3文件系统,我想知道创build文件系统(使用mkfs.ext3)和安装时最好的参数是什么。

RAID5块大小为128k,arrays有3个驱动器,有效总数为900 GB。 ext4不是一个选项。

编辑:文件系统有几个VPS(虚拟私人机器),包括一个Gentoo VPS与很多很多小文件。 VPS不使用图像,它们直接在文件系统上存储文件。 它也有很多500-1000 MB的文件。

谢谢,马蒂奇

优化条带大小的理念是优化它,因此,在典型的工作负载中,大部分读取请求可以通过一次读取(多次)实现,并均匀分配到所有数据磁盘上。 对于三个磁盘的RAID-5集合,数据磁盘的数量是两个。

例如,假设我的典型工作负载使I / O读取请求平均为128kB。 如果我有三个磁盘的RAID-5集合,那么你会想要大块的64kB。 像这样计算它:

avg request size / number of data disks = chunk size 128kB / 2 = 64kB 

这是你的RAID组的大小,我们还没有到达文件系统。

下一步就是确保文件系统与RAID组的特性保持一致。 因此,我们要确保文件系统知道RAID组的块大小。 然后它可以在三个磁盘上均匀地分配超级块。

为此,我们需要告诉mke2fs一个块的大小是多less,更准确地说,有多less个文件系统块将适合一个块。 这被称为文件系统的“大步”:

 chunk size / size of filesystem block = stride size 64kB / 4kB = 16 

然后可以用-E stride = 16选项调用mke2fs。

前面提到的页面也提到了mke2fs的-E stripe-width选项,但我从来没有用过,我的mke2fs版本也没有提到它。 如果我们想要使用它,我们可以像使用32一样使用它:条带宽度是通过将步幅乘以数据磁盘的数量(在您的情况下是两个)来计算的。

现在到这个问题的核心:什么是最佳块大小? 如上所述,您将需要I / O读取请求的平均大小。 您可以通过检查iostat或sar输出中的相应列来获取此值。 您需要在一个与您正在configuration的系统工作量相当的系统上长时间执行此操作。

确保你知道什么样的单位价值使用:扇区,千字节,字节或块。

没有更多的知识,你的确切的工作量,我会说,默认可能是最好的select。 也许-m 0如果你不担心非root用户填满磁盘,和/或设置dir_index如果你要做一个目录中的文件数量愚蠢的事情。

确保将文件系统与RAID条带大小alignment –

http://wiki.centos.org/HowTos/Disk_Optimization

有一个很好的总结。

通过确保文件系统正确alignment,可以避免在RAID5上执行RMW,这有助于提高性能。