我在寻求你的意见和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客户端的文件服务器(随机读/写和文件大小通常很小,但有一些大的文件服务器)。
RAID控制器端的任何特定设置? 目前条纹元素设置为256kb(可以达到512k和1mb),自适应预读策略和caching回写归功于BBU。 我应该让条纹元素的尺寸更大吗?
任何分区/文件系统级别的调整? 我隐约记得阅读有关alignment磁盘分区的开始,驱动器的数量,build立文件系统与正确的块大小等任何信息,包括链接,你可以发送我的方式,所以我可以审查将非常感激。
任何操作系统级别的调整? 由于它是一个单独的RAID卷,所以如果我把操作系统和数据存储放在一个分区上,还是应该划分出来呢? 我打算也使用VSS,应该是另一个单独的分区? 它甚至可以在同一个分区?
其他最佳实践?
提前致谢。 我是一个路由器/开关/ 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是经过预先调整的,可以优化文件共享工作量。