Linux RAID5最佳块大小

我再一次提出了如何最佳地优化磁盘结构的问题。 在我的组织中,我们有一个14TB Linux软件RAIDarrays,专用于存储使用Symantec Backup Exec所做的备份。 这些是大文件,每个大小为10GB-100GB,并且有一些支持的元数据文件大小为几KB。 长话短说,我们必须重新创build数组,我想知道这个用例的最佳数组块大小。

我们的设置细节:

一个Netgear ReadyNAS Pro,运行一个干净和更新的CentOS 6.4安装。

6 x 3TB消费者(SATA II,7200 RPM)硬盘驱动器(相同尺寸)。

每个驱动器有3个相同的分区,形成3个软件RAID设备:

  • / dev / md0:在RAID6中为6 x 32GB
  • / dev / md1:6个4GB交换RAID10
  • / dev / md2:RAID5中的6 x 2.7TB存储,总共有效存储量为14TB

此外,还有一个集成的128MB闪存设备设置为/ boot

/ dev / md2是我关注的数组。 通过两台机器上的双千兆位NIC上的多pathiSCSI(也运行9k巨型帧),将其作为驱动器“R:”提供给运行Symantec Backup Exec的Windows Server 2008 R2盒。

在Server 2008中,R:被格式化为具有64k簇大小的NTFS,并且专用于存储备份文件。 平均文件大小通常在40MB到5GB之间,取决于目前的完整版本与增量版本/差异版本的比例。 磁盘使用率在读取和写入之间大约是50/50,因为我们也将这个驱动器的备份镜像到磁带。

总的来说,考虑到硬件,我认为优化这个设置相当好,但我不是一个存储专家,RAID块的大小的影响稍微超过了我。 我知道默认的mdadm块大小是512KB。 这是最适合我的情况吗? 我应该调整这个以匹配NTFS簇的大小吗? 还是有一些我错过的魔法配方?

感谢您的任何帮助,您可以提供。

编辑:下面的基准testing结果。 并非所有组合都经过testing。

 ########## 4K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.551 MB/s Sequential Write : 96.759 MB/s Random Read 512KB : 107.033 MB/s Random Write 512KB : 56.770 MB/s Random Read 4KB (QD=1) : 9.500 MB/s [ 2319.2 IOPS] Random Write 4KB (QD=1) : 5.042 MB/s [ 1231.0 IOPS] Random Read 4KB (QD=32) : 101.717 MB/s [ 24833.3 IOPS] Random Write 4KB (QD=32) : 8.237 MB/s [ 2010.9 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 13:10:31 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 32K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 91.276 MB/s Sequential Write : 11.119 MB/s Random Read 512KB : 0.000 MB/s Random Write 512KB : 0.000 MB/s Random Read 4KB (QD=1) : 0.000 MB/s [ 0.0 IOPS] Random Write 4KB (QD=1) : 0.000 MB/s [ 0.0 IOPS] Random Read 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Random Write 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 14:37:05 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 64K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.968 MB/s Sequential Write : 103.318 MB/s Random Read 512KB : 105.047 MB/s Random Write 512KB : 48.321 MB/s Random Read 4KB (QD=1) : 10.373 MB/s [ 2532.5 IOPS] Random Write 4KB (QD=1) : 5.180 MB/s [ 1264.5 IOPS] Random Read 4KB (QD=32) : 95.106 MB/s [ 23219.3 IOPS] Random Write 4KB (QD=32) : 9.108 MB/s [ 2223.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 12:47:37 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 128K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 111.908 MB/s Sequential Write : 94.305 MB/s Random Read 512KB : 104.772 MB/s Random Write 512KB : 43.821 MB/s Random Read 4KB (QD=1) : 9.247 MB/s [ 2257.6 IOPS] Random Write 4KB (QD=1) : 4.929 MB/s [ 1203.3 IOPS] Random Read 4KB (QD=32) : 101.764 MB/s [ 24844.8 IOPS] Random Write 4KB (QD=32) : 7.949 MB/s [ 1940.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 13:52:01 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ########## 512K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 110.237 MB/s Sequential Write : 93.149 MB/s Random Read 512KB : 104.892 MB/s Random Write 512KB : 41.407 MB/s Random Read 4KB (QD=1) : 6.760 MB/s [ 1650.3 IOPS] Random Write 4KB (QD=1) : 3.539 MB/s [ 864.0 IOPS] Random Read 4KB (QD=32) : 101.139 MB/s [ 24692.3 IOPS] Random Write 4KB (QD=32) : 7.166 MB/s [ 1749.6 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 12:22:58 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) ##########1024K Chunk########## ----------------------------------------------------------------------- CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo Crystal Dew World : http://crystalmark.info/ ----------------------------------------------------------------------- * MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s] Sequential Read : 112.327 MB/s Sequential Write : 92.353 MB/s Random Read 512KB : 107.015 MB/s Random Write 512KB : 39.793 MB/s Random Read 4KB (QD=1) : 9.536 MB/s [ 2328.0 IOPS] Random Write 4KB (QD=1) : 3.671 MB/s [ 896.3 IOPS] Random Read 4KB (QD=32) : 101.990 MB/s [ 24900.0 IOPS] Random Write 4KB (QD=32) : 0.000 MB/s [ 0.0 IOPS] Test : 1000 MB [R: 0.0% (0.1/13791.8 GB)] (x5) Date : 2013/07/12 14:17:08 OS : Windows Server 2008 R2 Enterprise Edition (Full installation) SP1 [6.1 Build 7601] (x64) 

至less,您希望块大小是文件系统块大小的倍数或除数。 你有这个。

其他一切都可能是执行依赖。 既然你从头开始,你应该推出你自己的基准。 而不是创build一个14 TB的RAID组,testing每个驱动器只有500 GB的各种块大小。 较小的卷大小将减less创build卷所需的时间。

当您find适合您的设置的最佳数字时,请创build您的14 TB RAID组。 再次testing,以确保您没有性能下降。