Citrix ADC

参与 GSLB 的站点之间的实时同步

您可以使用 AutomaticConfigSync 参数将主站点的实时 GSLB 配置自动同步到所有从属站点。您不必手动触发自动同步选项即可同步配置。

您可以使用增量同步或完全同步将主站点的 GSLB 配置自动同步到所有从属站点。该 GSLBSyncMode 参数允许您选择同步模式。

注意:

从 Citrix ADC 13.0 版本 79.x 开始,支持 GSLB 同步的增量同步。默认情况下,使用增量同步执行同步。可以通过启用 IncrementalSync 参数来执行增量同步。有关详细信息,请参阅 GSLB 配置的增量同步

使用实时同步功能的最佳实践

  • 建议作为站点参与的所有 Citrix ADC 设备都具有 SameCitrix ADC 软件版本。
  • 要更改 RPC 节点密码,首先在下属站点上更改密码,然后在主站点上更改密码。
  • 在参与 GSLB 的每个站点上配置本地 GSLB 站点。
  • 在执行配置的其中一个站点上启用 AutomaticConfigSync。该站点最终会与其他 GSLB 站点同步。
  • 如果有新配置或对现有配置进行了更改,请确保使用 show gslb syncStatus 命令检查状态,以确认更改是否在所有站点之间同步,或者是否存在任何错误。
  • 必须启用 RSYNC 端口监视。

使用 CLI 启用实时同步

在命令提示符下,键入:

set gslb parameter [–automaticConfigSync (ENABLED | DISABLED)] [-MEPKeepAliveTimeout <secs>]  [-GSLBSyncMode ( IncrementalSync | FullSync )] [-GSLBSyncLocFiles ( ENABLED | DISABLED)] [-GslbConfigSyncMonitor ( ENABLED | DISABLED )] [-GSLBSyncInterval <secs>] [-GSLBSyncSaveConfigCommand ( ENABLED | DISABLED )]
<!--NeedCopy-->

示例:

set gslb parameter –automaticConfigSync ENABLED
<!--NeedCopy-->

实时同步提供以下可配置参数:

  • gslbSyncMode-模式,其中配置从主站点同步到远程站点。
    • 可能的值:增量同步、完全同步
    • 默认值:增量同步
  • gslbSyncLOCFiles— 默认情况下,在 GSLB 配置同步期间,会检测到位置数据库文件中的更改并自动同步。由于位置数据库目录不经常更改,因此管理员可以禁用自动同步位置数据库文件。相反,管理员必须手动将位置数据库文件复制到 GSLB 下属站点。同步位置数据库文件需要很长时间。因此,避免它可以缩短总体同步时间。

    禁用自动同步位置数据库文件的示例:

     set gslb parameter -GSLBSyncMode IncrementalSync -GSLBSyncLocFiles DISABLED
     <!--NeedCopy-->
    
  • gslbConfigSyncMonitor— 启用 GSLB 配置同步监视器参数以监视从属站点的 RSYNC 端口的状态,该端口是远程 GSLB 站点 IP 地址上的 SSH 端口 22。如果监视器将从属站点状态显示为 DOWN,则跳过对该站点的 RSYNC 操作。这减少了因尝试连接到已关闭的远程站点而导致的同步延迟。

    在 CLI 中启用 RSYNC 端口监视的示例:

     set gslb parameter -GSLBSyncMode IncrementalSync -GslbConfigSyncMonitor ENABLED
     <!--NeedCopy-->
    
  • gslbSyncInterval— 设置 GSLB 配置同步发生的时间间隔(以秒为单位)。默认情况下,自动 GSLB 配置同步功能每 10 秒自动同步 GSLB 配置。您可以将时间间隔更改为任何所需的值。不要将此值设置为较低的值,例如,不小于 5 秒。因为频繁同步可能会增加管理 CPU 消耗。

    注意:

    在管理分区设置中,只能在默认分区中设置时间间隔,因为它是全局参数。

    设置同步间隔的示例:

     set gslb parameter -AutomaticConfigSync ENABLED -GSLBSyncMode IncrementalSync -GSLBSyncInterval 7
     <!--NeedCopy-->
    
  • gslbSyncSaveConfigCommand— 启用此参数可将 save ns config 命令同步到从属站点(如果启用此 AutomaticConfigSync 选项)。

    启用 “保存配置” 命令同步的示例:

     set gslb parameter -AutomaticConfigSync ENABLED -GSLBSyncSaveConfigCommand ENABLED
     <!--NeedCopy-->
    

    在某些情况下,该 save ns config 命令不会同步到下级站点,如下所示:

    • 将配置保存在主站点上时,从属站点已关闭或无法访问。
    • 从属站点上的配置失败。

