簡介
本文件說明如何診斷資料庫複寫問題,並提供疑難排解與解決此類問題的必要步驟。
診斷資料庫複寫的步驟
本節說明資料庫複製中斷的案例,並提供疑難排解方法,以便診斷並隔離問題。
步驟 1.驗證資料庫復寫是否已中斷
為了判斷資料庫複寫是否已中斷,您必須瞭解用於複寫之即時監控工具 (RTMT) 的各種狀態。
價值 |
意義 |
說明 |
0 |
初始化狀態 |
複寫正在進行設定。如果複製處於此狀態超過一小時,則可能會發生安裝失敗。 |
1 |
複寫數目不正確 |
設定仍在進行中。此狀態在版本6.x和7.x中很少見;在版本5.x中,它表示安裝仍在進行中。 |
2 |
複寫狀況良好 |
邏輯連線已建立,且表格符合叢集上的其他伺服器。 |
3 |
表格不相符 |
邏輯連線已建立,但表是否匹配存在不確定性。 在 6.x 版和 7.x 版中,即使叢集中的其中一個伺服器已關閉,所有伺服器仍有可能顯示狀態 3。 由於其他伺服器不確定是否存在尚未從用戶傳遞至叢集中其他裝置的使用者導向功能 (UFF) 更新,因此可能會發生此問題。 |
4 |
設定失敗/已捨棄 |
伺服器不再具有作用中的邏輯連線,以便在網路中接收任何資料庫表格。在此狀態下不會發生任何複寫。 |
要驗證資料庫複製,請從發佈伺服器節點的CLI運行utils dbreplication runtimestate命令,如下圖所示。
在輸出中,請確保叢集複寫狀態未包含舊的同步資訊。選中該選項並使用時間戳。
如果廣播同步處理未更新為最近的日期,請執行 utils dbreplication status 命令以檢查所有資料表和複寫。如果發現錯誤/不符項目,將會顯示在輸出中,且 RTMT 狀 態也會隨之變更,如下圖所示。
o
執行命令後,將會檢查所有資料表的一致性,並顯示正確的複寫狀態。
注意:允許檢查所有表,然後繼續進行故障排除。
在顯示正確的複寫狀態後,請檢查複寫設定 (RTMT) 和詳細資料,如第一個輸出所示。您必須檢查每個節點的狀態。如果有任何節點的狀態不是 2,請繼續進行疑難排解。
步驟 2.從CUCM上的思科統一報告頁面收集CM資料庫狀態
- 完成步驟1後,從Cisco Unified Communications Manager (CUCM)發佈者中的導航下拉選單中選擇Cisco Unified Reporting選項,如下圖所示。
2. 導覽至「系統報告」,然後按一下「Unified CM 資料庫狀態」,如下圖所示。
3. 生成新報表,然後按一下生成新報表圖示,如此圖中所示。
4. 等待新報表成功產生。
5. 生成報告後,點選圖示下載並儲存報告,以便在TAC工程師需要打開服務請求(SR)時提供報告。
步驟 3.檢視標籤為錯誤的任何元件的Unified CM資料庫報告
如果元件中有任何錯誤,錯誤會以紅色的X圖示標示,如下圖所示。
- 如果發生錯誤,請檢查節點之間的網路連線。驗證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. 錯誤「集群內通訊中斷」,如下圖所示。
當叢集中的一或多個節點發生網路連線問題時,就會導致此錯誤。請確認所有節點都具有 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 Dbreplication 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 )
如果您聯絡思科TAC尋求進一步幫助,請確保提供以下輸出和報告:
utils dbreplication runtimestate
utils diagnose test
utils network connectivity
報告:
- Cisco Unified Reporting CM資料庫報告(請參閱步驟2)。
- 實用工具:從CLI建立報告資料庫命令。下載.tar檔案並使用SFTP伺服器。
相關資訊