zsq*_*man 15 sql-server availability-groups raid
我正在考虑为我们的 SQL Server 集群之一使用 RAID0 设置。我将概述情况并寻找为什么这可能是一个坏主意。此外,如果您有用例、白皮书或其他文档,您可以就这个主题向我指出,那就太好了。
我们在 2 个数据中心有 3 台服务器,它们是 SQL 集群的一部分。它们都在一个可用性组中运行 SQL Server。主节点旁边有一个副本,另一个位于另一个数据中心。他们正在运行具有自动故障转移功能的同步复制。所有驱动器都是企业级 SSD。他们将运行 SQL Server 2017 或 2019。
我认为与其他方法相比,在 RAID0 阵列上运行它们会有很多好处,而且几乎没有真正的缺点。我目前看到的唯一负面影响是主服务器上缺乏冗余,因此失败率增加。作为优点:
如果驱动器发生故障,而不是在有人收到通知并对其进行手动操作之前以缓慢、降级的状态运行,则服务器将立即无法保持完整的操作能力。这将有一个额外的好处,即通知我们故障转移,因此我们可以更快地调查原因。
它降低了每 TB 容量的整体故障几率。由于我们不需要奇偶校验或镜像驱动器,因此我们减少了每个阵列的驱动器数量。驱动器越少,驱动器故障的总机会就越小。
这更便宜。为我们所需的容量需要更少的驱动器显然成本更低。
我知道这不是传统的商业思维,但有什么我没有考虑的吗?我喜欢任何赞成或反对的意见。
我不是为了提高查询性能而尝试这样做,但如果有有意义的,请随时指出它们。我主要担心的是没有考虑或解决我没有想到的可靠性或冗余问题。
操作系统位于单独的镜像驱动器上,因此服务器本身应该保持正常运行。这些驱动器之一可以更换并再次镜像。它很小,除了系统数据库之外没有任何数据库文件。我无法想象这需要超过几分钟。如果其中一个数据阵列出现故障,我们会更换驱动器、重建阵列、恢复并与 AG 重新同步。根据我的个人经验,恢复比 RAID5 驱动器重建快得多。我从来没有遇到过 RAID1 故障,所以我不知道重建是否会更快。恢复将来自备份并前滚以匹配主服务器,因此主服务器上的负载增加应该非常小,仅将日志的最后几分钟与恢复的副本同步。
小智 19
我认为您在评估中遗漏了一个非常重要的方面:
你打算如何恢复?
当raid5 丢失一个驱动器时,它将以降级状态运行,直到它自动恢复。(至少如果您手头有热备件。)
当raid0 丢失驱动器时,它根本无法恢复。这意味着您已经失去了冗余,要恢复它,您需要重建您的 raid0,并将所有数据(不仅仅是损坏驱动器上的数据)从现在处于生产负载下的辅助复制回来。也就是说,现在性能受到影响的是整个生产设置,而不是单个降级的 raid5 阵列。
如果raid5(或raid6)退化状态性能损失不是您可以应对的,您可能应该改为使用raid 1+0。是的,它的成本更高,但磁盘价格就是它们,这将是物有所值的钱。
也许“主动监控 raid5 状态,并在驱动器出现故障时将负载从主设备上转移”是为您提供大部分好处而没有任何缺点的解决方案?(当然,除了失去在没有任何本地冗余的情况下运行的酷炫因素之外。)如果您的 raid5 驱动器恢复比完整的数据库数据同步花费的时间长得多,那么您的 raid 软件运行异常,或者您的磁盘严重超大,我想。
Geo*_*ios 16
此处应考虑驱动器故障。
想象一下,我们的驱动器在任何一天都有 1/1000 的故障率。想象一下,我们的 3 个阵列中的每一个都有 20 个驱动器。
因此,阵列中单个驱动器发生故障的几率为 20/1000 = 1/50。同一阵列中两个驱动器发生故障的几率接近 20/1000 * 20/1000 / 2 = 200/1000000 = 1/5000。因此,通过从 RAID 0 切换到 RAID 5,我们已经大大降低了杀死我们的阵列之一的可能性。
所以我们可以更进一步——如果一个阵列在一天内发生故障的几率是 1/50,那么一天内两个阵列发生故障的几率是 1/(50*50) = 1/2500。假设相同的磁盘集,两个相同的 RAID 0 阵列发生故障的几率是一个 RAID 5 阵列发生故障的几率的两倍。失败几率的指数级增长应该引起您的关注,因为它极大地增加了多个阵列同时出现故障的几率。
由于这些磁盘可能有很长的使用寿命,因此您可能会运行上述数字并直接查看这将对可靠性产生什么影响 - 如果您可以发布驱动器规格,我可以将该计算添加到这篇文章中。风险是否可以接受由您的组织决定。
另一个需要注意的事项是,使用同一批次(同一工厂、同一时间)制造的 SSD 会增加驱动器故障的可能性。如果你不小心,你可能会因为这个问题而导致所有 3 个节点都关闭。
免责声明:以上计算已经过简化——它们仍然相对准确。
Dav*_*oft 13
我认为与其他方法相比,在 RAID0 阵列上运行它们会有很多好处,而且几乎没有真正的缺点。
当运行带有内部/直连存储驱动器的 AG 时,这是一种非常常见的配置。特别是对于 NVMe 或其他基于 PCI 的闪存设备。
它只是将驱动器故障视为服务器故障。对于少量固态驱动器,与服务器的其他固态组件相比,驱动器的 MTBF 并没有显着降低,因此您只需将每个驱动器视为故障点服务器,并在驱动器出现故障时更换/重建服务器。
归档时间: |
|
查看次数: |
4751 次 |
最近记录: |