跳到主要内容

配置系统级复制设置

您可以执行以下系统级复制配置任务:

  • 配置复制伙伴
  • 配置复制 Config-Sync 桥
  • 配置复制接口
  • 为复制配置 TLS/SSL
  • 配置事务的复制兼容性模式

配置复制伙伴

复制设施要求两个复制站点的事件代理都知道它们各自的复制伙伴。对于每个复制站点的事件代理,您必须指明其复制伙伴使用的虚拟路由器名称以及用于连接到它们的地址。您还可以配置事件代理的连接端口是否使用压缩或非压缩数据。(如果没有提供连接端口配置,则默认使用非压缩设置。)

在系统级设置的复制伙伴信息将应用于该事件代理上的所有消息 VPN。

要配置复制伙伴,必须为事件代理上的每个消息 VPN 禁用复制服务(参见监控复制)。

为设备配置复制伙伴

在指明设备复制伙伴时,使用虚拟路由器名称和唯一地址的组合。使用的端口号和连接类型(纯文本、SSL 或压缩)是单独设置的。

设置复制伙伴虚拟路由器名称和连接地址

要设置复制伙伴使用的虚拟路由器名称和唯一地址,请输入以下 CONFIG 命令:

solace(configure/replication)# mate
solace(configure/replication/mate)# virtual-router-name <virtual-router-name> connect-via <addr>

其中:

<virtual-router-name> 是复制伙伴的虚拟路由器名称。此名称必须以 "v:" 开头,表示虚拟路由器。事件代理名称可以包含最多 66 个字符,由数字 0 到 9、小写字母 a 到 z、大写字母 A 到 Z、下划线 '_'、点 '.' 和连字符 '-' 组成。注意,'_'、'.' 和 '-' 不能用于事件代理名称的开头或结尾。事件代理名称必须在所有配置的事件代理中唯一。

<addr> 是远程事件代理的 IP 地址或主机名,格式为 IP_address[:port]hostname[:port],其中 IP 地址以点分十进制表示法 nnn.nnn.nnn.nnn 指定,port 是复制伙伴虚拟路由器上的端口号。

没有这个命令的版本,no mate,用于移除已配置的复制伙伴。

设置复制伙伴连接端口

要为复制伙伴的虚拟路由器设置连接端口,请输入以下 CONFIG 命令:

solace(configure/replication)# mate
solace(configure/replication/mate)# connect-port <port> [compressed] [ssl]

其中:

<port> 是复制伙伴虚拟路由器上的端口号。此数字指定为 0 到 65535 之间的十进制值。如果默认值合适,则无需执行此命令。默认值分别为非压缩数据 55555、压缩数据 55003 和 TLS/SSL 数据 55443。

compressed 表示该端口是用于压缩数据流量。

ssl 表示该端口是用于 TLS/SSL 数据流量。

为软件事件代理配置复制伙伴

在指明软件事件代理的复制伙伴时,复制伙伴的虚拟路由器名称与其 connect-via 信息分开设置,后者提供了一个由地址、端口和连接类型(纯文本、SSL 或压缩)组成的唯一组合。

单独配置 connect-via 信息允许您为复制伙伴使用的虚拟路由器设置多个连接地址。这很重要,例如,如果复制伙伴位于具有主机列表接管模式的事件代理 HA 对中。在这种情况下,您必须为主机列表中的主节点和备用节点都设置 connect-via 地址。

设置复制伙伴虚拟路由器

要配置复制伙伴的虚拟路由器名称,请输入以下 CONFIG 命令:

solace(configure/replication)# mate
solace(configure/replication/mate)# virtual-router-name <virtual-router-name>

其中:

<virtual-router-name> 是指定复制伙伴所在的虚拟路由器的名称。此名称必须以 "v:" 开头,表示虚拟路由器,并且必须与复制伙伴的虚拟路由器名称匹配。事件代理名称可以包含最多 66 个字符,由数字 0 到 9、小写字母 a 到 z、大写字母 A 到 Z、下划线 '_'、点 '.' 和连字符 '-' 组成。注意,'_'、'.' 和 '-' 不能用于事件代理名称的开头或结尾。事件代理名称必须在所有配置的事件代理中唯一。

没有这个命令的版本,no mate,用于移除已配置的复制伙伴。

如果复制伙伴位于事件代理 HA 对中,请使用 HA 对中主事件代理的虚拟路由器名称。

配置复制伙伴连接地址和端口

要为复制伙伴的虚拟路由器配置唯一地址和连接端口,请输入以下 CONFIG 命令:

solace(configure/replication)# mate
solace(configure/replication/mate)# connect-via <addr-port> [compressed] [ssl]

其中:

<addr-port> 是事件代理的 IP 地址或主机名,格式为 IP_address:porthostname:port,其中 IP 地址以点分十进制表示法 nnn.nnn.nnn.nnn 指定,port 是复制伙伴虚拟路由器上的端口号(指定为 0 到 65535 之间的十进制值)。

