目錄

簡介

必要條件

需求

採用元件

設定

對於發佈者

虛擬機器部署

驗證

疑難排解

已在此功能中引入的CLI命令

優勢

簡介

本檔案將說明思科整合通訊管理員(CUCM)10.5.2和更高版本中引入的無觸控虛擬機器(VM)安裝功能。

必要條件

需求

本文件沒有特定需求。

採用元件

本文中的資訊係根據以下軟體和硬體版本：

- 10.5.2版及更高版本的CUCM/Cisco Unity Connection(CUC)/即時消息和線上狀態(IM&P)的可啟動映像

- 適用於UC 10.5.2的開放式虛擬化存檔(OVA)。

- 使用應答檔案生成器(AFG)工具的輸出建立虛擬磁片映像。

使用AFG工具建立虛擬磁片映像的步驟記錄在連結中。本網站提供適用於Windows、Mac OS X和Linux等多種客戶端平台的說明。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

設定

使用AFG工具生成磁片映像檔案。此磁片映像包含CUCM發佈器的platformConfig.xml檔案和clusterConfig.xml檔案，以及所有其他節點（包括CUCM訂閱伺服器、IMP發佈伺服器和IMP訂閱伺服器）的platformConfig.xml檔案。

安裝開始時，先啟動VM節點，並裝載磁片映像和可啟動ISO。使用無接觸VM安裝過程，在安裝獨立節點或群集安裝期間無需手動干預。

使用此功能，可以同時啟動整個群集安裝。如果發佈伺服器安裝仍在進行中，訂閱伺服器必須等待發佈伺服器聯機。發佈伺服器安裝完成後，將等待的訂閱伺服器新增到其伺服器表中。將訂閱伺服器新增到發佈伺服器後，訂閱伺服器可以繼續安裝。

群集管理器(clm)和啟動服務的綜合協調使得發佈者和訂閱者之間的資訊交換成為可能。這種簡化的群集安裝可通過使用AFG工具生成的預定義群集配置來實現。在此例中，發佈伺服器通過clusterConfig.xml檔案獲取有關其訂閱伺服器節點的完整資訊。在成功安裝publisher後，Publisher使用此資訊將這些節點新增到其處理節點/應用程式表中。

在繼續操作之前，請注意新增了一個新功能。它是動態群集配置。

1. 當新的訂閱伺服器節點聯機並嘗試向發佈伺服器進行身份驗證時，這些節點會自動新增到發佈伺服器的伺服器表中。要執行此操作，必須先啟用動態群集配置。

2. 可以通過AFG工具或命令列介面(CLI)啟用此功能。

3. 使用此框架，您無需在Publisher的伺服器頁面中手動新增訂戶的詳細資訊。

作為此功能的一部分，您必須能夠從AFG工具生成platformConfig.xml檔案和clusterConfig.xml檔案。此外，您必須能夠指定要使用的動態群集配置計時器值，並提供預構建的clusterConfig.xml檔案。如果使用動態群集配置，您必須能夠為動態群集配置新增超時值的詳細資訊。

您可以在發佈器的platformconfig.xml檔案中找到Dynamic Cluster Configuration timer值：

<PostInstallAutoRegister>

<ParamNameText>

Number of Seconds to Enable Auto Register Post-Install on Pub

</ParamNameText>

<ParamDefaultValue>0</ParamDefaultValue>

<ParamValue>1000</ParamValue>

</PostInstallAutoRegister>

一旦檔案建立，就會傳送一個啟動事件，宣告檔案已建立。收到事件後，偵聽啟動事件的啟動服務會使用此計時器配置群集管理器。

例如，如果將計時器配置為10小時，則CUCM訂閱伺服器節點將新增到CUCM發佈伺服器的進程節點中，直到發佈伺服器聯機時開始該時間。以後可以使用set network cluster subscriber dynamic-cluster-configuration <number of hours>命令新增使用者節點：

其中

<小時數> — 是一個介於1和24之間的值

default — 將動態群集配置值設定為24小時

啟用時，show network cluster命令提供以下輸出：

admin:show network cluster

10.106.61.120 CUCMPUB  Publisher callmanager DBPub authenticated

10.106.61.121 CUCMSUB  Subscriber callmanager DBSub authenticated using TCP since Fri Nov 28 17:59:21 2014

