我们正在建立一个新的数据库系统,并有 15 个驱动器可供使用(+2 个用于操作系统)。
总共有 15 个驱动器,最好将所有 14 个驱动器设置为一个 RAID-10 块(+1 个热备用)或分成两个 RAID-10 组,一个用于数据(8 个磁盘),一个用于日志/备份(6 个磁盘)。
我的问题可以归结为以下几点:在 RAID-10 设置中拥有更多驱动器的效果是否优于将驱动器分成更小的 RAID-10 集。
答案1
我可能会在 RAID-10 中设置 12 个,其中一个热备用,在 RAID-5 中设置 4 个,这样您就可以为备份获得一些奇偶校验,尽管 RAID-6 更为理想。
您获得的性能在很大程度上取决于您的 RAID 控制器,但使用良好的控制器,它的扩展性会相当好。
答案2
你不会喜欢它...这取决于 ;)
我会做什么:
使用 4 个驱动器,RAID 10。将 64gb 放在底部用于操作系统,其余用于日志 ;) 就这样。由于操作系统基本无所事事,并且您有一个缓存 RAID 控制器(希望如此),因此两个分区的影响很小。
其余11个...取出1个作为热备用。
10...取决于你需要什么。为了获得高性能,我会再次选择 RAID 10。
这里的诀窍是数据库存储磁盘上的任何 IO 活动都不会干扰日志 IO 功能。这基本上为两端提供了定义的 IO 特性,这些特性是有保证的,并且可以独立测量。
根据 RAID 控制器和操作系统,您可能需要小心格式化 - 在 SQL Server 上:
- 将分区对齐到 1mb - 从 2008 年开始自动对齐,之前已拧紧。使用 256k+ 条带组。
- 使用 64kb 节点 NTFS 格式化磁盘子系统(操作系统除外)
- 使用多个数据库文件,特别是至少为 tmepdb 使用尽可能多的数据库/日志文件,并且您的处理器可以并行运行线程(=核心,超线程的核心*2),因为文件存在分配“瓶颈”。
- 在正常操作中不要使用自动增长 - 预先分配空间。您确实不希望在繁忙时段出现自动增长对性能的影响。