compressed 表示该端口是用于压缩数据流量。

ssl 表示该端口是用于 TLS/SSL 数据流量。

img多个连接地址和端口的示例:

在这个示例中,使用虚拟名称 solace1-site2 的伙伴复制站点提供了两个用于 TLS/SSL 数据流量的 connect-via 地址。

solace1-site1(configure/replication/mate)# connect-via 192.168.132.26:55443 ssl
solace1-site1(configure/replication/mate)# connect-via 192.168.132.31:55443 ssl

solace1-site1(configure/replication/mate)# show replication
Replication Interface:
Replication Mate: v:solace1-site2
Plain Text:
Compressed:
SSL: 192.168.132.26:55443
192.168.132.31:55443

配置复制Config-Sync桥

当在事件代理上启用复制时,会自动从复制站点到其伙伴创建一个复制 Config-Sync 桥。您可以修改此复制 Config-Sync 桥的默认 Config-Sync 参数。您可以执行的配置任务包括:

  • 设置认证方案
  • 启用数据压缩
  • 配置消息池窗口大小
  • 配置重试延迟时间
  • 启用 SSL
  • 配置 SSL 服务器证书验证
  • 启用复制 Config-Sync 桥

设置认证方案

复制 Config-Sync 桥可以配置为使用经过认证的连接。提供基本和客户端证书认证模式。

要配置复制 Config-Sync 桥连接使用的认证方案,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# authentication auth-scheme {basic | client-certificate}

其中:

basic 指定 Config-Sync 桥连接应使用基本的用户名和密码认证。

client-certificate 指定 Config-Sync 桥连接应使用客户端证书认证。

当使用客户端证书认证时,远程事件代理会将事件代理的服务器证书视为客户端证书。因此,事件代理的服务器证书应符合远程事件代理上设置的 Config-Sync 客户端证书认证设置。

启用数据压缩

默认情况下,复制 Config-Sync 桥传输的数据不应用压缩。

要启用数据压缩,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# compressed-data

当为桥启用数据压缩时,必须在复制伙伴中配置压缩端口(参见配置复制伙伴)。

如果同时为桥启用压缩和 SSL,必须在复制伙伴中配置 SSL 端口。

no 版本,no compressed-data,用于禁用数据压缩。

配置消息池窗口大小

复制 Config-Sync 桥的消息池窗口大小的默认值预计在大多数典型部署中都能很好地工作。配置过大的消息池窗口大小可能会对网络性能产生负面影响。在更改此参数之前,请联系 Solace 以协助选择适合您的网络条件的值。

消息池窗口大小决定了在活动复制站点必须接收确认之前,可以通过复制 Config-Sync 桥发送多少未确认的 Config-Sync 消息。

要配置消息池窗口大小,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# message-spool
solace(...tion/config-sync/bridge/message-spool)# window-size <number>

其中:

<number> 是一个从 1 到 65535 的整数,设置窗口中可以有多少消息。默认值是 65535。

此命令的 no 版本(no message-spool window-size)将消息池窗口大小值重置回默认值。

配置重试延迟时间

要配置在复制 Config-Sync 桥上重试连接复制伙伴之前必须经过的时间,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# retry-delay <seconds>

其中:

<seconds> 是一个从 1 到 255 的整数,指定在重试连接复制伙伴之前等待的秒数。默认是 3。

此命令的 no 版本(no retry-delay)将等待秒数重置回默认值。

启用SSL

可以在复制 Config-Sync 桥上启用 TLS/SSL 加密,以在使用 Config-Sync 的事件代理之间建立安全连接。

要为复制 Config-Sync 桥连接启用 TLS/SSL,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# ssl
  • 在复制 Config-Sync 桥上启用 TLS/SSL 后,要使 SSL 认证成功,还必须配置以下内容:
    • 远程事件代理上的 SSL 服务器证书
    • 本地事件代理上的匹配信任 CA
    • 为复制伙伴使用的连接端口必须设置为 SSL
  • 当为桥启用 SSL 时,您设置的复制伙伴必须使用 SSL 连接端口(参见配置复制伙伴)。

此命令的 no 版本,no ssl,用于禁用复制 Config-Sync 桥上的 SSL 加密。

配置SSL服务器证书验证

您可以为复制 Config-Sync 桥配置服务器证书验证设置,使证书验证更安全或不那么安全。

要配置 SSL 服务器证书验证设置,请输入以下 CONFIG 命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge
solace(configure/replication/config-sync/bridge)# ssl-server-certificate-validation

CLI 现在处于配置复制 Config-Sync 桥的 SSL 服务器证书验证设置的模式。从这里,您可以配置以下参数:

  • validate-server-name
  • max-certificate-chain-depth
  • validate-certificate-date