10.106.61.122 CUCMSUB1  Subscriber callmanager DBSub authenticated using TCP since Fri Nov 28 18:06:41 2014

Server Table (processnode) Entries

----------------------------------

CUCMPUB

10.106.61.121

10.106.61.122

Dynamic Cluster Configuration is enabled for 23 Hours 59 Minutes.

附註：在將clusterconfig.xml檔案與platformconfig.xml檔案一起使用時，節點自動註冊到CUCM Pub，因此上面討論的計時器不相關。僅當使用Publisher伺服器的platformconfig.xml檔案時，計時器才有用，就像在本例中CUCM Pub不知道集群中的所有其他節點一樣。

在此場景中，您將使用這兩種方法構建3個節點群集（Publisher CUCMPUB和2個訂戶CUCMSUB和CUCMSUB1）。

在2個CUCM訂閱伺服器中，通過clusterconfig.xml檔案安裝CUCMSUB，並使用自動註冊過程安裝CUCMSUB1。

建立了3個檔案：

1. 主節點CUCMPUB的platforconfig.xml檔案

2. 輔助節點CUCMSUB的platformconfig.xml檔案

3. Clusterconfig.xml檔案包含整個群集的詳細資訊。與platformconfig.xml類似，它包含群集中所有裝置的主機名、ip地址、域、角色和使用資訊的清單。

在此方案中，當您使用CUCMSUB1通過自動註冊安裝時，您將生成另一個與上面類似的AFG檔案，其中包含發佈者的platformconfig.xml檔案以及CUCMSUB1的新platformconfig.xml。

如下圖所示。

從發佈伺服器獲取clusterconfig.xml檔案，從所有伺服器獲取platformconfig.xml檔案後，就應該製作相同的磁片映像了。

對於發佈者

如果要使用dynamic cluster config選項，則需要通過組合發佈器的clusterconfig.xml檔案和platformconfig.xml檔案來建立磁片映像。僅發佈伺服器需要合併這兩個檔案，其他任何伺服器都不需要。對於訂閱伺服器，您只能使用各自的platformconfig.xml檔案。

虛擬機器部署

建立磁片映像後，便需要安裝CD（使用.iso可啟動映像）和磁片驅動器（使用您之前建立的.flp映像）。

此映像顯示如何裝載CD:

此圖顯示如何安裝軟碟機：

您需要確保VM電腦配置為從CD-ROM啟動。否則，您可以修改BIOS設定以允許相同設定。請開啟VM的電源。從此階段開始，無需手動干預，必須安裝所有伺服器。在此場景中，由於您已禁用動態自動配置，您必須手動配置計時器，如下圖所示。

開啟VM電源後，它將開始其預引導階段過程，在該過程中它會要求您測試介質或繼續。

此圖顯示了媒體測試視窗：

CUCM伺服器在此預引導階段查詢clusterconfig.xml檔案和platformconfig.xml檔案。

驗證

使用本節內容，確認您的組態是否正常運作。

從CUCMPUB的安裝日誌中，您可以看到它是否能夠找到檔案。在我們的示例中，

platformconfig.xml檔案

11/28/2014 08:05:28 anaconda|Looking for platformConfig.xml...|<LVL::Info>

11/28/2014 08:05:28 anaconda|Find a platformConfig.xml file|<LVL::Info>

11/28/2014 08:05:28 anaconda|Check on /dev/fd0|<LVL::Debug>

11/28/2014 08:05:28 anaconda|Looking for platformConfig.xml on device /dev/fd0|<LVL::Info>

11/28/2014 08:05:28 anaconda

|Found platformConfig.xml on device /dev/fd0|<LVL::Info>

clusterconfig.xml 檔案

11/28/2014 08:05:28 anaconda|Copying /mnt/floppy/platformConfig.xml to /tmp/platformConfig.xml|<LVL::Debug>

11/28/2014 08:05:28 anaconda|Looking for clusterConfig.xml...|<LVL::Info>

11/28/2014 08:05:28 anaconda|Find a clusterConfig.xml file|<LVL::Info>

11/28/2014 08:05:28 anaconda|Check on /dev/fd0|<LVL::Debug>

11/28/2014 08:05:28 anaconda|Looking for clusterConfig.xml on device /dev/fd0|<LVL::Info>

