从数据块大小来看,RAID10中的磁盘数量是否与Microsoft SQL服务器有关?

我们计划部署一个Microsoft SQL Server,并将数据库存储在RAID10(RAID1 + 0)块级存储上。

来源:维基百科

为了获得最佳的操作性能,我放入arrays中的驱动器总数有多less? 就像上面的图片,还是六,八,十?

有人告诉我,我需要正确数量的驱动器来为MSSQL优化块大小。

给出的例子是具有六个驱动器(D1-D6)的RAID10 …

RAID 0
├RAID1(D1; D2)
├RAID1(D3; D4)
└RAID1(D5; D6)

…会导致一个问题,因为一个64kB的块将被分成三块,结果导致一个大小为0.33%的块将被写在每个RAID1子arrays上。

这只是进一步澄清我的问题的一个例子。 那么,为了获得最佳的运行效果,我总共投入了多less个驱动器?

请参考和解释备份您的答案。

MSSql Server的块大小应为64kb,以获得最佳性能,如简单的Googlesearch所述 。

至于驱动器,RAID 10需要绝对最less4个驱动器(看你自己链接的图像),然后你可以扩展到你的心中的内容成对的2(再次看你链接的图像)。 但请记住,一旦系统正在使用,用更多的磁盘进行升级是一件痛苦的事情,所以请确保将多个磁盘放入需要存储的位置!

加成:

你的问题仍然可以得到相同的答案,在你的RAID上拥有64kB的块大小,意味着它将写入64kB的块。 MSSql与64kB大小的文件运行,意味着它将recursion地存储块。 所以说你写两个块,64kB将被存储到D1,然后镜像到D2,然后它将写入另一个块到D3,并将其镜像到D4。 在任何时候它都不会尝试将块分割,如果将块大小设置为8kB,会发生什么情况。 然后它将块分成8块,所以第1,4,7块会在D1上,第2,3,5块上的第2,3,5块会去D5。 这当然会相应地反映出来。