对于使用率相当高的 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
答案3
RAID 10 比 RAID 5 更快。除此之外,规格看起来还不错。
答案4
我很想做以下事情:
- Raid 10 用户数据库数据文件(4个磁盘)
- Raid 1 用户数据库日志文件(2 个磁盘)
- Raid 1 TempDB 和系统数据库(2 个磁盘)
如果可能的话,通过网络备份到另一台服务器。
使用 64 位,至少 8GB RAM。