使用 GUI 启用实时同步

  1. 导航到 配置 > 流量管理 > GSLB > 更改 GSLB 设置
  2. 在 “设 置 GSLB 参数 ” 页中,可以执行以下操作:
    • 要自动同步实时 GSLB 配置,请选择 自动 ConfigSync

    注意:此选项必须仅在执行配置的站点中启用。

    • 要设置自动 GSLB 配置同步时间间隔,请在 GSLB 同步时间间隔字段中输入以秒为单 位的时间。
    • 要启用 RSYNC 端口监视,请选中 GSLB 配置同步监视器 复选框。
    • 要禁用自动同步位置数据库文件,请清除 GSLB Sync Loc Files 复选框。
    • 要启用将 save ns config 命令同步到从属站点,请选中 “同 步保存配置命令 ” 复选框。

    设置 GSLB 参数

有关以下主题的信息,请参阅 参与 GSLB 的站点之间手动同步

  • 预览 GSLB 同步
  • 调试同步过程中触发的命令

注意事项

  • 与实时同步相关的统一日志文件存储在 /var/netscaler/gslb/periodic_sync.log 目录中。
  • 默认配置文件存储在 /var/netscaler/gslb_sync/ 目录中。
  • 主站点使用以下目录结构:
    • 主站点将其所有文件存储在 /var/netscaler/gslb_sync/master 目录中。
    • 主站点将必须同步到下级站点的配置文件存储在 /var/netscaler/gslb_gslb_sync/master /gslbCONF/ 目录中。
    • 从所有下属站点中提取的状态文件存储在 /var/netscaler/gslb_sync/master /slavestatus/ 目录中。
  • 从属站点使用以下目录结构:
    • 从属站点从 /var/netscaler/gslb_sync/slave/gslbconf 目录中获取要应用的最新配置文件。
    • 从属站点将其状态文件存储在 /var/netscaler/gslb_sync/slave/gslbstatus 目录中。
  • 在管理分区设置中,相同的目录结构保持在位置:/var/partitions/partition name/netscaler/gslb_sync。
  • 所有站点上的时钟必须准确设置为实时标准,如协调世界时 (UTC)。

GSLB 配置的增量同步

自动 GSLB 配置同步功能每 10 秒钟检查主站点上的配置更改,并执行同步。此同步间隔值是可配置的。

在增量同步中,只有在上次同步和后续同步间隔(10 秒)之间在主站点上更改的配置才会在所有从属站点之间进行同步。增量同步是默认行为。仅推送增量配置会大大减少配置文件的大小,从而减少同步时间。如果增量同步失败,系统将自动执行完全配置同步。

以下列方式执行增量同步:

  • 主站点将仅包含其最新更改的配置文件推送到所有下属站点。最近的更改是指在上次同步和后续同步间隔(10 秒)之间更改的配置。
  • 每个下属站点都将最新的更改应用于自己的站点。
  • 在处于 DOWN 状态的从属站点上未尝试增量同步。站点重新启动后,再次执行同步。
  • 从属站点会在每个步骤中生成状态日志,并将它们复制到特定位置的文件中。
  • 主站点从指定位置提取状态日志文件。
  • 主站点准备一个日志文件,其中包含来自所有从属站点的日志。
  • 此组合后的日志文件存储在 “/var/netscaler/gslb/periodic_sync.log” 文件中。

有关存储配置文件的目录的详细信息,请参阅 注意 事项部分。

使用 CLI 启用 GSLB 配置增量同步

