我正在寻找使用 iScsi 共享存储(用于 SQL Server Always-On 实例)设置 Windows Server 2019 故障转移群集的方法。额外的要求是不能有单点故障。
假设我有两个 iScsi 发起程序节点 A 和 B 以及一个 iScsi 目标 C。如果我实施 MPIO,它将提供冗余和多条路径到存储,很好。但是,如果 C 发生故障,则节点 A 和 B 将失去与存储的连接。
问题:
- 我是否应该创建 2 个 iScsi 目标服务器,C 和 D?如果是这样,最佳配置是什么,以便如果 C 发生故障,D 将接管目标?
- 启动目标服务器时,最低要求是什么?例如 RAM、核心等?
- 将主 iScsi 目标与域控制器分开是最佳做法吗?
- 使用 MPIO 时,最好使用 Round-Robin 还是 Failover Only?
答案1
您说得完全正确,如果服务器 C 出现故障,您的节点将失去与存储的连接。回答您的问题:
您可以使用不同类型的软件定义存储解决方案。以下是一些示例: https://www.starwindsoftware.com/resource-library/starwind-virtual-san-installing-and-configuring-sql-server-2019-tp-failover-cluster-instance-on-windows-server-2016/ https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-storage-spaces-direct-manually-configure?tabs=windows2012
至于要求,这取决于您选择的软件。我还没有找到 Microsoft iSCSI Target Server 的要求。
从安全角度来看,我会将 iSCSI 存储与 AD 隔离,但我不是安全工程师,可能存在不同的最佳实践。
MPIO 策略取决于您的配置。据我记得,StarWind 建议在其设置中使用最少队列深度。