是否可以在没有 LB ip 的 Windows 2016 集群中始终在配置上创建 SQL?

问题描述

不知道这是否可能。 客户想要创建一个 Windows 2016 集群,其中有 2 个不同的虚拟机/节点,这些虚拟机/节点位于 Azure 中,它们位于不同的订阅和虚拟网络中。没有共享存储

这个想法是在它们之间配置 sql 始终打开,以便 DB 和 sql 配置从 VM1 准确复制到 VM2。当同步完成时,always on config 将被删除。客户不会从一个到另一个进行正常的备份/恢复(我已经建议他们使用这种方法),他们会一直使用方法

虚拟机已经在同一个本地域上,它们可以互相 ping 通。在 powershell 中测试是否可以使用两个虚拟机完成集群的命令是否成功:

PS C:\windows\system32> Test-Cluster -Node VM07.domain.local,VM04.domain.local
WARNING: System Configuration - Validate Software Update Levels: The test reported some warnings..
WARNING: Network - Validate Network Communication: The test reported some warnings..
WARNING:
Test Result:
HadUnselectedTests,ClusterConditionallyApproved
Testing has completed for the tests you selected. You should review the warnings in the Report.  A cluster solu
supported by Microsoft only if you run all cluster validation tests,and all tests succeed (with or without war
Test report file path: C:\xxxx\xxxxxx\AppData\Local\Temp\Validation Report 2021.03.26 At 11.13.54.htm

事实是该集群没有侦听器或负载均衡器 IP,因为这需要同一子网上的虚拟机。集群将只用于 sql 始终在配置。

是否可以在没有集群名称负载均衡器静态 IP 的情况下创建此集群?。可以使用 2 个节点之一的 IP 来代替吗?类似:

VM07 IP:10.1.2.3 VM04 IP:10.1.2.4

New-Cluster –Name newcluster -Node VM07,VM04 –StaticAddress ClusterIP 10.1.2.3
–NoStorage

我知道这是一个奇怪的想法,但想确定在实践中是否可行。

谢谢!

解决方法

每个服务器(集群节点)和一个子网使用一个 NIC。

由于虚拟 IP 访问点在 Azure 中的工作方式不同,您需要配置 Azure 负载均衡器以将流量路由到 FCI 节点或可用性组侦听器的 IP 地址。在 Azure 虚拟机中,负载平衡器保存群集 SQL Server 资源所依赖的 VNN 的 IP 地址。负载均衡器分配到达前端的入站流,然后将该流量路由到后端池定义的实例。您可以使用负载平衡规则和运行状况探测来配置流量。对于 SQL Server FCI,后端池实例是运行 SQL Server 的 Azure 虚拟机。

有关最佳做法和限制,请参阅此链接:https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/hadr-cluster-best-practices

更新

Azure 负载均衡器或应用程序网关可以为目标配置任何类型的静态或动态 IP。 https://docs.microsoft.com/en-us/azure/load-balancer/manage

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...