目录

简介

先决条件

要求

使用的组件

配置

对于发布者

虚拟机部署

验证

故障排除

此功能中引入的CLI命令

好处

简介

本文档介绍Cisco Unified Communications Manager(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文件获取有关其订阅服务器节点的完整信息。发布服务器成功安装发布服务器后，使用此信息将这些节点添加到其进程节点/应用程序表。

在继续之前，请注意已添加新功能。它是动态集群配置。

1. 当新订阅者节点联机并尝试向发布者进行身份验证时，新订阅者节点会自动添加到发布者的服务器表中。要实现此目的，必须先启用动态集群配置。

2. 这可以通过AFG工具或命令行界面(CLI)启用。

3. 使用此框架，您无需在发布者的服务器页面手动添加订阅者的详细信息。

作为此功能的一部分，您必须能够从AFG工具生成platformConfig.xml文件和clusterConfig.xml文件。此外，您必须能够指定要使用的动态群集配置计时器值，并提供预建的clusterConfig.xml文件。如果使用dynamic-cluster-configuration，则必须能够为dynamic-cluster-configuration添加超时值的详细信息。

可以在发布方的platformconfig.xml文件中找到动态集群配置计时器值：

<PostInstallAutoRegister>

<ParamNameText>

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

</ParamNameText>

<ParamDefaultValue>0</ParamDefaultValue>

<ParamValue>1000</ParamValue>

</PostInstallAutoRegister>

文件一经创建，就会发送一个更新事件，声明文件已创建。收到事件时，侦听upstart事件的upstart服务会使用此计时器配置集群管理器。

例如，如果计时器配置为10小时，则CUCM订用程序节点将添加到CUCM发布程序的进程节点，直到发布程序联机时该时间为止。以后可以使用set network cluster subscriber dynamic-cluster-configuration <number of hours>命令添加用户节点:

位置

<小时数> — 是介于1到24之间的值

default — 将dynamic-cluster-configuration值设置为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，因此上面讨论的计时器不相关。仅当您使用发布服务器的platformconfig.xml文件时，计时器才有用，就像CUCM Pub在本例中不知道集群中的所有其他节点一样。

在此场景中，您将使用两种方法构建3个节点集群（Publisher CUCMPUB和2个订用服务器CUCMSUB和CUCMSUB1）。

在2个CUCM订用服务器中，通过clusterconfig.xml文件安装CUCMSUB，并使用自动注册流程安装CUCMSUB1。

创建3个文件：

1. 主节点CUCMPUB的Platformconfig.xml文件

2. 辅助节点CUCMSUB的Platformconfig.xml文件

3. Clusterconfig.xml文件包含整个集群的详细信息。与platformconfig.xml类似，它包含集群中所有设备的主机名、IP地址、域、角色和使用信息的列表。

在此场景中，当您使用CUCMSUB1通过自动注册进行安装时，您会生成与上述文件类似的另一个AFG文件，并为发布方生成platformconfig.xml文件，同时为CUCMSUB1生成新的platformconfig.xml文件。

如下图所示。

从发布服务器获取clusterconfig.xml文件，从所有服务器获取platformconfig.xml文件后，就应该创建相同的软盘映像。

对于发布者

如果要使用动态集群配置选项，则需要通过组合发布服务器的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发布服务器后，会发送启动事件以通知安装已完成。Processnode文件已创建，并在发布服务器上查找clusterconfig.xml文件，以查看当时集群config.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发布服务器将节点添加到其数据库后，clusterconfig.xml文件中会有一个新部分，称为icl_state，并将状态标记为已完成。这是必需的，因为CUCM发布服务器在整体安装期间需要查看clusterconfig.xml文件几次。如果状态已标记为已完成，则它知道哪个节点已完成安装。

同时，CUCMSUB的集群管理器虽然未完全在线，但仍尝试轮询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且策略注入状态为upstart的事件。尝试与其他服务器创建网状拓扑时，CUCMSUB会从所有其他服务器接收启动事件，但是，它更感兴趣的是使用CUCMPUB的主机名收到的启动事件，因为它会在发布者联机时恢复安装。一旦启动服务收到启动事件，它就会向安装向导发送终止信号。这会尝试重新验证platformconfig.xml文件，然后会开始使用CUCMPUB进行连接验证。由于发布方现在可用，验证成功并继续安装。

对于CUCMSUB1安装，您需要将动态集群配置值修改为任何其他值，以便我们的服务器添加到发布方的进程节点。在本例中，您已将相同修改为1小时。

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

应用上述命令后，CUCMPUB会接收来自CUCMSUB1的节点注册请求。如果未配置上述命令，当CUCMSUB1尝试与发布者联系时，发布者会在其auto-reg计时器中查找，如果值为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后，您会从两个节点收到以下事件平台 — 系统 — 集群节点 — 安装 — 完成。此事件将发送到集群中的每个节点。

STATE=ready表示安装已完成，否则它处于“安装”状态。

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 server表。

语法:

参数

描述

服务器类型

值为CUCM、IMP或CUC（必填）

ip

添加的主机名的IP地址（对于IMP Publisher & CUC为必填项，对于其他节点为可选项）

域名

IMP发布者的域名（IMP发布者为必填项，其他节点则不为必填项）

2.未设置网络群集用户详细信息

此命令显示有关可从GUI中删除订用服务器的消息。不允许在CLI上执行取消设置操作。此操作只能从网页执行。

3.set network cluster subscriber dynamic-cluster-config

设置网络集群用户dynamic-cluster-configuration { <default> | <小时数>

此命令在发布服务器上启用dynamic-cluster-config。

语法说明

参数

描述

默认

这将启用动态集群配置24小时

<否。小时>

1-24小时之间的值

4.show network cluster

此命令在发布服务器上启用时显示最新动态集群配置值。

好处

- 提供无需手动干预的无接触安装过程 和在部署新CUCM集群时进行调度。

- 简化向现有群集添加新用户的过程。

- 节省时间

在典型的CUCM安装过程中，您会看到多个安装向导屏幕，并且这些场景需要手动干预：

1. 在安装过程中，您会在“安装向导”屏幕上提供某些信息。这需要手动干预，因为您需要手动键入安装过程需要的信息。

2. 要设置典型的群集环境，首先安装发布服务器。安装发布服务器后，您将从发布服务器的网页在发布服务器的服务器表中添加订阅服务器的详细信息。然后，当安装订户时，用户安装向导将运行，请求管理员填写订户安装详细信息。