SQL Server 2008R2 的最佳驱动器配置

Dan*_*anP 19 sql-server hardware

我有一个运行 SQL Server 2008 R2 的相当繁忙的数据库服务器,它具有以下设置:

  • SATA RAID 1(2 个驱动器) - 操作系统/程序
  • SAS RAID 10(4 个驱动器) - Sql 数据库文件(数据和日志)
  • SAS RAID 1(2 个驱动器)- TempDB(数据和日志)

假设我无法向此服务器添加额外的驱动器,我是否充分利用了可用的配置?或者我应该在这里考虑另一种方案,例如,将日志与数据文件隔离开来?

更新:

对于那些需要更多硬件详细信息的人:

  • SATA 驱动器(用于操作系统/程序分区)是: WD 7200 RPM 3 Gb/s 3.5 英寸 SATA
  • 其他阵列中使用的 SAS 驱动器是: Seagate 15K RPM 6 Gb/s 3.5 英寸 SAS
  • 使用的 RAID 控制器是:LSI 9260-8i SAS/SATA 6 Gb 8 端口

更新 2:

根据我收到的反馈,我似乎有以下可行的选项可供选择 - 我会将赏金奖励给可以告诉我哪个可能是我概述的环境中最好的人:

  1. 保持原样 - 我可能不会做得更好
  2. 将我的 2 个 SAS RAID 1 驱动器移动到我现有的 RAID 10 阵列中,使其总共由 6 个磁盘组成
  3. 将我的日志文件移动到 SAS RAID 1 和/或将 TempDB(数据或日志)重新定位回 RAID 10

Mar*_*ith 14

这个问题的变体半定期出现:

偶尔也有关于数据/日志分离“最佳实践”的争论。

如果没有对该服务器正在做什么进行更详细的分析,则适用与之前给出的相同的建议。

  • 用于操作系统的 RAID 1
  • 用于数据/日志/临时数据库的 RAID 10(6 个磁盘)

可用主轴如此之少的拆分几乎没有任何意义。具有较大 IOP 容量的单个阵列通常比两个较小的阵列更好地吸收您的工作负载。

一种值得测试的变体是将 tempdb 放在操作系统驱动器上。仅当您有可以重复重放的代表性工作负载时才这样做,以确保对配置进行公平比较。如果您在生产中采用这种安排,请确保限制 tempdb 增长,以免无意中消耗操作系统驱动器上的所有可用空间。

鉴于您的操作系统驱动器是 7200RPM 杯垫,如果操作系统驱动器配置上的 tempdb 有任何好处,我会感到惊讶。


Pat*_*ler 7

这完全取决于您的工作负载,但只有 6 个驱动器确实会限制您的选择。如果您的工作负载在排序、哈希表和快照隔离等方面不严重依赖 tempdb,那么最好在 RAID 10 中同时使用 6 个 SAS 驱动器。但是,如果您知道或有指标来证明这一点tempdb 被大量使用,那么你应该像你一样将它分开。

  • 请记住,作为提交的一部分,SQL Server 需要将所有事务物理写入日志,因此您希望在配置中实现最快的写入性能。RAID 10 提供比 RAID 1 更好的写入性能,因此我会将日志保留在更快的卷上。 (2认同)

归档时间:

查看次数:

21083 次

最近记录:

9 年,3 月 前