![Hyper-V 群集上的 SQL 群集与 SQL VM](https://linux22.com/image/504436/Hyper-V%20%E7%BE%A4%E9%9B%86%E4%B8%8A%E7%9A%84%20SQL%20%E7%BE%A4%E9%9B%86%E4%B8%8E%20SQL%20VM.png)
在我正在考虑的部署中,我们有一个需要高可用性的生产 SQL 服务器。它将安装在 Server 2008R2 群集上。Hyper-V 已经安装完毕。我担心在 VM 中运行 SQL 无法提供足够的高可用性解决方案,而根分区上的 SQL 群集则不行。在 VM 中运行 SQL 的性能不是问题,我只是担心在硬故障转移的情况下,VM 将重新启动,从而导致比普通 SQL 群集的故障转移时间更长的停机时间。
我感兴趣的是几个方面。虚拟机停机时间与 SQL 群集停机时间有何不同?SQL 群集中的平均故障转移时间是多长?SQL 群集是否存在一些隐藏的优势,例如事务被发送到的共享队列,因此如果一个节点发生故障,事务将在数据库恢复在线后应用于数据库?还是说两者并没有什么区别?
目前,Hyper-V 看起来相当不错,因为可以在不中断任何客户端访问的情况下运行计划的故障转移。
答案1
SQL Server 故障转移涉及运行拥有数据库的主服务器和准备好拥有数据库的备份服务器。在故障转移时,备份服务器接管存储,重播日志,然后使数据库上线。随后是一段时间,数据库的热门部分根据需要被带入内存。故障转移时间的最大限制是重播日志,因为这需要在数据库开始响应查询之前完成。
如果您集群 VM 而不是 SQL 服务器,则添加 VM 重启时间以及任何文件系统检查。这些往往不会影响总恢复时间。