You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多网卡SQL Server高可用组跨子网副本流量配置问询

可以实现不同副本流量走不同子网,无需统一IP/子网

完全没问题,你可以让本地同步副本的流量走192.168.99.x直连子网,异地异步副本的流量走10.0.0.x VPN子网,核心在于利用SQL Server高可用组(HAG)的端点绑定配置和副本连接地址指定,再配合服务器本地路由策略来实现流量隔离。

下面是具体的实现思路和步骤:

1. 配置SQL Server数据库镜像端点(HAG依赖的端点)

每个SQL Server实例只能有一个用于HAG的数据库镜像端点,但你可以让这个端点绑定到服务器的多个IP(也就是两块网卡的IP),这样实例就能同时监听两个子网的流量。创建或修改端点的T-SQL命令示例:

CREATE ENDPOINT [HAG_Endpoint] 
    STATE=STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL) -- 绑定所有IP,也可指定具体的两个IP
    FOR DATA_MIRRORING (ROLE = ALL, AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = REQUIRED ALGORITHM AES)

如果只想绑定特定IP,可以把LISTENER_IP = ALL改成LISTENER_IP = (('192.168.99.10'),('10.0.0.10'))(替换成对应服务器的实际IP)。

2. 为HAG副本指定不同的连接地址

在添加或配置HAG副本时,你可以明确指定每个副本的连接地址:

  • 对于本地的SQL-ATL01和SQL-ATL02,在互相配置副本时,使用对方的192.168.99.x子网IP作为连接地址,这样它们之间的同步流量就会走直连的10G网卡。
  • 对于异地的SQL-NYC01,在本地两个节点上配置副本连接时,使用SQL-NYC01的10.0.0.x子网IP;同时在SQL-NYC01上配置连接本地节点时,也使用它们的10.0.0.x子网IP,这样异步同步流量就会走VPN的1G网卡。

配置异地副本的T-SQL示例:

ALTER AVAILABILITY GROUP [YourHAGName]
ADD REPLICA ON N'SQL-NYC01' WITH (
    ENDPOINT_URL = N'TCP://SQL-NYC01-10IP:5022', -- 替换成SQL-NYC01的10.0.0.x IP和端点端口
    AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
    FAILOVER_MODE = MANUAL,
    SEEDING_MODE = AUTOMATIC
);

3. 配置服务器本地路由策略(可选但推荐)

为了确保本地节点之间的流量优先走192.168.99.x的直连网卡,可以在SQL-ATL01和SQL-ATL02上添加静态路由:

  • 在SQL-ATL01上添加路由:目标地址为SQL-ATL02的192.168.99.x IP,网关设为直连网卡的本地网关(或者因为是直连,网关留空,指定接口为10G网卡)。
  • 同理在SQL-ATL02上添加指向SQL-ATL01 192.168.99.x IP的静态路由。

这样可以避免操作系统误选网卡,确保本地同步流量稳定走10G直连链路。

关于故障转移集群的注意事项

你的故障转移集群节点(SQL-ATL01、SQL-ATL02)之间的心跳通信可以单独配置,默认集群会使用所有可用的网络,但你可以在集群管理器中设置网络优先级,让集群心跳优先走192.168.99.x子网,同时把10.0.0.x子网设为“允许客户端连接”(用于监听器和异地副本通信)。

总结:所有副本流量不需要强制使用同一IP/子网,通过端点绑定、副本连接地址指定和路由策略,完全可以实现你想要的流量隔离方案。

内容的提问来源于stack exchange,提问作者Josef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:26:18