我们有一个很高的事务(大量读写)数据库服务器(运行SQL 2005),当前使用RAID 1操作系统分区(C :)和RAID 5数据/日志/ tempdb分区(D :)设置。 C:有2个驱动器,D:有4个驱动器。 该服务器有大约300个数据库,大小从10MB到2GB不等。
我一直在阅读关于分区磁盘的最佳实践,但由于我们的磁盘数量有限,所以希望对我们的设置有一些看法。
看起来RAID 10很受欢迎,但是我不认为我们只能用6个磁盘来使用它。
谢谢。
更新
我去了3个RAID 1分区(每个2个磁盘)
使用6个主轴设置RAID卷的常用“最佳”方法是:
操作系统的位置并不重要。 系统启动运行时,操作系统应逐渐进入稳定状态,操作系统只偶尔触摸磁盘。 如果您需要将操作系统置于4磁盘RAID 0 + 1arrays上,请不要担心。
此外,您必须确保分区边界 (因此文件系统块) 与RAID条带边界alignment 。
上述设置可能会或可能不会为您工作 – 当您告别RAID5时,您将失去一些容量。 对于现代的磁盘驱动器,您可能拥有足够的磁盘空间(每秒I / O通常成为容量之前的瓶颈)。 对于较旧的驱动器,容量可能是一个限制因素。
Kendal Van Dyke已经写了关于不同RAID级别,分区alignment以及它们在SQL Server工作负载上的性能的很好的概述 。
如果您的C:卷上有空间,请考虑将非常活动的数据库的事务日志文件和/或您的TempDB数据和日志文件移动到该卷上。 RAID 1比RAID 5更好。
投入尽可能多的内存来减less磁盘IO的数量(内存当前便宜)。 这将改善你的阅读。 如果你使用的是32位的环境,那么记住你必须configurationAWE来处理大于4GB的内存。
由于驱动器数量有限,因此无法获得最佳的设置。 这将是单独的磁盘设置为:
如果你能够承受失去一个磁盘的空间(你在RAID 5空间中为4个磁盘空间损失了1个磁盘空间,那么在RAID 10空间上就会失去2个),然后重新configuration磁盘可能会增加性能有点,如果瓶颈是磁盘。
你看到具体问题吗? 或者你只是想在优化设置之前有什么?
除了K布莱恩·凯利(K Brian Kelley)给出的build议外,还要考虑分区alignment。 如果您使用Windows 2008,则不必担心分区会自动alignment,但在Windows 2003上,您需要手动执行此操作。 阅读本白皮书以了解谁应该这样做。 通过调整分区,可以提高30-40%的性能。
如何将一个RAID 10中的所有6个磁盘设置为一个分区,并为另一个(1或2)分区设置数据? 考虑到你可以通过在机器中添加大量的RAM来避免重复使用swap?