Windows文件服务器性能调整

我在寻求你的意见和build议,以优化我正在build立的新的Windows文件服务器的性能。 我已经inheritance了戴尔NF500存储服务器(基本上与戴尔2950与Windows 2k3存储服务器操作系统)。 它有一个PERC 6i与256MB BBUcaching和6个750GB SATA驱动器和4GB系统内存。 我想我会用RAID6,因为我担心在冗长的重build过程中丢失第二块硬盘的话,RAID6的容量会变差。 RAID6卷将使用具有1x驱动器的5x驱动器作为热备份,是的,我们是超级偏执狂,但也遵循我们的标准,所有服务器都有热备份。

有了这个说法,我就其他提示和build议寻求您的意见,以优化性能。 它将通过SMB / CIFS / NFS用作Windows,Mac和Linux客户端的文件服务器(随机读/写和文件大小通常很小,但有一些大的文件服务器)。

提前致谢。 我是一个路由器/开关/ FW的家伙,所以这对我来说是一个新的。 C。

磁盘子系统:以下是Microsoft的文章:SQL Server 2008中的分区alignment方式: http : //msdn.microsoft.com/zh-cn/library/dd758814.aspx

在文章中解释的理论是为什么我给你的链接,而不是因为我认为你会运行SQL Server。 文件服务器的工作负载不像SQL Server那样容易分区alignment,但是每一点都有帮助。

NTFS:

您可以禁用NTFS中的上次访问时间戳:

fsutil behavior set disablelastaccess 1 

您可以使用以下命令来创build短文件名(如果您没有需要它的应用程序):

 fsutil behavior set disable8dot3 1 

想想你打算放在盒子上的各种文件的最佳NTFS群集大小。 通常情况下,您希望拥有尽可能大的群集大小,并将其与针对子群集大小的文件的浪费空间进行平衡。 您还想尝试将您的群集大小与您的RAID条带大小相匹配(如上所述,将条带与您的群集alignment)。

有一种理论认为大部分读取是序列化的,因此条带大小(通常是RAID控制器的最小读取次数)应该是群集大小的倍数。 这取决于服务器的具体工作量,你需要测量它确定。 我会保持他们一样的。

如果您打算拥有大量的小文件,则可能需要从NTFS主文件表(MFT)的较大的备用空间开始,以防止未来的MFT碎片。 除了上面介绍的fsutil命令,本文档还介绍了“MFT区域”设置: http : //technet.microsoft.com/en-us/library/cc785435( WS.10) .aspx基本上,要保留尽可能多的MFT磁盘空间,根据预测的卷上的文件数量,您可能需要尝试和防止MFT碎片。

Microsoft提供的关于NTFS性能优化的一般指南可以在这里find: http : //technet.microsoft.com/en-us/library/cc767961.aspx这是一个文档,但它仍然给人一些体面的背景。 不一定要尝试任何它所说的“技术性的东西”,而是从中获得概念。

布局:

你会与人分享操作系统和数据。 对于这个特定的应用程序,我可能会把所有东西都堆成一个分区 有人会过来告诉你我错了。 你可以自己决定。 当操作系统分区填满时,我看不出有什么合理的理由要“下class”。 由于它们不是独立的RAID卷,因此将操作系统和数据分成分区没有任何性能优势。 (如果他们是不同的主轴,这将是一个不同的故事…)

影子副本:

卷影复制快照可以存储在同一个卷或另一个卷上。 我没有很多关于影子副本的性能问题的背景知识,所以我会在我说一些愚蠢的东西之前就停下来。

与此设置上的其他RAID选项相比,RAID 6会降低读取IO的相当多,并且在写入IO方面会非常苛刻。 除非你必须拥有所有的空间,否则我会build议你考虑使用RAID 10.与系统中的RAID 6相比,你将会损失750GB,但性能的差异将会使你尝试的所有其他性能调整变得微不足道。 分区alignment,将条带大小与文件系统块大小相匹配以及改变Evan提出的上次访问时间等内容,这些都是极好的build议,可以将总体吞吐量提高30%以上。 RAID 10的读写速度至less要快100%,其重build时间只是RAID 5或6的一小部分。

具有2个热备件的RAID 10 – 4驱动器。 有效容量1500GB。 持续的随机读取将是基本驱动器的IOPS的4倍。 持续的随机写入将是(高达)基本驱动器单元的写入IOPS的两倍。 重build时间 – 空闲时间为4-6小时,可能是平均负载的两倍。

具有1个热备份的RAID 5 – 5驱动器。 有效容量3000GB。 持续的随机读取将是基本驱动器的IOPS的4倍。 持续的随机写入将是单个基本驱动器的写入IOPS的1倍(假设每个写入IO需要2次读取和2次写入)。 重build时间 – 一天+空闲时,在典型负载下的天数。

带有1个热备份的RAID 6-5驱动器。 有效容量2250GB。 持续的随机读取将是基本驱动器的3倍。 持续随机写入将是单个基本驱动器写入IOPS的约66%(每写入IO所需的3次读取和3次写入)。 重build时间 – 系统相对空闲的时间,在典型负载下推送一周。

当然,你的里程可能会有所不同,如果你没有太多的持续随机IO,那么大部分这些都会被caching隐藏起来,但是RAID 6的持续性能是非常苛刻的,特别是在arrays中使用相对较less的驱动器时。

WSS已经在默认情况下提供了一大堆东西:请参阅Windows Storage Server博客

“文件服务器性能优化Windows Server 2003中有一些设置可以加速networkingstream量和NAS操作,例如删除文件系统别名,closures8.3名称创build以及设置TCP ACK频率以更好地利用networking帧大小和请参考性能调整白皮书了解更多信息,OEM也可以通过设置NIC卡的中断关联性,并确保在设置RAIDarrays时考虑正确的磁盘alignment来提高性能。这些话题。“

请注意,磁盘alignment应该在工厂完成。

埃文和赫尔维克是现货,所以我只是添加一个额外的资源。 Windows Server 2003文档的性能调优指南涵盖了很多注意事项和内部调整,尽pipeJim提到,Storage Server是经过预先调整的,可以优化文件共享工作量。