为 SQL Server + OS 配置 6 磁盘 RAID 的最佳方法是什么?

Blu*_*Fox 6 raid windows-server-2008 sql-server-2008

我正在使用以下硬件在 Win 2k8 上设置 SQL Server:

  1. 6 x WD RE3 500G SATA
  2. PERC H700

我读过一些建议,将日志文件和操作系统放在自己的 RAID1 上,而其余数据放在 RAID10 上,这将是 8 个磁盘的最佳配置。但是我缺少 2 个磁盘,想知道哪个配置也一样好。

选项 1) 2 x RAID1 用于操作系统和日志,4 x RAID10 用于数据

选项 2) 6 x RAID10 用于操作系统、日志和数据

PS 在 RAID10 中对磁盘进行分区有什么区别吗?

use*_*626 5

如果您不能为 Raid 1 Log 磁盘添加 2 个额外的磁盘,我会亲自使用选项 1。

RAID 10 分区为您提供镜像和条带以提高速度和冗余度。

这个问题也在StackOverflow 中被问过和回答过。也许它会有你正在寻找的答案。

  • 选项 1. 没有问题。OS+Logs 的 RAID 1 很好 - 操作系统通常没有很多 IO。另一个为您提供完美的数据速度。 (2认同)

Mas*_*imo 5

这里的一般观点是,当同时访问两组文件时,在不同的物理磁盘(或 RAID 卷)上拥有两组文件会使事情变得更快;这就是为什么操作系统通常有自己的卷(它自己做一些 I/O,你不希望在处理大量数据时变慢),这也是为什么你通常想要拆分你的数据基于他们的使用模式。

也就是说,SQL Server 更重要的一点是,不仅事务日志通常与数据文件同时访问,因此将两者分开是一个不错的选择,而且如果您需要至少其中一个希望能够在硬件故障的情况下真正恢复事物。如果您丢失了事务日志,您可以创建另一个集合,但您的实际数据是安全的……如果您丢失了数据,事务日志将让您从上次备份恢复到故障点。如果同时丢失数据和日志,则只能恢复上次备份,仅此而已。

您方案中的最佳选择是创建三个 RAID 1 卷,一个用于操作系统,一个用于数据库文件,另一个用于事务日志。我知道这看起来像的空间很大的浪费(操作系统是无处如果你遵循适当的备份计划使用500 GB,所以事务日志),但它会帮助很多,当涉及到性能和可恢复性。而且,如果您不打算需要超过 500 GB 的实际数据,它会非常适合您。

如果您不能这样做,则将 RAID 1 卷用于操作系统和日志,将 RAID 10 卷用于数据。这是您拥有的硬件所能做的最好的事情。但是,无论你做什么,你真的不应该把数据和日志放在同一个地方。

关于多个分区:这完全没用,甚至会使事情变得更糟。同一磁盘(或 RAID)中的三个分区与单个分区的性能完全相同(= 很差),或者由于磁盘几何问题甚至更糟;它对恢复没有帮助,因为在硬件故障的情况下,无论如何你都会丢失所有这些。

哦,为了您自己,如果您完全关心写入性能,甚至不要考虑使用 RAID 5。

  • 同一个磁盘上的三个分区的性能可能比单个分区*差*,尤其是在磁盘远未满的情况下,因为使用多个分区会增加磁头在包含请求数据的柱面*之间移动的距离。(* 我完全承认在硬盘上任何对“柱面”的引用都可能表明我正在变老。) (3认同)