本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹如何設計Expressway集群以擴展Expressway安裝的恢復能力和容量。
容量。與單個Expressway相比,Expressway集群最多可以將一個Expressway部署的容量增加4倍。集群中的Expressway對等體共用頻寬使用以及路由、區域、FindMe和其他配置。
可復原性。Expressway集群可以在Expressway處於維護模式時提供冗餘,或者在由於網路、斷電或其他原因而無法訪問時提供冗餘。端點可以註冊到集群中的任何對等體。如果端點丟失與其初始對等點的連線,它們可以重新註冊到群集中的另一個對等點。
一個Expressway可以是最多包含六條Expressway的群集的一部分。建立集群時,您指定一個對等體作為主節點,其配置將從主節點複製到其他對等體。集群中的每個Expressway對等體必須具有相同的路由功能,如果任何Expressway可以將呼叫路由到目標,則假定該集群中的所有Expressway對等體都可以將呼叫路由到該目標。
在四個對等點之後沒有容量增加。例如,在一個六對等的集群中,第五和第六個Expressway不會向集群新增額外的呼叫容量。可復原性通過額外的同行得到改善,但容量並未提高。
每個對等體上的所有其他許可證金鑰必須相同。
附註:如果Expressway-E使用單個網路介面控制器(NIC),則必須使用公共IP。如果Expressway-E使用雙NIC,則必須使用內部介面構建群集。
附註:必須先建立一個(主)對等體的群集,然後重新啟動主,然後才能新增其他對等體。建立一個1的群集後,可以新增更多對等體。
主配置:1
群集IP版本:選擇IPv4或IPv6以匹配網路地址方案。
TLS驗證模式選項:Permissive(預設)或Enforce。
Permissible表示對等體在建立集群內傳輸層安全(TLS)連線時不驗證彼此的證書。
Enforce更安全,但要求每個對等點具有有效憑證且憑證授權單位(CA)受所有其他對等點信任。
對等體1地址:輸入此Expressway(主要對等體)的地址。 如果TLS驗證模式設定為「實施」,則必須輸入與此對等體證書上的使用者公用名(CN)或使用者替代名稱(SAN)匹配的完全限定域名(FQDN)。
要新增其他對等體,請執行以下步驟:
注意:繼續之前,請確認證書SAN包含位於對等N地址欄位中的FQDN。您必須看到每個地址欄位旁邊的群集和證書的綠色狀態消息,才能繼續。
注意:如果任何證書無效,則會顯示一條警告,該警告將阻止群集在強制TLS驗證模式下正常工作。
附註:即使當前的主對等體不可訪問,也可以執行此操作。
附註:執行此過程時,忽略Expressway上報告Cluster primary mismatch或Cluster replication錯誤的任何警報。
附註:執行此過程時,對等體之間的通訊會暫時受到影響,這意味著預計會看到警報,並在更改完成和群集在新地址上達成一致之前持續出現。
對於移動和遠端訪問(MRA)等安全部署,每個Expressway-E對等體都必須具有包含其公共FQDN的SAN證書。公共DNS中的FQDN對映到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)且尚未升級,則可能會發生這種情況。
為了解決此問題,請遵循以下任一選項:
附註:確保在升級、證書更改之前或出現工廠重置警告時進行正確的備份。
如果需要重新啟動群集或任何對等體,請按照以下步驟操作:
附註:進行任何群集更改後,您可能需要等待約5分鐘,然後Expressway對等體才會報告成功狀態。
集群錯誤的警報顯示為:群集複製錯誤:(詳細資訊)需要手動同步配置,下面是其中一些示例:
如果從屬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轉儲啟用診斷日誌。
在正常狀態下,Master節點上的DB Synchronization將在日誌中顯示為下一個輸出:
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"
下一個輸出中顯示Peer Disconnection:
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"
對Master節點上的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 |
初始版本 |