簡介
本文件說明如何診斷資料庫複寫問題,並提供疑難排解與解決此類問題的必要步驟。
診斷資料庫複寫的步驟
本節介紹資料庫複製中斷的情況,並提供TAC工程師為了診斷和隔離問題而採取的疑難排解方法。
步驟 1.驗證資料庫複製是否已中斷
為了判斷資料庫複寫是否已中斷,您必須瞭解用於複寫之即時監控工具 (RTMT) 的各種狀態。
價值 |
含義 |
說明 |
0 |
初始化狀態 |
複寫正在進行設定。如果複製處於此狀態的時間超過一小時,則可能會發生安裝失敗。 |
1 |
複寫數目不正確 |
設定仍在進行中。在6.x和7.x版中很少出現此狀態;在5.x版中,它表示安裝仍在進行中。 |
2 |
複寫狀況良好 |
邏輯連線已建立,且表格符合叢集上的其他伺服器。 |
3 |
表格不相符 |
邏輯連線已建立,但表是否匹配存在不確定性。 在 6.x 版和 7.x 版中,即使叢集中的其中一個伺服器已關閉,所有伺服器仍有可能顯示狀態 3。 由於其他伺服器不確定是否存在尚未從用戶傳遞至叢集中其他裝置的使用者導向功能 (UFF) 更新,因此可能會發生此問題。 |
4 |
設定失敗/已捨棄 |
伺服器不再具有作用中的邏輯連線,以便在網路中接收任何資料庫表格。在此狀態下不會發生任何複寫。 |
要驗證資料庫複製,請從發佈器節點的CLI運行utils複製runtimestate命令,如下圖所示。
在輸出中,請確保叢集複寫狀態未包含舊的同步資訊。選中該選項並使用時間戳。
如果廣播同步處理未更新為最近的日期,請執行 utils dbreplication status 命令以檢查所有資料表和複寫。如果發現錯誤/不符項目,將會顯示在輸出中,且 RTMT 狀 態也會隨之變更,如下圖所示。
執行命令後,將會檢查所有資料表的一致性,並顯示正確的複寫狀態。
注意:允許檢查所有表,然後繼續排除故障。
在顯示正確的複寫狀態後,請檢查複寫設定 (RTMT) 和詳細資料,如第一個輸出所示。您必須檢查每個節點的狀態。如果有任何節點的狀態不是 2,請繼續進行疑難排解。
步驟 2.從CUCM上的Cisco Unified Reporting頁面收集CM資料庫狀態
- 完成步驟1後,從Cisco Unified Communications Manager(CUCM)發佈者的Navigation下拉選單中選擇Cisco Unified Reporting選項,如下圖所示。
2. 導覽至「系統報告」,然後按一下「Unified CM 資料庫狀態」,如下圖所示。
3.使用「生成新報告」選項生成新報告,或按一下「生成新報告」圖示,如下圖所示。
4.生成並下載報告後,儲存報告,以便在需要開啟服務請求(SR)時,可以將其提供給TAC工程師。
步驟 3.檢視標籤為錯誤的任何元件的Unified CM資料庫報告
如果元件中存在任何錯誤,這些錯誤會用紅色的X圖示進行標籤,如下圖所示。
- 如果發生錯誤,請檢查節點之間的網路連線。驗證A Cisco DB服務是否從節點的CLI運行,並使用utils service list 命令。
- 如果 A Cisco DB 服務已關閉,請執行 utils service start A Cisco DB 命令以啟動服務。如果失敗,請聯絡Cisco TAC。
- 務必填入所有節點的複寫伺服器清單 (cdr list serv)。
此圖說明了一個理想的輸出。
如果部分節點的 Cisco Database Replicator (CDR) 清單為空白,請參閱步驟 8。
- 確認所有節點的 Unified CM Hosts、Rhosts 及 Sqlhosts 均相同。
這個步驟相當重要。如下圖所示,所有節點的 Unified CM Hosts、Rhosts 及 Sqlhosts 均相同。
Hosts 檔案不相符:
當 IP 位址變更或更新為伺服器上的主機名稱時,可能會導致活動發生錯誤。
請參閱此連結以將 IP 位址變更為 CUCM 的主機名稱。
IP 位址和主機名稱變更
從發佈伺服器的CLI重新啟動這些服務,並檢查是否已清除不匹配項。如果是,請轉至步驟8。如果沒有,請與Cisco TAC聯絡。 請在每次於 GUI/CLI 上進行變更時都產生新的報告,以檢查是否已包含變更。
Cluster Manager ( utils service restart Cluster Manager)
A Cisco DB ( utils service restart A Cisco DB)
Rhosts 檔案不相符:
如果 Rhosts 檔案以及主機檔案都不相符,請按照「Hosts 檔案不相符」底下所述的步驟操作。 如果只有 Rhosts 檔案不相符,請透過 CLI 執行命令:
A Cisco DB ( utils service restart A Cisco DB )
Cluster Manager ( utils service restart Cluster Manager)
產生新的報告,並檢查所有伺服器上的 Rhost 檔案是否相同。如果是,請轉至步驟8。如果沒有,請與Cisco TAC聯絡。
Sqlhosts 檔案不相符:
如果 Sqlhosts 檔案以及主機檔案都不相符,請按照 「Hosts 檔案不相符」底下所述的步驟操作。如果只有 Sqlhosts 檔案不相符,請透過 CLI 執行命令:
utils service restart A Cisco DB
產生新的報告,並檢查所有伺服器上的 Sqlhost 檔案是否相同。如果是,請轉至步驟8。如果沒有,請與Cisco TAC聯絡
如果 RPC hello 方法不適用於特定節點:
- 請確認特定節點與發佈者之間的網路連線。
- 請確保網路上允許連接埠號碼 1515。
請參閱此連結以取得 TCP/UDP 連接埠使用方式的詳細資料:
Cisco Unified Communications Manager TCP 和 UDP 連接埠使用方式
如果節點的網路連線失敗:
- 請確認節點之間具有網路連線能力。
- 請確保網路上允許適當的 TCP/UDP 連接埠號碼。
產生新的報告,並檢查連線是否成功。如果連線失敗,請移至步驟 8。
步驟 4.檢查使用Utils Diagnose Test命令的各個元件
utils diagnose test 命令會檢查所有元件並傳回通過/失敗值。對資料庫複寫正常運作至關重要的元件包括:
validate_network 命令會檢查與叢集中所有節點之網路連線的所有層面。如果連線發生問題,則網域名稱伺服器/反向網域名稱伺服器上會經常顯示錯誤。validate_network 命令會在 300 秒內完成作業。網路連線測試中常見的錯誤訊息:
1.錯誤「Intra-cluster communication is broken」,如下圖所示。
當叢集中的一或多個節點發生網路連線問題時,就會導致此錯誤。請確認所有節點都具有 Ping 連線能力。
如果內部叢集通訊中斷,將會發生資料庫複寫問題。
2. 反向 DNS 查詢失敗。
當節點上的反向 DNS 查詢失敗時,就會導致此錯誤。但是,當您使用以下命令時,您可以驗證DNS是否正確設定和運作:
utils network eth0 all - Shows the DNS configuration (if present)
utils network host <ip address/Hostname> - Checks for resolution of ip address/Hostname
如果DNS無法正常工作,則當定義伺服器並使用主機名時,它可能導致資料庫複製問題。
NTP負責使伺服器的時間與參考時鐘保持同步。發佈者始終將時間與其IP列為NTP伺服器的裝置同步;而訂閱者則將時間與發佈者同步。
NTP 必須能夠完全正常運作才能避免任何資料庫複寫問題。
NTP層數(到父參考時鐘的跳數)必須小於5,否則認為不可靠。
請完成下列步驟以檢查 NTP 狀態:
- 使用 utils diagnose test 命令檢查輸出,如下圖所示。
2.此外,您可以運行此命令:
utils ntp status
步驟 5.檢查所有節點的連線狀態並確保它們通過身份驗證
- 完成步驟 4 後,如果沒有報告任何問題,請對所有節點執行 utils network connectivity 命令,以檢查資料庫的連線是否成功,如下圖所示。
2.如果收到「無法傳送TCP/UDP封包」錯誤訊息,請檢查網路是否有任何重新傳輸或封鎖TCP/UDP連線埠。show network cluster 命令會檢查所有節點的驗證。
3.如果節點的狀態未經身份驗證,請確保所有節點的網路連線和安全密碼相同,如下圖所示。
請參閱連結以變更/復原安全性密碼:
如何在 CUCM 上重設密碼
CUCM 作業系統管理員密碼復原
步驟 6.Utils Dbremote Runtimestate命令顯示不同步或未請求的狀態
您必須瞭解資料庫複寫是一種大量使用網路的工作,因為此工作會將實際資料表推送至叢集中的所有節點。確保:
utils dbreplication setprocess <1-40>
注意:更改此引數時,會提高複製設定效能,但會消耗額外的系統資源。
Server 1-5 = 1 Minute Per Server Servers 6-10 = 2 Minutes Per Server Servers >10 = 3 Minutes Per Server.
Example: 12 Servers in Cluster : Server 1-5 * 1 min = 5 min, + 6-10 * 2 min = 10 min, + 11-12 * 3 min = 6 min,
Repltimeout should be set to 21 Minutes.
檢查/設定複寫逾時的命令:
show tech repltimeout ( To check the current replication timeout value )
utils dbreplication setrepltimeout ( To set the replication timeout )
完成核對表後,必須執行步驟7和步驟8:
檢查清單:
- 如果節點數大於8,請在執行步驟7和8之前諮詢Cisco TAC。
步驟 7.修復所有/選擇性資料庫復製表
如果 utils dbreplication runtimestate 命令顯示存在錯誤/不相符資料表,請執行下列命令:
Utils dbreplication repair all
執行 utils dbreplication runtimestate 命令以再次檢查狀態。
如果狀態未變更,請繼續執行步驟 8。
步驟 8.從頭重置資料庫複製
請參考順序以重置資料庫複製並從頭開始該過程。
utils dbreplication stop all (Only on the publisher)
utils dbreplication dropadmindb (First on all the subscribers one by one then the publisher)
utils dbreplication reset all ( Only on the publisher )
若要監控程序,請執行 RTMT/utils dbreplication runtimestate 命令。
請參閱序列以重設特定節點的資料庫複寫:
utils dbreplication stop <sub name/IP> (Only on the publisher)
utils dbreplcation dropadmindb (Only on the affected subscriber)
utils dbreplication reset <sub name/IP> (Only on the publisher )
如果您聯絡Cisco TAC尋求進一步協助,請確保提供以下輸出和報告:
utils dbreplication runtimestate
utils diagnose test
utils network connectivity
報告:
- Cisco Unified Reporting CM資料庫報告(請參閱步驟2)。
- utils create report database 命令從CLI下載.tar檔案並使用SFTP伺服器。
相關資訊