有关这些参数的描述,请参阅配置服务器证书验证设置。

启用复制Config-Sync桥

  • 要启用复制 Config-Sync 桥,请输入以下 CONFIG 命令:
solace(configure/replication/config-sync/bridge)# no shutdown
  • 要禁用复制 Config-Sync 桥,请输入以下 CONFIG 命令:
solace(configure/replication/config-sync/bridge)# shutdown

启用复制Config-Sync桥的服务器名称验证

您可以启用或禁用 TLS 认证机制,以验证用于连接到远程代理的名称。如果启用,用于该连接的服务器名称将与远程代理返回的证书中的 Subject Alternative Name (SAN) 扩展中的服务器名称进行验证。

服务器名称验证默认启用,并且应在所有生产场景中保持启用。

要启用复制 Config-Sync 桥的服务器名称验证,请输入以下命令:

solace(configure)# replication
solace(configure/replication)# config-sync bridge ssl-server-certificate-validation
solace(...dge/ssl-server-certificate-validation)# validate-server-name

要禁用服务器名称验证:

solace(...dge/ssl-server-certificate-validation)# no validate-server-name

配置复制接口

您可以指定用于连接到复制伙伴的物理网络接口。如果没有指定物理网络接口,将自动分配适当的接口。

要为事件代理配置特定的复制接口,请输入以下 CONFIG 命令:

solace(configure/replication)# interface <phys-intf>

其中:

<phys-intf> 是指定本地事件代理的物理以太网接口端口或 LAG 的 ASCII 字符串。有效值为 <cartridge>/<slot>/<port>(例如,1/1/8);<cartridge>/<slot>/lag<N>(例如,1/1/lag1)。仅支持编号为 1 的单个 LAG。

此命令的 no 版本,no interface <phys-intf>,用于移除已配置的复制接口。

如果您使用的是 HA 冗余事件代理对,请不要指定复制接口,如果为 HA 对配置的接口不匹配。如果指定的复制接口在伙伴事件代理上不存在,当启用 Config-Sync 时,它将在伙伴上进入阻塞状态,因为无法配置不存在的接口。

为复制配置TLS/SSL

如果您使用 TLS/SSL 加密进行复制,可以配置复制设施用于认证的密码套件以及复制链接将接受的安全证书列表。

为复制连接配置密码套件

可以使用任意数量的密码套件进行加密。这些密码套件从最安全到最不安全排序。(有关事件代理支持的密码套件的完整列表,请参阅支持的密码套件。)

默认情况下,使用整个密码套件列表,以实现可能的最强加密。您可以配置功能仅使用特定的密码套件。

要配置复制连接应使用的密码套件,请输入以下 CONFIG CLI 命令:

solace(configure/replication)# ssl
solace(configure/replication/ssl)# cipher-suite {default | empty | name <suite-name> [{before | after} <existing-suite-name>]}

其中:

default 指定应使用默认密码套件列表(即所有密码套件)。

empty 从列表中移除所有密码套件。

name <suite-name> 将指定的密码套件添加到要使用的套件列表中。

before <existing-suite-name> 指定由 name 参数指定的套件应插入到由 before 参数指定的套件之前(即,优先级更高)。

after <existing-suite-name> 指定由 name 参数指定的套件应插入到由 after 参数指定的套件之后(即,优先级更低)。

此命令的 no 版本,no cipher suite name <suite-name>,从合格密码套件列表中移除指定的密码套件。

配置事务的复制兼容性模式

在以前的版本中,对本地和 XA 事务的复制支持有限 - 在事务中发布的消息被传播到复制备用站点,但不在事务内。为了向后兼容,保留了旧行为,并将其设置为默认设置,但它有几个不良后果。强烈建议您使用在事务内复制在事务中发布的消息的事务模式。

更改兼容性模式将导致所有正在进行的事务被回滚。此过程只能在维护窗口中执行。

要将兼容模式设置为事务复制,请输入以下 CONFIG 命令:

solace(configure/hardware/message-spool)# transaction replication-compatibility-mode <mode>

其中:

<mode> 可以是 legacytransacted

legacy - 由客户端发起的所有事务都被复制到备用站点,而不使用事务

transacted - 由客户端发起的所有事务都使用事务被复制到备用站点

复制伙伴必须使用相同的兼容性模式,此命令的 no 版本将模式设置为 legacy。

在服务中更改复制兼容性模式

如果事件代理当前正在提供复制服务,则在站点更改模式的顺序很重要。按照以下操作顺序以防止服务中断。

  • 要从旧模式更改为事务模式:
  1. 将备用站点更改为事务模式。
  2. 将活动站点更改为事务模式。
  • 要从事务模式更改为旧模式(不推荐):
  1. 将活动站点更改为旧模式。
  2. 将备用站点更改为旧模式。