我们正在研究 SQL Server AlwaysOn 的实施选项。
AlwaysOn 依赖于 Windows 群集,我读过几篇文章,它们指出共享存储不再是群集的必要条件。我还读过几篇文章,它们的说法恰恰相反,或者说它只是多站点群集的必要条件。
我们不打算使用多站点集群。我们会在同一个房间内安装两台服务器 - 一台是负责所有写入的主服务器,另一台备份服务器(如果可用)可用作报告服务器。在故障转移时,辅助服务器将成为主服务器,直到下一次故障转移发生。我们还将把部分数据复制到异地网络场中的两台服务器上。据我所知,这是相当标准的。
我负责这个项目的软件/数据库方面,因此请耐心回答我这些问题 - 我可能需要很多澄清:
- 对于我们所提议的 Windows 群集实现,共享存储是否仍然是必需的?
- 当我要将 SQL 数据复制到另一台服务器时,为什么需要共享存储?
- 共享存储是否仅对系统文件有要求?我们可以将 MDF/LDF 放在直接连接的存储上吗?(我们可能会使用 SAN,但只是好奇)
能否通过故障转移发布职责以及其他所有职责来实现高可用性复制?如果不能,我想到了一个解决方案,但那真的很棒。
答案1
AlwaysOn 可用性组不需要 Windows 群集提供的共享存储。仅当您使用故障转移群集实例时才需要。
回答您的另一个问题,您当然可以将数据库文件存储在直接连接的存储中。但需要注意的一点是,您需要确保所有可用性副本上的路径相同。虽然从技术上讲您可以这样做,但如果您在主服务器上执行添加文件操作,则可能会导致后续问题。
共享存储源 http://msdn.microsoft.com/en-us/library/ff929171.aspx
路径限制来源(参见限制): http://msdn.microsoft.com/en-us/library/ff878487.aspx