set gslb parameter -AutomaticConfigSync (ENABLED | DISABLED) -GSLBSyncMode (IncrementalSync | FullSync) -GslbConfigSyncMonitor (ENABLED | DISABLED) -GSLBSyncInterval <secs> -GSLBSyncLocFiles (ENABLED | DISABLED)
<!--NeedCopy-->

示例:

set gslb parameter -AutomaticConfigSync ENABLED -GSLBSyncMode IncrementalSync
<!--NeedCopy-->

使用 GUI 启用 GSLB 增量同步

  1. 导航到 流量管理 > GSLB > 控制板 > 更改 GSLB 设置
  2. 设置 GSLB 参数 页面中,从 GSLB 同步模式下拉菜单中选择 Incremental Sync

GSLB 配置的完全同步

每当主站点发生配置更改时,主站点上的完整 GSLB 运行配置都会推送到所有从属站点。 即使配置了增量同步,当主站点不知道从属站点的配置状态时,也会执行完全同步。其中一些情况如下:

  • 首次启用自动 GSLB 配置同步功能。
  • 重新启动 Citrix ADC 设备。
  • GSLB 部署有多个主站点,另一个主站点成为活动主站点。
  • 将新的从属站点添加到 GSLB 部署中。

GSLB 配置完全同步按以下方式执行:

  • 主站点将其最新的配置文件推送到所有下属站点。
  • 每个从属站点都将自己的配置与主站点发送的最新配置文件进行比较。从属站点识别配置的差异,并为自己的站点应用增量配置。
  • 从属站点会在每个步骤中生成状态日志,并将它们复制到特定位置的文件中。
  • 主站点从指定位置提取状态日志文件。
  • 主站点准备一个日志文件,其中包含来自所有从属站点的日志。
  • 此组合后的日志文件存储在 “/var/netscaler/gslb/periodic_sync.log” 文件中。

如果在自动同步站点时尝试手动(使用 sync gslb config 命令)同步站点,则会显示 “正在同步” 错误消息。对于正在手动同步的站点,无法触发自动同步。

注意:

从 Citrix ADC 12.1 版本 49.37 开始,在同步 GSLB 配置时生成 SNMP 陷阱。在实时同步中,第一个 SNMP 陷阱中的同步状态将被捕获为失败。您可以忽略此状态,因为在具有实际同步状态的第一个陷阱之后立即自动生成第二个 SNMP 陷阱。但是,如果同步在第二次尝试中也失败,则不会生成 SNMP 陷阱,因为同步状态与之前的同步状态没有更改。

有关配置 Citrix ADC 设备以生成陷阱的详细信息,请参阅 配置 Citrix ADC 以生成 SNMP 陷阱

使用 CLI 启用 GSLB 完全同步

set gslb parameter -GSLBSyncMode (IncrementalSync | FullSync)
<!--NeedCopy-->

示例:

set gslb parameter -GSLBSyncMode FullSync
<!--NeedCopy-->

要使用 GUI 启用 GSLB 增量同步,请执行以下操作:

  1. 导航到 流量管理 > GSLB > 仪表板 > 更改 GSLB 设置
  2. 设置 GSLB 参数 页面中,从 GSLB 同步模式下拉菜单中选择 Full Sync

GSLB 部署中的多个主站点

Citrix ADC 设备在主动-被动部署中支持多个主站点。建议在 GSLB 部署中有两个主站点,以应对 GSLB 主站点故障。拥有两个主站点可以避免 GSLB 配置同步的单点故障。任何时候,只有一个主站点可以主动处理用户的 GSLB 配置。如果在多个主站点同时执行配置更改,则可能会导致配置不一致或配置丢失。因此,建议一次只从一个主站点执行配置更改,并在活动主站点出现故障时使用另一个主站点作为备份。

注意:

当 GSLB 部署中使用多个主站点时,必须启用 RSYNC 监视。

要使 GSLB 节点成为 GSLB 配置同步的主站点之一,请运行以下命令:

set gslb parameter -automaticConfigSync Enabled
<!--NeedCopy-->
参与 GSLB 的站点之间的实时同步