SQL Server 的最佳磁盘设置

SQL Server 的最佳磁盘设置

对于使用率相当高的 SQL Server,我总共可以使用 8 个物理磁盘(不包括用于镜像操作系统的 2 个)。

它用于服务一个 Web 应用程序(Win2k3、IIS6、ASP.Net),该应用程序的使用率相当高(40 万用户),写入和读取的比例相当均匀。但是数据库还不是很大(目前)——目前大约 10G。

我最初的想法是按照以下方式拆分数据库驱动器:

  • 硬件 Raid-5(3 张光盘)用于数据
  • 硬件 Raid-5(3 张光盘)用于日志
  • Tempdb 的单个磁盘
  • 单张光盘用于服务器备份

本质上,我希望通过减少不同写入(TempDB、日志和数据)之间的磁盘争用来实现最佳性能。

我很想知道大家对于这是否是最佳设置的看法,或者您是否会以不同的方式设置光盘布局。

我们可以再花费 5,000 英镑用于外部 Raid 设置,以便 Tempdb 和备份也可以进行 RAID,但我认为这有点过头了。

有什么想法吗?

答案1

如果磁盘空间不是主要问题,则应使用 RAID 1 或 10,因为它们是很多比 RAID 5 更快,尤其是写入;此外,如果只有 3 个磁盘,RAID 5 就没什么用,但阵列越大,它就越有用。

我还会避免对 tempdb 使用单个非 raid 磁盘:如果它坏了,你不会丢失任何东西,但是你的服务器将会停机,直到你可以更换它为止。

我将磁盘配置为 3 个 RAID 1 卷,每个卷有 2 个磁盘,一个用于数据,一个用于事务日志,一个用于 tempdb;这样会剩下一个磁盘,你可以用它来对备份卷进行 RAID 或作为全局热备用;我会避免将数据卷设为​​ RAID 5,因为这会使它慢点

如果您需要更多数据空间并且可以应对 tempdb 的丢失,则可以使用 RAID 10 中的 4 个磁盘存储数据,使用 RAID 1 中的 2 个磁盘存储事务日志,并使用 1 个磁盘存储 tempdb。

您可能不需要超过 2 个 RAID 1 磁盘来存储事务日志:如果您定期备份它们,它们就不会变得太多;而且您应该这样做。

答案2

经过肯德尔·范戴克,不仅有大量精彩文章的链接,还解释了不同的可能设置和性能影响。

我会做类似的事情,但这取决于您的服务器负载和硬件功能。

  • 硬件 Raid-5 数据保护
  • 用于日志的硬件 Raid-5
  • Tempdb 的 Raid 5(或 1)
  • Raid 1 用于服务器备份

答案3

RAID 10 比 RAID 5 更快。除此之外,规格看起来还不错。

答案4

我很想做以下事情:

  • Raid 10 用户数据库数据文件(4个磁盘)
  • Raid 1 用户数据库日志文件(2 个磁盘)
  • Raid 1 TempDB 和系统数据库(2 个磁盘)

如果可能的话,通过网络备份到另一台服务器。

使用 64 位,至少 8GB RAM。

相关内容