11/28/2014 08:05:28 anaconda|

Found clusterConfig.xml on device /dev/fd0|<LVL::Info>

11/28/2014 08:05:28 anaconda|Copying /mnt/floppy/clusterConfig.xml to /tmp/clusterConfig.xml|<LVL::Debug>

在其他2個訂戶的日誌中會看到類似的消息。

預啟動階段結束後，有2台伺服器從啟動後階段開始。

此圖顯示開機後階段：

由於未安裝CUCM發佈伺服器，此時使用者安裝將暫停，因為它在發佈伺服器的進程節點表中找不到它的條目。警告已相應修改，指出對於無接觸安裝，這是正常現象，而發佈者會安裝。不執行任何操作。安裝將自動繼續，如下圖所示。

安裝CUCM Publisher後，系統會傳送一個啟動事件，通知安裝已完成。建立processnode檔案，並在發佈伺服器上查詢clusterconfig.xml檔案，以檢視此時哪些節點出現在clusterconfig.xml檔案中。在這種情況下，它會找到另一個節點，並將該節點新增到資料庫中。請記住，對於伺服器CUCMSUB1，您用於自動註冊過程，其詳細資訊未顯示在發佈伺服器的clusterconfig.xml檔案中。

顯示安裝日誌中的一個事件。

Nov 28 16:44:37 CUCMPUB local7 6 Cisco: Database Layer Monitor: DBNotify SDI Initialization successful

Nov 28 16:44:37 CUCMPUB user 6 ilog_impl: emitted platform-event (--no-wait

platform-system-processnode-created

)

在CUCM Publisher將節點新增到其資料庫後，clusterconfig.xml檔案中有一個名為icl_state的新節，它將狀態標籤為已完成。這是必需的，因為CUCM Publisher在整個安裝過程中需要多次檢視clusterconfig.xml檔案。如果狀態已標籤為完成，它知道哪個節點已完成安裝。

同時，CUCM的集群管理器雖然沒有完全線上但仍嘗試輪詢CUCM發佈器。由於發佈伺服器尚未安裝，您將收到一個錯誤，如ClusterManager日誌中所示：

09:48:53.054 |tcp connection closed to

10.106.61.120

, back to initiator state

09:48:53.054 |exec'ing: sudo /root/.security/ipsec/disable_ipsec.sh --desthostName=CUCMPUB --op=delete

09:48:53.509 |Timeout or error() 115 - Operation now in progress, port 8500

09:48:53.509 |

tcp recv error: Connection refused.

09:49:15.773 |tcp connection closed to

10.106.61.120

, back to initiator state

09:49:15.773 |exec'ing: sudo /root/.security/ipsec/disable_ipsec.sh --desthostName=CUCMPUB --op=delete

09:49:16.223 |Timeout or error() 115 - Operation now in progress, port 8500

09:49:16.223 |

tcp recv error: Connection refused

.

現在，完成發佈伺服器安裝並建立processnode檔案後，它將訪問其clusterconfig.xml檔案並新增其他節點(CUCMSUB)。 一旦節點新增到資料庫，啟動事件就會傳送到CUCMPUB和CUCMSUB。

CUCMSUB的群集管理器從CUCMPUB接收策略注入狀態。使用CUCMPUB的主機名和策略注入狀態傳送一個啟動事件。CUCMSUB嘗試與其他伺服器建立網狀拓撲時，會收到來自所有其他伺服器的啟動事件，但是，它更感興趣的是在發佈伺服器聯機時恢復安裝時收到帶有CUCMPUB主機名的啟動事件。upstart服務收到upstart事件後，會向安裝嚮導傳送終止訊號。這將嘗試重新驗證platformconfig.xml檔案，然後開始使用CUCMPUB進行連線驗證。由於發佈伺服器現在可用，驗證成功，安裝繼續。

對於CUCMSUB1安裝，您需要將動態群集配置值修改為任何其他值，以便我們的伺服器被新增到發佈伺服器的處理節點。在本示例中，您已將其修改為1小時。

set network cluster subscriber dynamic-cluster-configuration 1 命令。

應用上述命令後，CUCMPUB會接受來自CUCMSUB1的節點註冊請求。如果未配置上述命令，當CUCMSUB1嘗試聯絡發佈伺服器時，發佈伺服器會在其自動註冊計時器中查詢；如果值為0，則不會將節點新增到其clusterconfig.xml以及processnode表中。

