此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍Expressway集群如何设计以扩展Expressway安装的恢复能力和容量。
容量。与单个Expressway相比,Expressway集群可将Expressway部署的容量增加最多四倍。集群中的Expressway对等体共享带宽使用以及路由、区域、FindMe和其他配置。
恢复力。Expressway群集可以在Expressway处于维护模式时提供冗余,或在由于网络或停电或其他原因而无法访问时提供冗余。终端可以注册到群集中的任何对等体。如果终端失去与其初始对等体的连接,它们可以重新注册到集群中的另一个终端。
Expressway可以是最多包含六个Expressway的集群的一部分。在创建集群时,您会指定一个对等体作为主要对等体,其配置将从主要群集复制到其他对等体。集群中的每个Expressway对等体必须具有相同的路由功能,如果任何Expressway都可以将呼叫路由到目标,则假定该集群中的所有Expressway对等体都可以将呼叫路由到该目标。
四个对等体后,容量不会增加。因此,例如,在六对等集群中,第五和第六个Expressway不会为集群添加额外的呼叫容量。通过增加对等体,恢复能力得到了提高,但容量没有提高。
所有其他许可证密钥在每个对等体上必须相同。
注意:如果Expressway-E使用单个网络接口控制器(NIC),则它必须使用公有IP。如果Expressway-E使用双NIC,则必须使用内部接口来构建集群。
注意:必须先创建一个(主)对等体的群集,然后重新启动主群集,然后再添加其他对等体。建立一个群集后,可以添加更多对等体。
主要配置:1
集群IP版本:选择IPv4或IPv6以与网络地址方案匹配。
TLS验证模式选项:允许(默认)或强制。
许可意味着在建立集群内传输层安全(TLS)连接时,对等体不会验证彼此的证书。
实施更加安全,但要求每个对等体都具有有效证书,并且证书颁发机构(CA)受所有其他对等体的信任。
对等体1地址:输入此Expressway的地址(主对等体)。 如果TLS验证模式设置为Enforce,则必须输入与此对等体证书上的使用者公用名称(CN)或使用者备用名称(SAN)匹配的完全限定域名(FQDN)。
要添加其他对等体,请执行以下步骤:
警告:在继续之前,请验证证书SAN是否包含Peer N地址字段中的FQDN。在继续之前,您必须在每个地址字段旁看到集群和证书的绿色状态消息。
警告:如果任何证书无效,则会显示警告,并阻止集群在强制TLS验证模式下正常工作。
注意:即使当前主对等体无法访问,也可以执行此过程。
注意:执行此过程时,请忽略Expressway上报告集群主不匹配或集群复制错误的任何警报。
注意:执行此过程时,对等体之间的通信会暂时受到影响,这意味着在更改完成且集群同意新地址之前,预期会看到持续的警报。
对于移动和远程访问(MRA)等安全部署,每个Expressway-E对等体必须具有包含其公有FQDN的SAN的证书。FQDN在公共DNS中映射到Expressway E的公有IP地址。
注意:如果您只想集群Cisco Expressway-E对等体,并且在它们之间不需要TLS验证,则可以使用节点的私有IP地址组成集群。您不需要群集地址映射。
集群地址映射是FQDN:IP对,在集群周围共享,每个对等体一对。对等体在查询DNS之前会先查询映射表,如果发现匹配项,则不查询DNS。
如果选择强制实施TLS,对等体还必须从彼此证书的SAN字段读取名称,并根据映射的FQDN端检查每个名称。
强烈建议您在主对等体上输入映射。地址映射通过群集动态复制。要配置地址映射,请执行下一步:
警告:请勿尝试使用公有DNS将对等体的公有FQDN映射到其私有IP地址,此操作可能会中断外部连接。
如果希望集群中的Expressway-E对等体使用证书验证彼此的身份,可以允许它们使用DNS将集群对等体FQDN解析为其公有IP地址。如果Expressway-E节点具有以下特点,则这是形成集群的完全可接受的方式:
如果从集群页面清除所有对等地址字段并保存配置,则默认情况下,Expressway会在下次重新启动时执行出厂重置。这意味着除局域网1(LAN1)接口的基本网络配置外,所有配置都将被删除,其中包括清除字段后执行的所有配置和下次重新启动。
提示:如果需要避免出厂重置,请恢复集群对等体地址字段。按相同顺序替换原始对等地址,然后保存配置以清除标语。
当对等体重新启动时,系统会自动触发出厂重置,以删除敏感数据和集群配置。重置将清除除下一个基本网络信息以外的所有配置:
注意:如果使用双NIC选项,请注意,重置后,所有LAN2配置都会完全删除。
注意:从X12.6版中,出厂重置将从对等体中删除服务器证书、关联的私钥和CA信任存储设置。在早期的Expressway软件版本中,这些设置将保留。
出厂重置可能失败,如果Expressway是全新安装的开放式虚拟化设备(OVA),且尚未升级,则会发生这种情况。
要解决此问题,请遵循以下任一选项:
注意:确保在升级、证书更改或出厂重置警告之前进行正确的备份。
如果需要重新启动集群或任何对等设备,请执行以下步骤:
注意:在Expressway对等体报告成功状态之前,您可能需要等待大约5分钟后进行任何集群更改。
集群错误的警报以以下格式显示:群集复制错误:(详细信息)需要手动同步配置,下面是其中的一些示例:
如果从属Expressway报告提及的警报,请执行下一步:
注意:确保在升级、证书更改或出厂重置警告之前进行正确的备份。
如果问题持续存在,则可能与每个集群对等体的加密密钥相关。通常,当对等体按错误顺序升级时,下属对等体不与主对等体同步。因此,如果xcommand forceconfigupdate不起作用,请按照下一步操作:
在主对等体升级并重新启动后,复制警报会清除。此情况通常在重新启动后10分钟内发生,但可能在重新启动后最多20分钟。
集群配置无效:必须打开H.323模式 — 集群在对等体之间使用H.323通信。
要清除此警报,请确保H.323模式已打开,请导航至Configuration > Protocols > H.323。
Expressway数据库故障:请联系您的思科支持代表。
要排除此类警报故障,请执行下一步:
如果数据库不恢复,则可以使用第二种方法:
注意:确保在升级、证书更改或出厂重置警告之前进行正确的备份。
警告:clusterdb_destroy_and_purge_data.sh与听起来一样危险 — 请使用此选项作为最后选用。
注意:下一信息适用于X14以后版本。
无法更新密钥文件警报在单个节点方案上的Expressway上引发。
按照下一步骤排除此类警报故障:
无法更新群集场景上的Expressway上的密钥文件警报。
按照下一步骤排除此类警报故障:
与Expressway上的任何其他日志一样,您可以启用诊断日志(使用TCP转储)。
在正常状态下,主节点上的DB同步显示为下一输出:
2020-07-21T15:16:50.321-05:00 expc01 replication: UTCTime="2020-07-21 20:16:50,321" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(270)" Detail="Starting synchronisation"
2020-07-21T15:16:50.330-05:00 expc01 replication: UTCTime="2020-07-21 20:16:50,330" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationutils(750)" AlternateIPAddresses="[u'(10.15.13.15 expc01)', u'(10.15.13.16 expc02)']" ConfigurationMasterIndex="0" LocalPeerIndex="0"
2020-07-21T15:16:50.433-05:00 expc01 replication: UTCTime="2020-07-21 20:16:50,433" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(257)" Detail="This peer is the cluster master, local configuration has already been replicated to the other peers"
2020-07-21T15:16:50.437-05:00 expc01 replication: UTCTime="2020-07-21 20:16:50,437" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(336)" Detail="Synchronisation completed successfully"
从对等节点的角度,它显示为下一个输出:
2020-07-21T15:16:46.900-05:00 expc02 replication: UTCTime="2020-07-21 20:16:46,899" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(270)" Detail="Starting synchronisation"
2020-07-21T15:16:46.908-05:00 expc02 replication: UTCTime="2020-07-21 20:16:46,908" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationutils(750)" AlternateIPAddresses="[u'(10.15.13.15 expc01)', u'(10.15.13.16 expc02)']" ConfigurationMasterIndex="0" LocalPeerIndex="1"
2020-07-21T15:16:46.947-05:00 expc02 replication: UTCTime="2020-07-21 20:16:46,946" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(254)" Detail="This peer is not the cluster master, local configuration is already up to date"
2020-07-21T15:16:46.950-05:00 expc02 replication: UTCTime="2020-07-21 20:16:46,950" Module="developer.replication" Level="INFO" CodeLocation="clusterconfigurationsynchroniser(336)" Detail="Synchronisation completed successfully"
下一个输出中显示了对等体断开:
2020-08-12T14:57:43.353-05:00 expc01 UTCTime="2020-08-12 19:57:43,353" Module="developer.clusterdb.cdb" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.159.0>" Detail="Processed mnesia_down event from accessible node" Node="clusterdb@expc02.apolo.local"
2020-08-12T14:57:43.354-05:00 expc01 UTCTime="2020-08-12 19:57:43,353" Module="developer.clusterdb.cdb" Level="ERROR" Node="clusterdb@expc01.apolo.local" PID="<0.159.0>" Detail="Inconsistent Database" Context="from mnesia system - mnesia down" Node="clusterdb@expc02.apolo.local"
2020-08-12T14:57:43.354-05:00 expc01 UTCTime="2020-08-12 19:57:43,354" Module="developer.clusterdb.cdb" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.159.0>" Detail="Connecting database on mnesia running_partitioned_network event" Node="clusterdb@expc02.apolo.local"
2020-08-12T14:57:43.354-05:00 expc01 UTCTime="2020-08-12 19:57:43,354" Module="developer.clusterdb.cdb" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.14215.425>" Detail="Ready to perform node connection transaction" Node="clusterdb@expc02.apolo.local"
2020-08-12T14:57:43.354-05:00 expc01 UTCTime="2020-08-12 19:57:43,354" Module="developer.clusterdb.cdb" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.14215.425>" Detail="Running node connection transaction" Node="clusterdb@expc02.apolo.local"
2020-08-12T14:57:43.354-05:00 expc01 UTCTime="2020-08-12 19:57:43,354" Module="developer.clusterdb.synchronise" Level="WARN" Node="clusterdb@expc01.apolo.local" PID="<0.14215.425>" Detail="Failed connecting to node" Node="clusterdb@expc02.apolo.local" Reason="{ badrpc, { EXIT, { aborted, { noproc, { gen_server, call, [ kernel_safe_sup, { start_child, { dets_sup, { dets_sup, start_link, }, permanent, 1000, supervisor, [ dets_sup ] } }, infinity ] } } } } }"
2020-08-12T14:57:43.524-05:00 expc01 alarm: Level="WARN" Event="Alarm Raised" Id="20006" UUID="0f96695e-d954-4f6f-85c1-2ef1eae6f764" Severity="warning" Detail="Cluster database communication failure: The database is unable to replicate with one or more of the cluster peers" UTCTime="2020-08-12 19:57:43,524"
2020-08-12T14:57:43.771-05:00 expc01 alarm: Level="WARN" Event="Alarm Raised" Id="20004" UUID="3bca6888-f622-11df-93be-07cc953d7b99" Severity="warning" Detail="Cluster communication failure: The system is unable to communicate with one or more of the cluster peers" UTCTime="2020-08-12 19:57:43,771"
2020-08-12T14:57:53.872-05:00 expc01 tvcs: UTCTime="2020-08-12 19:57:53,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS SCI SeqNum=52319 Retransmit=True"
2020-08-12T14:57:54.872-05:00 expc01 tvcs: UTCTime="2020-08-12 19:57:54,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS LRQ SeqNum=52320 Retransmit=True"
2020-08-12T14:57:56.872-05:00 expc01 tvcs: UTCTime="2020-08-12 19:57:56,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS LRQ SeqNum=52320 Retransmit=True"
2020-08-12T14:57:57.871-05:00 expc01 tvcs: UTCTime="2020-08-12 19:57:57,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS SCI SeqNum=52319 Retransmit=True"
2020-08-12T14:57:58.871-05:00 expc01 tvcs: Event="External Server Communications Failure" Reason="gatekeeper timed out" Service="NeighbourGatekeeper" Detail="name:10.15.13.16:1719" Level="1" UTCTime="2020-08-12 19:57:58,871"
2020-08-12T14:57:58.871-05:00 expc01 tvcs: UTCTime="2020-08-12 19:57:58,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS LRQ SeqNum=52320 Timeout=True"
2020-08-12T14:57:59.601-05:00 expc01 UTCTime="2020-08-12 19:57:59,601" Module="developer.clusterdb.peernameresolver" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.145.0>" Detail="Triggering forced peer update of peers which failed DNS and queueing next run" Queue-Time-ms="300000"
2020-08-12T14:58:01.871-05:00 expc01 tvcs: UTCTime="2020-08-12 19:58:01,871" Module="network.h323" Level="INFO": Action="Sent" Dst-ip="10.15.13.16" Dst-port="1719" Detail="Sending RAS SCI SeqNum=52319 Timeout=True"
在主节点上更改为TLS强制如下一个输出所示:
2020-08-12T15:13:24.970-05:00 expc01 UTCTime="2020-08-12 20:13:24,969" Module="developer.cdbtable.cdb.clusterConfiguration" Level="DEBUG" Node="clusterdb@expc01.apolo.local" PID="<0.345.0>" Detail="Inserting into table" TableName="clusterConfiguration"
2020-08-12T15:13:24.976-05:00 expc01 UTCTime="2020-08-12 20:13:24,975" Event="System Configuration Changed" Node="clusterdb@expc01.apolo.local" PID="<0.345.0>" Detail="xconfiguration clusterConfiguration tls_verify - changed from: Permissive to: Enforcing"
2020-08-12T15:13:24.976-05:00 expc01 httpd[15060]: web: Event="System Configuration Changed" Detail="configuration/cluster/tls_verify - changed from: 'Permissive' to: 'Enforcing'" Src-ip="10.15.13.30" Src-port="53155" User="admin" Level="1" UTCTime="2020-08-12 20:13:24"
2020-08-12T15:13:24.979-05:00 expc01 management: UTCTime="2020-08-12 20:13:24,978" Module="developer.management.databasemanager" Level="INFO" CodeLocation="databasemanager(312)" Detail="Cluster configuration change detected"
2020-08-12T15:13:24.980-05:00 expc01 UTCTime="2020-08-12 20:13:24,980" Module="developer.cdbtable.cdb.clusterConfiguration" Level="DEBUG" Node="clusterdb@expc01.apolo.local" PID="<0.345.0>" Detail="Inserting into table" TableName="clusterConfiguration"
2020-08-12T15:13:24.986-05:00 expc01 management: UTCTime="2020-08-12 20:13:24,986" Module="developer.management.databasemanager" Level="INFO" CodeLocation="databasemanager(405)" Detail="TLS Verify change status" Startup="False" New="True"
2020-08-12T15:13:25.022-05:00 expc01 UTCTime="2020-08-12 20:13:25,022" Event="System Configuration Changed" Node="clusterdb@expc01.apolo.local" PID="<0.557.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.022-05:00 expc01 UTCTime="2020-08-12 20:13:25,022" Module="developer.clusterdb.peernameresolver" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.145.0>" Detail="Notifying databasemanager (Management Framework)"
2020-08-12T15:13:25.022-05:00 expc01 UTCTime="2020-08-12 20:13:25,022" Module="developer.clusterdb.alternatesmanager" Level="INFO" Node="clusterdb@expc01.apolo.local" PID="<0.142.0>" Detail="alternate peer changed info recieved"
2020-08-12T15:13:25.031-05:00 expc01 UTCTime="2020-08-12 20:13:25,031" Event="System Configuration Changed" Node="clusterdb@expc01.apolo.local" PID="<0.557.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.192-05:00 expc01 management: UTCTime="2020-08-12 20:13:25,192" Module="developer.diagnostics.alarmmanager" Level="INFO" CodeLocation="alarmmanager(173)" Detail="Raising alarm" UUID="e2b8e3d1-b731-4d7d-b606-4682a8f0c2e6" Parameters="null"
2020-08-12T15:13:25.195-05:00 expc01 management: Level="WARN" Event="Alarm Raised" Id="20007" UUID="e2b8e3d1-b731-4d7d-b606-4682a8f0c2e6" Severity="warning" Detail="Restart required: Cluster configuration has been changed, however a restart is required for this to take effect" UTCTime="2020-08-12 20:13:25,194"
从对等节点的角度看,它显示在下一个输出中:
2020-08-12T15:13:24.976-05:00 expc02 UTCTime="2020-08-12 20:13:24,976" Event="System Configuration Changed" Node="clusterdb@expc02.apolo.local" PID="<0.390.0>" Detail="xconfiguration clusterConfiguration tls_verify - changed from: Permissive to: Enforcing"
2020-08-12T15:13:24.979-05:00 expc02 management: UTCTime="2020-08-12 20:13:24,978" Module="developer.management.databasemanager" Level="INFO" CodeLocation="databasemanager(312)" Detail="Cluster configuration change detected"
2020-08-12T15:13:24.982-05:00 expc02 management: UTCTime="2020-08-12 20:13:24,982" Module="developer.management.databasemanager" Level="INFO" CodeLocation="databasemanager(405)" Detail="TLS Verify change status" Startup="False" New="True"
2020-08-12T15:13:25.040-05:00 expc02 UTCTime="2020-08-12 20:13:25,040" Module="developer.clusterdb.peernameresolver" Level="INFO" Node="clusterdb@expc02.apolo.local" PID="<0.136.0>" Detail="Notifying databasemanager (Management Framework)"
2020-08-12T15:13:25.040-05:00 expc02 UTCTime="2020-08-12 20:13:25,040" Module="developer.clusterdb.alternatesmanager" Level="INFO" Node="clusterdb@expc02.apolo.local" PID="<0.143.0>" Detail="alternate peer changed info recieved"
2020-08-12T15:13:25.041-05:00 expc02 UTCTime="2020-08-12 20:13:25,041" Event="System Configuration Changed" Node="clusterdb@expc02.apolo.local" PID="<0.543.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.042-05:00 expc02 UTCTime="2020-08-12 20:13:25,042" Event="System Configuration Changed" Node="clusterdb@expc02.apolo.local" PID="<0.543.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.046-05:00 expc02 UTCTime="2020-08-12 20:13:25,046" Module="developer.clusterdb.alternatesmanager" Level="INFO" Node="clusterdb@expc02.apolo.local" PID="<0.143.0>" Detail="alternate peer changed info recieved"
2020-08-12T15:13:25.047-05:00 expc02 UTCTime="2020-08-12 20:13:25,046" Module="developer.clusterdb.peernameresolver" Level="INFO" Node="clusterdb@expc02.apolo.local" PID="<0.136.0>" Detail="Notifying databasemanager (Management Framework)"
2020-08-12T15:13:25.047-05:00 expc02 UTCTime="2020-08-12 20:13:25,047" Event="System Configuration Changed" Node="clusterdb@expc02.apolo.local" PID="<0.543.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.049-05:00 expc02 UTCTime="2020-08-12 20:13:25,049" Event="System Configuration Changed" Node="clusterdb@expc02.apolo.local" PID="<0.543.0>" Detail="xconfiguration alternatesConfiguration - Changed"
2020-08-12T15:13:25.136-05:00 expc02 management: UTCTime="2020-08-12 20:13:25,136" Module="developer.diagnostics.alarmmanager" Level="INFO" CodeLocation="alarmmanager(173)" Detail="Raising alarm" UUID="e2b8e3d1-b731-4d7d-b606-4682a8f0c2e6" Parameters="null"
2020-08-12T15:13:25.139-05:00 expc02 management: Level="WARN" Event="Alarm Raised" Id="20007" UUID="e2b8e3d1-b731-4d7d-b606-4682a8f0c2e6" Severity="warning" Detail="Restart required: Cluster configuration has been changed, however a restart is required for this to take effect" UTCTime="2020-08-12 20:13:25,139"
下一个视频可能很有用:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
02-Jul-2021 |
初始版本 |