一旦CUCMSUB1聯絡CUCMPUB，它將接受來自CUCMSUB1(10.106.61.122)的套接字連線，並將使用者資料新增到clusterconfig.xml檔案中。

從發佈伺服器的clusterManager日誌中，此事件將列為saveClusterSubscriberNodeData。

16:56:19.455 |

accepted client IP(10.106.61.122), socket(10):

16:56:24.489 |

saveClusterSubscriberNodeData api, hostname=CUCMSUB1

, peerdat=icl_master=no icl_clustered=yes icl_deployment=callmanager icl_active_version=10.5.2.10000-2 icl_inactive_version=0.0.0.0000-0000 icl_active_unrest=false icl_inactive_unrest=false icl_disk_size=110 icl_mtu_changed=no icl_mtu_size= icl_app_uid=administrator icl_app_pw= icl_db_master=no icl_state=Installing icl_ip_address=10.106.61.122 icl_fqdn=CUCMSUB1 icl_domain= icl_pub_enc_dkey=

因此，發佈器上的clusterconfig.xml檔案會發生更改，並且會看到此事件。

CUCMPUB user 6 ilog_impl: Received request for platform-event (platform-event-clusterconfig-changed)

伺服器的安裝將繼續進行。

一旦安裝了CUCMSUB和CUCMSUB1，您就會從兩個節點收到以下事件platform-system-clusternode-install-completed。此事件將傳送到群集中的每個節點。

STATE=ready表示安裝已完成，否則它會處於Installing狀態。

此消息顯示在CUCMPUB系統日誌中，表示已完成CUCMSUB和CUCMSUB1的安裝。

Line 13154: Nov 28 17:59:17 CUCMPUB user 6 ilog_impl: emitted platform-event(--

no-wait platform-system-clusternode-install-completed HOSTNAME=CUCMSUB STATE=ready

)

Line 14514: Nov 28 18:06:36 CUCMPUB user 6 ilog_impl: emitted platform-event(--

no-wait platform-system-clusternode-install-completed

HOSTNAME=CUCMSUB1 STATE=ready

)

疑難排解

目前尚無適用於此組態的具體疑難排解資訊。

已在此功能中引入的CLI命令

1.set network cluster subscriber details <server type> <hostname> <ip> <domain name>

此命令用於將訂閱伺服器新增到processnode/app伺服器表中。

語法：

引數

說明

伺服器型別

值為CUCM、IMP或CUC（必填）

ip

新增的主機名的IP地址（對於IMP Publisher和CUC為必填，對於其他節點為可選）

域名

IMP發佈伺服器的域名（對於IMP發佈伺服器為必填欄位，對於其他節點為不需要欄位）

2.取消設定網路群集訂閱伺服器詳細資訊

此命令顯示一條消息，通知使用者可從GUI中刪除。不允許在CLI上執行取消設定操作。此操作只能從網頁中完成。

3.set network cluster subscriber dynamic-cluster-config

Set network cluster subscriber dynamic-cluster-configuration { <default> | <小時數>

此命令在發佈伺服器上啟用動態群集配置。

語法說明

引數

說明

預設

這將啟用24小時內的動態群集配置

<否。小時>

1到24小時之間的值

4.show network cluster

此命令在發佈伺服器上啟用時顯示最新動態群集配置值。

優勢

- 提供非接觸式安裝過程，在安裝過程中無需手動干預 以及部署新CUCM群集期間的排程。

- 簡化向現有群集新增新訂戶的過程。

- 節省時間

在典型的CUCM安裝過程中，您會看到多個安裝嚮導螢幕，這些場景需要手動干預：

1. 在安裝過程中，可以在安裝嚮導螢幕上提供某些資訊。需要手動干預，因為您需要手動鍵入安裝過程需要的資訊。

2. 要設定典型的群集環境，首先安裝發佈伺服器。安裝發佈伺服器後，可以從發佈伺服器的網頁新增發佈伺服器表中的訂閱伺服器的詳細資訊。然後，在安裝訂閱伺服器時，會運行訂閱伺服器安裝嚮導，請求管理員填寫訂閱伺服器安裝詳細資訊。