语音和统一通信 : Cisco PGW 2200 软交换

了解prov-sync、prov-dply和pom.datasync

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 5 月 5 日) | 反馈


目录


简介

跨路径人机语言(MML) prov-sync命令和prov-dplypom.datasync参数影响配置数据的同步在一冗余对的Cisco媒介网关控制器之间(MGCs)。然而,有没有很好了解的这些多种机制之间的一些重要差异。本文尝试显示此问题的若干清楚并且提供指南使用排除故障。

先决条件

要求

本文档读者应了解以下主题的知识:

使用的组件

本文写入有MGC软件版本9.2(2)的念头。然而,讨论的机制在其它软件软件版本通常存在。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

配置数据的同步

配置数据是起因于MGC配置命令发出在设置会话的MML期间的Data文件。这些Data文件运载一个.dat文件名扩展。当MGC使用作为虚拟交换控制器(VSC)时而不是信令控制器,一些Data文件运载一个.bin和.dialPlan文件名扩展。

Data文件在/opt/CiscoMGC/etc/CONFIG_LIB的单独的目录保持。目录运载命名CFG_provsession。(可变provsession是指在MML选择的会话名称,当供应会话开始。)

这些CFG_目录之一拿着活动MGC配置的Data文件。呼叫在/opt/CiscoMGC/etc目录的active_link的符号链接指向此CFG_目录。活动配置的.dat文件也复制对/opt/CiscoMGC/etc,并且在VSC配置里, .bin和.dialPlan文件在/opt/CiscoMGC/dialPlan由那些替换从活动CFG_目录。

在/opt/CiscoMGC/etc的另一个符号链接,呼叫prov_link,指向举行最后已配置会话(可能或可能不等于活动配置)的CFG_目录。剩余的CFG_目录包含从若需要可以恢复活动的上一个(旧有)配置的Data文件。

active_linkprov_link

!--- The active_link equals prov_link after the prov-cpy or 
!--- prov-dply command is issued in MML.
 
% pwd 
/opt/CiscoMGC/etc� 
% ls -l | grep ^l 
lrwxrwxrwx�� 1 mgcusr�� mgcgrp��� 42 Oct 19 11:05� active_link -> 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� 
lrwxrwxrwx�� 1 mgcusr�� mgcgrp��� 41 Oct 19 11:06� prov_link -> 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest4

在与一活动和一暂挂MGC的一冗余MGC配置中,保持配置数据同步在两台主机之间在故障切换状况时防止丧失服务是重要的。配置数据同步此进程是由设置对象管理器(POM)控制的。有几个方式执行此,并且每个方法是可适用的对特定的情况。他们共享这些相似性:

  • 文件属性(名称、最后修改大小和日期)在两台主机的Data文件比较。有不匹配的属性的那些文件转接对暂挂MGC。

  • 保持活动配置的.dat文件从CFG_目录复制对/opt/CiscoMGC/etc,如显示此处:

    cp -p /opt/CiscoMGC/etc/CONFIG_LIB/CFG_active_session/[a-z]*.dat 
    /opt/CiscoMGC/etc/
    

    当MGC使用作为VSC时,这些命令被执行:

    rm -f /opt/CiscoMGC/etc/../dialPlan/*.bin 
    cp -p /opt/CiscoMGC/etc/CONFIG_LIB/CFG_active_session/*.bin 
    /opt/CiscoMGC/etc/../dialPlan/
    rm -f /opt/CiscoMGC/etc/../dialPlan/*.dialPlan 
    cp -p /opt/CiscoMGC/etc/CONFIG_LIB/CFG_active_session/*.dialPlan 
    /opt/CiscoMGC/etc/../dialPlan/
    
  • 动态重配置在暂挂主机被触发反射最近同步的活动配置。

其中每一的讨论个同步方法跟随。

prov-sync

prov-sync命令通过设置在/opt/CiscoMGC/etc/CONFIG_LIB的所有CFG_目录在活动MGC。它推送不同的或已经不存在对暂挂MGC的那些目录和文件。

prov-sync
mml> prov-sync 
�� MGC-01 - Media Gateway Controller 2002-10-11 14:32:19.950 
��� MET� 
M� COMPLD� 
�� "PROV-SYNC" 
�� ;

由于此命令起作用所有供应目录,放置限制在供应目录数量维护的在/opt/CiscoMGC/etc/CONFIG_LIB是重要的。要执行此,设置在XECfgParm.dat文件的参数diskmonitor.CfgRmDirs为允许的配置最大。(默认值是64。)

警告 警告: 在冗余MGC对的diskmonitor.CfgRmDirs参数必须配比。否则,功能和系统性能可能相反受影响。

diskmonitor.CfgRmDirs
% grep diskmonitor.CfgRmDirs /opt/CiscoMGC/etc/XECfgParm.dat 
diskmonitor.CfgRmDirs = 64��� # remove old config directories if more 
than X exist (0 = disable)

因为不允许管理员偶然地删除活动配置,您应该使用/opt/CiscoMGC/local/config-lib工具配置指南删除旧有或不需要的。如果删除配置,若可能您在两个系统应该删除它。

config-lib
% cd 
/opt/CiscoMGC/local� 
% config-lib

 � The Configuration File Library Main Menu� 

1. List Configuration Versions in Library� 
2. Save Production to a new Library Version� 
3. Copy Library Version to Production� 
4. Remove Configuration Library Version� 
Enter Selection or 'q' to quit> 4 

�� Configuration Versions� 

1. pomtest19� 
2. 190802-1� 
3. 190802-2� 
4. 190802-3� 
***Current Production Version = pomtest19� 
Enter Selection or 'q' to go back> 1 

Are you sure you want to delete this version (y/n)? y 
Deleting...

prov-dply

prov-dply命令执行prov-cpy功能因为在当前主机做已配置会话活动配置,但是也推送该相同的配置对待机。此命令只起作用一配置:活动一个。

prov-dply

!--- The prov-dply command needs an active provisioning session.
� 
mml> prov-sta::srcver="active",dstver="pom-test8" 
�� MGC-01 - Media Gateway Controller 2002-10-11 14:41:11.351 MET 
M� COMPLD 
�� "PROV-STA" 
�� ; 
mml> prov-dply 
�� MGC-01 - Media Gateway Controller 2002-10-11 14:41:22.045 MET 
M� COMPLD 
�� "PROV-DPLY" 
�� ;

pom.datasync

prov-syncprov-dply在活动MGC时可能只被执行,在XECfgParm.dat文件的pom.datasync参数允许从暂挂主机将触发的配置数据的同步。(这留下未改变配置数据实际流从激活到待机。)

默认pom.datasync设置
% grep pom.dataSync /opt/CiscoMGC/etc/XECfgParm.dat 
pom.dataSync = false�� # don't synch slave data with master

pom.datasync参数表明在待机的POM应该与那些其对等体同步其活动配置Data文件在MGC启动或故障切换;若不同,它应该触发动态重配置。允许值是:

  • — POM启用;数据同步。

  • 错误— POM禁用;没有数据同步(默认)。

如果有一独立MGC,设置此值对错误。如果有两台MGC主机在故障切换配置里,请设置此值对在两台主机适应当前活动主机能变为暂挂主机的故障切换状况。

当在激活主机的最初的MGC配置部署时,您必须更改pom.datasync参数到truein在暂挂主机的XECfgParm.dat文件。在设置对真的此参数以后,能开始在暂挂主机的MGC。当MGC出现,在暂挂主机的数据与在激活主机的数据同步。暂挂主机然后进入备用状态。

此参数只起作用一配置:活动一个。

注意: 在一冗余MGC配置的升级期间,请验证pom.datasync参数设置为falseon暂挂主机在启动升级的软件之前。并且,请勿忘记更改设置回到对等体主机顺利地升级的trueonce。

注意: 如果错误的集pom.datasync,它不通过使用prov-dplyprov-sync禁用配置数据的同步

故障排除

当设置的同步发生故障时,失败由prov-sync报告或在MML的prov-dply通常不是情报的。

要执行的第一件事(最好是在暂挂)的主机是验证任何错误消息是否在/opt/CiscoMGC/var/log/platform.log文件冒出了在同步时。另一个选项是使用tail - f /opt/CiscoMGC/var/log/platform.log查找在实时在日志文件在同步时。

特别是,请搜索日志文件包含字符串pomMgrXEFileService的消息。

文件所有权和权限

设置的同步比较文件属性(名称、最后修改的大小和时期)并且转接属性不配比的文件。然而,文件必须是可访问第一。如果POM有处理某些文件或目录的麻烦,应该是明显的从在platform.log文件的相关错误错误消息。

prov-sync发生故障由于在暂挂主机的不正确目录权限

!--- POM retrieved the CFG_pom-test1/accRespCat.dat file� 
!--- from the peer and stored a temporary copy. When� 
!--- it attempted to move the file to its final destination  
!--- (the�CFG_pom-test1 directory), it failed because� 
!--- permissions on the destination directory were�incorrect.

% pwd 
/opt/CiscoMGC/var/log 
% tail -f platform.log 

Mon Oct 14 12:27:01:708 2002 WET | ProvObjectManager (PID 10788)� 
XEFileService::tftp_endReceived: Error on rename: temp file is: 
/tmp/.tftptmpaccRespCat.dat.tftp� 
file to write to is: /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pom-test1/accRespCat.dat 

Mon Oct 14 12:27:01:708 2002 WET | ProvObjectManager (PID 10788) <Error> 
XEFileService::tftp_endReceived: temporary file rename error 13� 

!--- Error 13 indicates permission denied. See� 
!--- /usr/include/sys/errno.h for more information. 


Mon Oct 14 12:27:01:750 2002 WET | ProvObjectManager (PID 10788) <Error> 
GEN_ERR_XFER_FILE: pomMgr::fileXferCallback: file transfer failed for 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pom-test1, status = 2 

!--- Status 2 indicates failure.

文件所有权和文件许可模式取决于文件访问。由于多数MGC进程(包括POM)运行在用户ID保持他们的mgcusr、Data文件和那些目录下应该属于用户ID mgcusr和Group ID mgcgrp。此外, Data文件的权限模式应该允许读写访问到mgcusr和mgcgrp。包含这些Data文件的目录应该包括mgcusr和mgcgrp的执行权限。

正确文件/目录权限和所有权
% ls -ld /opt/CiscoMGC/etc 
drwxrwxr-x�� 5 mgcusr�� mgcgrp� 2048 Oct 18 14:57 
/opt/CiscoMGC/etc 

!--- If you see "drwxrwx---" instead of "drwxrwxr-x"�on a 
!--- CFG_ directory, it has been polled from the�peer host by POM.
!--- This one, however, has been provisioned locally.

% ls -ld /opt/CiscoMGC/etc/CONFIG_LIB/CFG_* 
drwxrwxr-x�� 2 mgcusr�� mgcgrp� 1536 Oct 13 10:13 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1 

!--- Output suppressed.


!--- Any data file should belong to mgcusr/mgcgrp� 
!--- and be readable and writable for both mgcusr 
!--- and mgcgrp. Depending on whether the file was� 
!--- retrieved by POM or locally created, the� 
!--- last three permission bits can be "rw-" or "r--".
 
% ls -l /opt/CiscoMGC/etc/*.dat 
-rw-rw-rw-�� 1 mgcusr�� mgcgrp��� 58 Oct� 3 16:42 
/opt/CiscoMGC/etc/accRespCat.dat 

!--- Output suppressed.
 
-rw-rw-rw-�� 1 mgcusr�� mgcgrp 7 Dec 13� 2001 
/opt/CiscoMGC/etc/version.dat 
-rw-rw-r--�� 1 mgcusr�� mgcgrp 16164 Oct� 8 16:15 
/opt/CiscoMGC/etc/XECfgParm.dat

注意: 在一冗余MGC配置中,您可以注意Data文件和CFG_目录权限其他的类别(三个最右边的权限位)变化。权限可能变化从读和执行权限到CFG_目录的没有权限和从读和写入许可只读Data文件的权限。这通常取决于文件/目录是否创建本地或从对等体主机获取由POM。最重大的文件许可是那些为用户和组(mcgusr和mgcgrp)。

注意: 当您验证文件所有权和权限活动配置的Data文件的时,请切记验证这些Data文件保持的两个位置:在/opt/CiscoMGC/etc和在CFG_目录指向由/opt/CiscoMGC/etc/active_link。在VSC配置中,请切记验证结束以.bin和.dialPlan文件名扩展的拨号计划Data文件在/opt/CiscoMGC/dialPlan/和在CFG_目录。

如果文件许可不看来正确,他们可能偶然地手工更改,或者mgcusr的umask值可能不再正确。umask值确定用户shell执行环境的文件许可创建掩码。默认情况下,它在/opt/CiscoMGC/local/.cshrc配置,并且应该等于2。

正在验证的mgcusr umask设置

!--- The mgcusr belongs to mgcgrp.
 
mgcusr@demask% id 
uid=20000(mgcusr)gid=20000(mgcgrp)� 

!--- This shows the current umask. 

mgcusr@demask% umask 
2 

!--- This is the default umask for the mgcusr shell� 
!--- execution environment.
 
mgcusr@demask% grep umask /opt/CiscoMGC/local/.cshrc 
umask 002

通常,您不应该手工改变文件许可和文件所有权。如果需要,然而,这显示如何恢复值回到正常:

恢复文件/目录权限和所有权

!--- Caution: The following commands must be issued with� 
!--- root privileges. This makes all .dat files 
!--- in /opt/CiscoMGC/etc�owned and readable/writable by
!--- mgcusr and mgcgrp, as well as readable to others. 

# pwd 
/opt/CiscoMGC/etc 
# chown mgcusr:mgcgrp *.dat 
# chmod ug+rw,o+r *.dat 

!--- This does the same for all .dat files in all� 
!--- /opt/CiscoMGC/etc/CONFIG_LIB/CFG_* directories with use of� 
!--- the recursive (-R) operator. 

# pwd 
/opt/CiscoMGC/etc/CONFIG_LIB 
# chown -R mgcusr:mgcgrp CFG_* 
# chmod -R ug+rw,o+r CFG_*/*.dat 

!--- This sets the permissions on the CFG_ directories 
!--- themselves right.
 
# chmod ug+rwx,o+rx CFG_* 

!--- The commands below are only needed when using the 
!--- MGC in a VSC configuration.
 
# chmod -R ug+rw,o+r CFG_*/*.bin 
# chmod -R ug+rw,o+r CFG_*/*.dialPlan 

# pwd 
/opt/CiscoMGC 
# chown -R mgcusr:mgcgrp dialPlan
# chmod -R ug+rw,o+r dialPlan/*.*

注意: 如果对文件许可和所有权是不确定的,请查看/opt/CiscoMGC/etc/CONFIG_LIB/new。此目录包含要求的最低的Data文件配置MGC。这些是MGC应用程序初始安装使用的Data文件。希望从头设置MGC的用户能使用此目录作为来源。

除不正确文件/目录所有权和权限外,有一些其他潜在问题。他们如下讨论。

超时

对于大配置或在期限高网络使用, prov-dplyprov-sync命令可能计时并且应该重新实施。更好地,这执行,当网络使用减小时,或者,一旦一prov-sync超时,在不需要的配置以后用config-lib工具删除。

文件传输超时

!--- This error was seen in platform.log when prov-sync 
!--- was issued on several CFG_ directories at once.
 
Fri Oct 18 22:45:52:890 2002 WET | ProvObjectManager (PID 8791) <Error> 
GEN_ERR_XFER_FILE: pomMgr::fileXferCallback: 
file transfer failed for /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7,status = 3
 

!--- Status 3 indicates timeout.

如果需要做重复了尝试成功地完成同步,您可能也遇到下述的网络问题

网络问题

第 1 层

第1层网络问题可以防止文件传输成功完成。因为POM使用在Reliable User Data Protocol (RUDP)的TFTP实际文件传输,请查看platform.log文件为RUDP-和相关错误。

unix命令netstat - i允许您验证,如果任何输入或输出错误或者任何冲突在以太网连接发生。一般,您应该比较在供应同步以后被采取的在供应同步前和再其输出。常见问题是在网络主机和交换机之间的不匹配的以太网双工设置。当工作在全双工时,您不应该有任何冲突;那典型地是您要工作的方式。

prov-sync发生故障由于在MGC和Catalyst以太网交换机之间的不匹配的以太网双工设置
% netstat -i
Name� Mtu� Net/Dest� Address��� Ipkts Ierrs Opkts� Oerrs Collis Queue 
lo0�� 8232 loopback� localhost� 48276� 0 48276� 0 0� 0 
hme0� 1500 demask��� demask 5752225 0 4761967 0 0� 0 
hme1� 1500 demask1�� demask1��� 5339378 2 5132615 243� 2430�� 0 

% mml 

Copyright � 1998-2001, Cisco Systems, Inc. 

Session 1 is in use, using session 3 
mml> prov-sync 
�� MGC-01 - Media Gateway Controller 2002-10-14 18:58:10.099 MET 
M� DENY 
�� SROF 
� "PROV-SYNC: error transferring data files 
This may due to large number of files being transferred. 
You can re-invoke this command." 
�� /* Status, Requested Operation Failed on the component */ 
�� ; 
mml> quit 
% netstat -i 
Name� Mtu� Net/Dest� Address��� Ipkts Ierrs Opkts� Oerrs Collis Queue 
lo0�� 8232 loopback� localhost� 48276� 0 48276� 0 0� 0 
hme0� 1500 demask��� demask 5753323 0 4763036 0 0� 0 
hme1� 1500 demask1�� demask1��� 5340413 2 5133272 327� 2607�� 0 

!--- When you check the platform.log file, the messages below� 
!--- appear repeatedly. 

Mon Oct 14 18:58:10:178 2002 MEST | ProvObjectManager (PID 16151) <Error> 
file /vobs/NSSU_Main/lib_src/rudp/src/rudp_api.cpp, 
line 963: Error - send window full: No buffer space available(132) 

Mon Oct 14 18:58:10:264 2002 MEST | ProvObjectManager (PID 16151) <Error> 
XEFileService::tftp_ackReceived: block number out of 
synch. Send error message to peer

如果您的设备连接到Cisco Catalyst交换机,您能使用show portset port命令查看和更改端口设置。

要检查或设置在MGC的一个特定以太网接口,请指定它如下:

# ndd -set driver instance #

注意: 可变驱动程序可以是/dev/hme/dev/qfe或者/dev/eri,根据网络类型卡。可变#是接口号。

要检查参数值,请使用ndd -get命令。特别是, link_speed显示接口是否在10 Mbps或100 Mbps模式(设置操作0和1,分别);link_mode显示是否运行在半或全双工(0和1,分别)。

ndd -get /dev/hme link_speed 
ndd -get /dev/hme link_mode

要执行坚决hme-的link_speedlink_mode参数,必须设置几个其他参数ndd -set命令。在这些参数名, 10100是指link_speedfdxhdx是指link_mode,并且autoneg是指自动协商功能。应该设与希望的模式相应的设置到1,并且应该设置其他参数到0。(adv_autoneg_cap 1是默认。)例如,设置hme-为100/full双工,使用:

ndd -set /dev/hme instance #
 
ndd -set /dev/hme adv_100T4_cap 0 
ndd -set /dev/hme adv_100fdx_cap 1 
ndd -set /dev/hme adv_100hdx_cap 0 
ndd -set /dev/hme adv_10fdx_cap 0 
ndd -set /dev/hme adv_10hdx_cap 0 
ndd -set /dev/hme adv_autoneg_cap 0

在引导程序期间, ndd固定命令可以用于/etc/rc2.d/S69inet初始化脚本设置接口模式,而不是允许自动协商。这可以是有用的,如果其中一个接口连接到不正确地自动交涉线路速度或模式的一更旧的交换机。要列出网卡驱动程序支持的所有参数,请使用:

ndd driver \?

如果设置以下在/etc/system文件和重新启动,线路速度和模式可能为在系统的所有以太网接口也设置:

  • 100 Mb,全双工:

    set hme:hme_adv_autoneg_cap=0 
    set hme:hme_adv_100fdx_cap=1
    
  • 100 Mb,半双工:

    set hme:hme_adv_autoneg_cap=0 
    set hme:hme_adv_100fdx_cap=0 
    set hme:hme_adv_100hdx_cap=1
    
  • 10 Mb,全双工:

    set hme:hme_adv_autoneg_cap=0
    set hme:hme_adv_100fdx_cap=0 
    set hme:hme_adv_100hdx_cap=0 
    set hme:hme_adv_10fdx_cap=1 
    set hme:hme_adv_10hdx_cap=0
    
  • 10 Mb,半双工:

    set hme:hme_adv_autoneg_cap=0 
    set hme:hme_adv_100fdx_cap=0 
    set hme:hme_adv_100hdx_cap=0 
    set hme:hme_adv_10fdx_cap=0 
    set hme:hme_adv_10hdx_cap=1
    

上层

在更高层上, POM使用用户数据报协议(UDP)端口4001发信号和UDP端口4002实际TFTP文件传输。这些端口是默认值,控制由在XECfgParm.dat的pom.port参数。一冗余对的正常POM端口状态MGCs显示此处:

POM UDP端口
mgcusr@demask% grep pom.port XECfgParm.dat 
pom.port = default��� # use port 4001 when set to 
default 

mgcusr@demask% netstat -a | egrep .400\[0-9\] 

!--- UDP port 4001 is used for POM signaling. 

demask.4001� mgc-bru-3a.cisco.com.4001�� Connected 
demask1.4001 10.48.85.65.4001�� Connected 

!--- UDP port 4002 is used for POM TFTP file transfers. 

demask.4002 Idle 
demask1.4002��� Idle

prov-sync发生故障

除这些指南以外,有是特定对prov-sync的一些指南。prov-sync命令是通过所有CFG_目录的唯一的同步方法。如果它失败,您应该验证prov-dply是否运作,因为prov-dply只起作用活动配置。如果prov-dply工作,并且prov-sync不,问题可能是任何除了活动一个的CFG_目录。

在这种情况下,检查文件和目录属性在CFG_目录。验证在XECfgParm.dat文件的diskmonitor.CfgRmDirs参数在两台主机设置并且匹配。并且,请验证CFG_目录实际数量存储的是小于或等于在diskmonitor.CfgRmDirs设置的值

设法删除与使用的过时配置/opt/CiscoMGC/local/config-lib工具。请务必您在两个系统删除他们,如果他们是可用的在两个。

验证diskmonitor.CfgRmDirs

!--- Verify the diskmonitor.CfgRmDirs setting. 

% grep -i cfgrmdir /opt/CiscoMGC/etc/XECfgParm.dat 
diskmonitor.CfgRmDirs = 64��� # remove old config 
directories if more than X exist (0 = disable) 

!--- Count the number of CFG_ directories currently stored.

% pwd 
/opt/CiscoMGC/etc/CONFIG_LIB 
% ls -ld CFG_* | wc -l 
� 64� 

!--- There are 64 directories.

暂挂MGC在服务范围外在启动或故障切换以后

数据同步的一失败在启动或故障切换期间造成待机依然是在服务范围外(OOS),直到问题是解决的。

有不同的原因为什么暂挂主机依然是OOS。完成这些步骤确定问题是否是供应同步:

  1. 临时地,设置在XECfgParm.dat的pom.datasync参数对错误

  2. 重新启动MGC应用程序。

  3. 如果主机进入备用模式这次,请验证。

如果它,设置的同步可能是问题。您应该继续检查日志和为活动配置验证文件所有权和权限,按照部分文件所有权和权限说明

如果问题发生,在您升级级后MGC的软件或的补丁程序,很可能,,在待机的升级,但是,在激活主机的升级,待机是前后启动pom.datasync设置对真。这造成POM从激活主机检索旧有Data文件。意味着在暂挂主机的升级的软件设法以旧有Data文件运行。旧有Data文件的格式可能或可能不是与新的Data文件兼容,取决于兼容性级在两个软件版本之间。这不会提出一问题,如果错误的升级和的集pom.dataSyncto前执行prov-sync,您启动升级的主机前。设置真的whenboth主机顺利地升级的pom.dataSyncback to。

最安全的方式从此情况恢复是复原对级的前一版本或的补丁程序和遵从在第二尝试的正确步骤。

调试

对于与供应同步的问题,进程利益是POM。您能调试POM在激活主机,暂挂主机,或者在两个。然而,调试在暂挂的主机的这样问题是典型地最佳的。

如何调试

遵从此步骤调试与prov-syncprov-dply的问题(在暂挂主机) :

  1. 执行/opt/CiscoMGC/bin/log_rotate.sh脚本从一个干净的platform.log文件开始。

  2. 在MML,请发出set-log:pom-01:debug,confirm设置POM-01进程的日志级别调试

  3. 在激活主机上,请发出prov-syncprov-dply命令

  4. 在命令完成后,请发出set-log:pom-01:err命令送回POM-01日志级别到正常(请犯错)。

  5. 验证调试消息在/opt/CiscoMGC/var/log/platform.log文件存储。

    注意: 调试消息由一个落后的<Debug>字符串指示。

对于在启动的pom.datasync问题,请遵从此步骤(在暂挂主机) :

  1. 发出/etc/init.d/CiscoMGC终止终止MGC应用程序。

  2. 添加参数pom.logPrio到XECfgParm.dat文件,并且设置它调试

    设置的pom.logPrio调试
    % grep pom.logPrio /opt/CiscoMGC/etc/XECfgParm.dat 
    pom.logPrio = Debug
    

  3. 执行/opt/CiscoMGC/bin/log_rotate.sh脚本从一个干净的platform.log文件开始。

  4. 发出/etc/init.d/CiscoMGC开始运行MGC应用程序。

  5. 请等待,直到主机进入备用模式。

    要验证此,请发出rtrv-ne在MML。如果问题是待机依然是OOS,请允许调试运行足够长捕获问题。

  6. 在MML,请发出set-log:pom-01:err禁用POM调试。

  7. XECfgParm.dat文件删除线路pom.logPrio =调试或者通过放置字符注释它#在它前面。

  8. 验证调试消息在/opt/CiscoMGC/var/log/platform.log文件存储。

调试与pom.datasync的问题的步骤故障切换接近是作为是为prov-syncprov-dply的相同的唯一的差异是您完成在将故障切换的主机的所有步骤(当前活动主机),并且,而不是使用prov-syncprov-dply命令,您应该发出命令或操作将触发故障切换。

警告 警告: 当您调试这样问题时,小心。很可能,两MGCs的配置不再在同步,并且设置可能故障切换到一不期望的配置。

注意: POM-01调试可以相当冗长。在您之前启用它发出命令触发同步,并且在命令完成之后禁用它。不启用调试在高系统负载期间,是最佳的。

调试POM-01 (显示在激活主机)
% /opt/CiscoMGC/bin/log_rotate.sh% mml 

Copyright � 1998-2001, Cisco Systems, Inc. 

mml> set-log:pom-01:debug,confirm 
�� MGC-01 - Media Gateway Controller 2002-10-13 16:00:37.401 MET 
M� COMPLD 
�� "POM-01" 
�� ; 
mml> prov-sync 
�� MGC-01 - Media Gateway Controller 2002-10-13 16:00:42.190 MET 
M� COMPLD 
�� "PROV-SYNC" 
�� ; 
mml> set-log:pom-01:err 
�� MGC-01 - Media Gateway Controller 2002-10-13 16:00:47.870 MET 
M� COMPLD 
�� "POM-01" 
�� ; 
mml> quit 
% ls -l /opt/CiscoMGC/var/log/platform.log 
-rw-rw-r--�� 1 mgcusr�� mgcgrp� 499028 Oct 13 16:00 
/opt/CiscoMGC/var/log/platform.log

查找内容

在调试信息被记录了到文件后,请搜索文件包含pomMgrXEFileService的线路。有收集的许多其他消息,但是这两个是最有趣的和情报的。由于同步,要看到动态重配置,您能也搜索XETablecfgEventHandler

识别与文件传输,搜索的问题包含tftpoperationStatus的线路的。(请参见(操作)状态表。)答复状态(响应状态)值被退还的对对等体可以也有帮助。它反射POM状态码

prov-sync发生故障由于在目录CFG_pom-test1的不正确权限在暂挂主机
Mon Oct 14 12:27:01:750 2002 WET | ProvObjectManager 
(PID 10788) <Debug> 
pomMgr::fileXferCallback: Entering with path = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pom-test1, 
operationStatus = 2
 

!--- Status 2 indicates failure. 

Mon Oct 14 12:27:01:751 2002 WET | ProvObjectManager 
(PID 10788) <Debug> 
pomMgr::sendPeerMsg: sending msg type 101, subtype 
709, 
resp status 2021
 

!--- This status indicates an error in file transfer.

示例

注意: 仅最情报的调试消息表示。其他省略,特别是RUDP消息。

prov-sync

此示例在暂挂主机显示prov-sync结果如被看到,有需要转移的一个完整目录的(CFG_pomtest20) :

prov-sync

!--- The active MGC is 10.48.84.24.
!--- The standby MGC is 10.48.84.65. 
!--- The active configuration is CFG_pomtest7.

Sun Oct 20 16:07:09:707 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
UDP recv() 193 bytes from 10.48.84.24:4001 10.48.84.65 (fd=9)� 

!--- This is the default pom.port (UDP port 4001).


!--- The synchronization request is received from the peer.
� 
Sun Oct 20 16:07:09:707 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::handleEvent:Received Evt 100, Msg. Type 709 

!--- This indicates POM_REQ_T and POM_PEER_SYNC_MT.

Sun Oct 20 16:07:09:707 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. Platform state = 2.� 

!--- This indicates platform state 2 (standby).� 

Sun Oct 20 16:07:09:707 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. instandby box,mgrState= 1 

!--- This indicates POM mgrState 1 (READY). 

Sun Oct 20 16:07:09:707 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData: Starting Warmstart.� 

Sun Oct 20 16:07:09:710 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData: NOW� initiating file transfer for multiple� directories� 

Sun Oct 20 16:07:09:711 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::transferFile called by the application ,localpath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1: remotepath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1: filename CFG_pomtest1� 

!--- Output suppressed.

Sun Oct 20 16:07:09:711 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
In XEFileService::bftfrSndHandShake()� 

!--- The "bftfr" indicates before transfer.

Sun Oct 20 16:07:09:711 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
bftfrSndHandShake():paths as received in bftfr are: localPath: 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� remote path:� 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 

Sun Oct 20 16:07:09:711 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake , after strcpy: localPath = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 
, remote path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 
filename = CFG_pomtest1� 

Sun Oct 20 16:07:09:712 2002 WET | ProvObjectManager (PID 11017) <Info>� 
XEFileService::countFilesInDir(): no. of files in the directory 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1 is 55� 

Sun Oct 20 16:07:09:715 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::getDirAttributes(): success� 

Sun Oct 20 16:07:09:715 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake - Dir:total number of characters to be sent = 1822� 

Sun Oct 20 16:07:09:716 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::transferFile called by the application ,localpath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2: remotepath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2: filename CFG_pomtest2� 

!--- Output suppressed: the previous message is repeated for each�� 
!--- CFG directory found; CFG_pomtest1 to CFG_pomtest7�and CFG_pomtest20.
 
Sun Oct 20 16:07:09:717 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData total count attempted = 8� 

!--- POM has found 8 CFG_ directories.

Sun Oct 20 16:07:09:717 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData: successfully initiated file transfer for 8 directories� 

!--- For each CFG directory, POM checks to determine
!--- if files need to be transferred.

Sun Oct 20 16:07:09:741 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::checkReqResult: Entering with requestTransfer = 1� 

Sun Oct 20 16:07:09:741 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::checkReqResult:setting transferState to (FREE)� 

Sun Oct 20 16:07:09:741 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::fileXferCallback: Entering with path = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1, operationStatus = 4� 

!--- This indicates operationStatus 4 (no_need_to_transfer).

Sun Oct 20 16:07:09:843 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. Platform state = 2.� 

Sun Oct 20 16:07:09:843 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. instandby box,mgrState= 6 

!--- This indicates POM mgrState 6 (XFER_WAIT). 


!--- Subtype 713 (POM_RESTART_RESP_TIMER_MT) indicates that POM� 
!--- is still working on the last command and has yet to finish.
� 
Sun Oct 20 16:07:09:843 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 100, subtype 713, resp status 0 

Sun Oct 20 16:07:09:843 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
UDP send() 62 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=62� 

Sun Oct 20 16:07:09:843 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData: Ending Warmstart.� 

!--- Output suppressed: the above messages are repeated for every� 
!--- CFG directory. Because only CFG_pomtest1 and CFG_pomtest1� 
!--- need to be transferred, only those are shown here.


!--- CFG_pomtest7 is the active configuration.

Sun Oct 20 16:07:10:542 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
bftfrSndHandShake():paths as received in bftfr are: localPath: 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7� remote path:� 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7� 

Sun Oct 20 16:07:10:542 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake , after strcpy: localPath = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7� 
, remote path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7� 
filename = CFG_pomtest7� 

Sun Oct 20 16:07:10:543 2002 WET | ProvObjectManager (PID 11017) <Info>� 
XEFileService::countFilesInDir(): no. of files in the directory 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7 is 55� 

Sun Oct 20 16:07:10:545 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::getDirAttributes(): success� 

Sun Oct 20 16:07:10:546 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake - Dir:total number of characters to be sent = 1822� 

Sun Oct 20 16:07:10:573 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::hndShakeCallBack- In Handshake� count as Int is 1� 

Sun Oct 20 16:07:10:573 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::hndShakeCallBack- Message Type in hndShakeCallBack is N� 

!--- "N" indicates not matched. 


!--- CFG_pomtest7/components.dat did not match and is read� 
!--- via TFTP from the peer. 

Sun Oct 20 16:07:10:573 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::tftp_readfile- accessing current entry in the directory file list: 
components.dat

!--- The "aftfr" indicates after transfer. 

Sun Oct 20 16:07:10:923 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::aftfrSndHandShake():localpath:
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7, 
�� remotepath:/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7� 

Sun Oct 20 16:07:10:924 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::getFileAttributes(): for 
file:/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7/components.dat succeeded� 

!--- The operationStatus 5 indicates file_integrity_success. 

Sun Oct 20 16:07:10:936 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::fileXferCallback: Entering with path = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7, operationStatus = 5� 

!--- Output suppressed.

Sun Oct 20 16:07:11:002 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
In XEFileService::bftfrSndHandShake()� 

!--- CFG_pomtest20 is not present on standby and needs to be� 
!--- transferred completely.

Sun Oct 20 16:07:11:002 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
bftfrSndHandShake():paths as received in bftfr are: localPath: 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� remote path:� 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� 

Sun Oct 20 16:07:11:002 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake , after strcpy: localPath = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� 
, remote path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� 
filename = CFG_pomtest20� 

Sun Oct 20 16:07:11:002 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::bftfrSndHandShake()-param->general.count < = 0 for case get_dir� 

Sun Oct 20 16:07:11:011 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::hndShakeCallBack- In Handshake� count as Int is 55� 

Sun Oct 20 16:07:11:011 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::hndShakeCallBack- Message Type in hndShakeCallBack is N� 

!--- "N" indicates not matched.� 
!--- At this point, each data file in CFG_pomtest20 is� 
!--- transferred by TFTP to the standby.
� 
Sun Oct 20 16:07:11:011 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::tftp_readfile- accessing current entry in the directory file list: 
accRespCat.dat 

!--- Output suppressed: the previous message is repeated for� 
!--- every data file; 55 in total.

Sun Oct 20 16:07:22:763 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::aftfrSndHandShake():localpath:
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20, 
�� remotepath:/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20� 

Sun Oct 20 16:07:22:763 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XEFileService::getFileAttributes(): for 
file:/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20/accRespCat.dat succeeded� 

!--- Output suppressed: the previous message is repeated for� 
!--- every data file; 55 in total. 

Sun Oct 20 16:07:22:838 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::fileXferCallback: Entering with path = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest20, operationStatus = 5� 

Sun Oct 20 16:07:22:895 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. Platform state = 2.� 

Sun Oct 20 16:07:22:895 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. instandby box,mgrState= 6�

!--- Symbolic link /opt/CiscoMGC/etc/active_link is created.� 

Sun Oct 20 16:07:22:897 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::setupActvLink. Set link to [/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7].� 

!--- Symbolic link /opt/CiscoMGC/etc/prov_link is created.�
 
Sun Oct 20 16:07:22:900 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::setupProvLink. Set link to [/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7].

!--- Data files of the active configuration are copied� 
!--- to /opt/CiscoMGC/etc.�
 
Sun Oct 20 16:07:22:927 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::prepareActvFiles. Executing command [cp -p 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest7/[a-z]*.dat /opt/CiscoMGC/etc/].� 

!--- Dynamic reconfiguration:�reload changed objects from files into � 
!--- memory-resident maps and destroy superseded versions.� 
!--- delCnt, updCnt, insCnt, and purge count show the number� 
!--- of objects that need "change".

Sun Oct 20 16:07:23:164 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XETable::reload: validation = 0, process = ProvObjectManager, table = components, delCnt 
= 0, updCnt = 0, insCnt = 0� 

Sun Oct 20 16:07:23:165 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::sendUpdateRequest: reloading components� 

Sun Oct 20 16:07:23:165 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
XETable::purge: validation = 1, process = ProvObjectManager, table = components, purge 
count = 0� 

!--- Output suppressed: the previous three messages are� 
!--- repeated for every XETable. 

Sun Oct 20 16:07:23:711 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 100, subtype 713, resp status 0� 

Sun Oct 20 16:07:23:712 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
UDP send() 62 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=62� 

Sun Oct 20 16:07:23:712 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData: Ending Warmstart.� 

Sun Oct 20 16:07:23:714 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::peerSyncProvData. peer 0� 

!--- An indication is sent to the peer that POM synchronization� 
!--- was successful.
� 
Sun Oct 20 16:07:23:716 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 101, subtype 709, 
resp status 0
 

!--- This indicates POM_RSP_T and POM_PEER_SYNC_MT.
� 
Sun Oct 20 16:07:23:716 2002 WET | ProvObjectManager (PID 11017) <Debug>� 
UDP send() 62 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=62

prov-dply

此debug输出显示prov-dply结果如被看到在暂挂主机在一个终点代码(DPC)组件的说明以后更改:

prov-dply

!--- The active MGC is 10.48.84.24.
!--- The standby MGC is 10.48.84.65.
!--- The deployed configuration is CFG_pomtest2.
 
Sun Oct 13 11:42:23:481 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
UDP recv() 76 bytes from 10.48.84.24:4001 10.48.84.65 (fd=9)� 

!--- A deploy request is received from the peer.
 
Sun Oct 13 11:42:23:481 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::handleEvent: Received Evt 100, Msg. Type 708 

!--- This indicates POM_REQ_T and POM_PEER_DEPLOY_MT. 

Sun Oct 13 11:42:23:481 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::handlePOMEvt: type 100� 

Sun Oct 13 11:42:23:483 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::transferFile called by the application ,localpath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2: remotepath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2: filename CFG_pomtest2� 

!--- Output suppressed.
 
Sun Oct 13 11:42:23:483 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
In XEFileService::bftfrSndHandShake()� 

Sun Oct 13 11:42:23:483 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
bftfrSndHandShake():paths as received in bftfr are: localPath: 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2� remote path:� 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2� 

Sun Oct 13 11:42:23:484 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::bftfrSndHandShake , after strcpy: localPath = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2� 
, remote path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2� 
filename = CFG_pomtest2� 

Sun Oct 13 11:42:23:484 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::bftfrSndHandShake()-param->general.count < = 0 for case get_dir� 

Sun Oct 13 11:42:23:545 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::hndShakeCallBack- In Handshake� count as Int is 55� 

Sun Oct 13 11:42:23:546 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::hndShakeCallBack- Message Type in hndShakeCallBack is N� 

!--- "N" indicates not matched. 

Sun Oct 13 11:42:23:546 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::tftp_readfile- accessing current entry in the directory file list: 
accRespCat.dat� 

!--- Output suppressed: the previous message is repeated for every� 
!--- .dat file transferred by TFTP; 55 files. 

Sun Oct 13 11:42:35:998 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::aftfrSndHandShake():localpath:
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2,remotepath: 
�� /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2� 

Sun Oct 13 11:42:35:999 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XEFileService::getFileAttributes(): for 
file:/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2/accRespCat.dat succeeded� 

!--- Output suppressed: the previous message is repeated for each� 
!--- .dat file; 55 files. 

Sun Oct 13 11:42:36:031 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::fileXferCallback: Entering with path = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2, operationStatus = 5 

!--- The operationStatus 5 indicates file_integrity_success.
 
Sun Oct 13 11:42:36:271 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::peerDeployProvData. Copying data files [/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest2].� 

!—-- Copy .dat files to /opt/CiscoMGC/etc. 

Sun Oct 13 11:42:36:296 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::prepareActvFiles. Executing command [cp -p /opt/CiscoMGC/etc/CONFIG_LIB/
CFG_pomtest2/[a-z]*.dat /opt/CiscoMGC/etc/].� 

Sun Oct 13 11:42:36:455 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::UpdateHdlr: sending update notification components� 

Sun Oct 13 11:42:36:455 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
cfgEventHandler: sending update notification for components� 

!--- Dynamic reconfiguration: updCnt is 1 for the components table 
!--- because one DPC�component was changed.

Sun Oct 13 11:42:36:459 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XETable::reload: validation = 0, process = ProvObjectManager, table = 
components, delCnt = 0, updCnt = 1, insCnt = 0� 

Sun Oct 13 11:42:36:462 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::sendUpdateRequest: reloading components� 

Sun Oct 13 11:42:36:462 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
XETable::purge: validation = 1, process = ProvObjectManager, table = components, 
purge count = 1 

!--- Output suppressed: the previous three messages are repeated� 
!--- for every XETable. 


!--- An indication is sent to the peer that POM DEPLOY was successful.

Sun Oct 13 11:42:37:351 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 101, subtype 708, 
resp status 0
 

!--- This indicates POM_RSP_T and POM_PEER_DEPLOY_MT.
 
Sun Oct 13 11:42:37:352 2002 WET | ProvObjectManager (PID 15141) <Debug>� 
UDP send() 62 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=62

在启动的pom.datasync

此debug输出显示启动的pom.datasync

pom.datasync

!--- The active MGC is 10.48.84.24.
!--- The standby MGC is 10.48.84.65.

Tue Oct 15 22:17:15:572 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::initialize: starting ...� 

!--- Output suppressed. 


Tue Oct 15 22:17:16:960 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::signalCallback: link1 state = 2, link2 state = 1� 

!--- The link states are defined in this way: 0 is down, 
!--- 1 is up, 2 is start, and 3 is invalid. 
!--- Output suppressed. 
 
Tue Oct 15 22:17:16:987 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::signalCallback: link1 state = 1, link2 state = 1� 

!--- Output suppressed. 
 
Tue Oct 15 22:17:17:003 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomProcEvtHdlr:� heartbeat...� 

!--- Output suppressed. 
 
Tue Oct 15 22:17:42:024 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomProcEvtHdlr::handleGoStandbyLocal - POM is trying to switch the its role to Standby.� 

!--- A PEER_SYNC request is sent to the peer. 
!--- This is different from prov-sync, in which the request� 
!--- would be received from the peer.
 
Tue Oct 15 22:17:42:026 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 100, subtype 709, resp status 0� 

!--- This indicates POM_REQ_T and POM_PEER_SYNC_MT.

Tue Oct 15 22:17:42:026 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
UDP send() 279 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=279� 

Tue Oct 15 22:17:42:043 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
UDP recv() 281 bytes from 10.48.84.24:4001 10.48.84.65 (fd=9)� 

Tue Oct 15 22:17:42:043 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
formatted read from 10.48.84.24:4001 10.48.84.65 (fd=9), event type 101� 

Tue Oct 15 22:17:42:043 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::handleEvent: Received Evt 101, Msg. Type 709 

!--- This indicates POM_RSP_T and POM_PEER_SYNC_MT. 

Tue Oct 15 22:17:42:044 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData. Platform state = 2.� 

!--- A platform state 2 indicates standby. 

Tue Oct 15 22:17:42:044 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData. instandby box,mgrState= 4 

!--- This indicates PEER_WAIT.

Tue Oct 15 22:17:42:044 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData: Starting Warmstart.� 

Tue Oct 15 22:17:42:047 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData: Initiate active-version filexfer.� 

Tue Oct 15 22:17:42:047 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::transferFile called by the application ,localpath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1: remotepath 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1: filename CFG_pomtest1� 

Tue Oct 15 22:17:42:047 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::transferFile: transfer state is FREE, going to serveReqFromQueue� 

Tue Oct 15 22:17:42:048 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::serveReqFromQueuesetting transferState to (OCCUPIED)� 

Tue Oct 15 22:17:42:048 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::serveReqFromQueuesetting requestTransfer to (YES)� 

Tue Oct 15 22:17:42:048 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
In XEFileService::bftfrSndHandShake()� 

!--- In the output below, the active�configuration directory 
!--- (CFG_pomtest1) is perused in search of�nonmatching files.
 
Tue Oct 15 22:17:42:048 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
bftfrSndHandShake():paths as received in bftfr are: localPath: 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� remote path:� 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 

Tue Oct 15 22:17:42:048 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::bftfrSndHandShake , after strcpy: localPath = 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 
, remote path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 
filename = CFG_pomtest1� 

Tue Oct 15 22:17:42:049 2002 WET | ProvObjectManager (PID 1764) <Info>� 
XEFileService::countFilesInDir(): no. of files in the directory 
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1 is 55� 

Tue Oct 15 22:17:42:053 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::getDirAttributes(): success� 

Tue Oct 15 22:17:42:053 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::bftfrSndHandShake - Dir:total number of charaters to be sent = 1822� 

Tue Oct 15 22:17:42:055 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData file xfer = CFG_pomtest1� 

!--- One directory has been searched.
!--- This is different from MML prov-sync, which would have� 
!--- searched through all CFG directories. 

Tue Oct 15 22:17:42:055 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData: successfully initiated file transfer for 1 directories� 

Tue Oct 15 22:17:42:069 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::hndShakeCallBack- In Handshake� count as Int is 1� 

Tue Oct 15 22:17:42:070 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::hndShakeCallBack- Message Type in hndShakeCallBack is N� 

!--- "N" indicates not matched. 

Tue Oct 15 22:17:42:070 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::tftp_readfile- accessing current entry in the directory file list: 
components.dat 

Tue Oct 15 22:17:42:492 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::aftfrSndHandShake():localpath:
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1,remotepath: 
�� /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1� 

Tue Oct 15 22:17:42:493 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::getFileAttributes(): for file:
/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1/components.dat succeeded� 

Tue Oct 15 22:17:42:504 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::checkReqResult: Entering with requestTransfer = 1� 

Tue Oct 15 22:17:42:504 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XEFileService::checkReqResult:setting transferState to (FREE)� 

!--- The operationStatus 5 indicates file_integrity_success. 

Tue Oct 15 22:17:42:504 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::fileXferCallback: Entering with path = /opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1, 
operationStatus = 5 

Tue Oct 15 22:17:42:597 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData. Platform state = 2.� 

Tue Oct 15 22:17:42:597 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData. instandby box,mgrState= 6� 

!--- The symbolic link /opt/CiscoMGC/etc/active_link is created. 

Tue Oct 15 22:17:42:598 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::setupActvLink. Set link to [/opt/CiscoMGC/etc/CONFIG_LIB/CFG_pomtest1].� 

!--- The symbolic link /opt/CiscoMGC/etc/prov_link is created. 

Tue Oct 15 22:17:42:602 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::setupProvLink. Set link to [/opt/CiscoMGC/etc/CONFIG_LIB/CFG_p1test].� 

!--- Data files of the active configuration are copied to� 
!--- /opt/CiscoMGC/etc. 

Tue Oct 15 22:17:42:639 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::prepareActvFiles. Executing command [cp -p /opt/CiscoMGC/etc/CONFIG_LIB/
CFG_pomtest1/[a-z]*.dat /opt/CiscoMGC/etc/].� 

!--- Dynamic reconfiguration is shown below.

Tue Oct 15 22:17:42:785 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XETable::reload: validation = 0, process = ProvObjectManager, table = components, delCnt = 0, 
updCnt = 0, insCnt = 0� 

Tue Oct 15 22:17:42:785 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::sendUpdateRequest: reloading components� 

Tue Oct 15 22:17:42:786 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
XETable::purge: validation = 1, process = ProvObjectManager, table = components, 
purge count = 0� 

!--- Output suppressed: the previous three messages are repeated� 
!--- for every XETable.
 
Tue Oct 15 22:17:43:377 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::sendPeerMsg: sending msg type 100, subtype 713, 
resp status 0
 

Tue Oct 15 22:17:43:378 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
UDP send() 62 bytes to 10.48.84.24:4001 10.48.84.65 (fd=9), written=62� 

Tue Oct 15 22:17:43:379 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData: Ending Warmstart.� 

Tue Oct 15 22:17:43:382 2002 WET | ProvObjectManager (PID 1764) <Debug>� 
pomMgr::peerSyncProvData. procM 0

错误/调试消息参考表

POM事件类型
代码
POM_REQ_T 100
POM_RSP_T 101

POM事件子类型
代码
POM_START_MT 700
POM_STOP_MT 701
POM_COPY_MT 702
POM_DEPLOY_MT 703
POM_SYNC_MT 704
POM_RESET_TIMER_MT 705
POM_TIMER_WARN_MT 706
POM_TIMER_EXPIRED_MT 707
POM_PEER_DEPLOY_MT 708
POM_PEER_SYNC_MT 709
POM_VALIDATION_RESULT_MT 710
POM_DISABLE_IDLE_TIMER_MT 711
POM_ENABLE_IDLE_TIMER_MT 712
POM_RESTART_RESP_TIMER_MT 713

pomMgrStates
代码
未确定 0
READY 1
CFGM_WAIT 2
CFGM_NO_WAIT 3
PEER_WAIT 4
CFGM_VALIDATION_WAIT 5
XFER_WAIT 6

(操作)状态
代码
未知 0
成功 1
失败 2
超时 3
no_need_to_transfer 4
file_integrity_success 5
file_integrity_fail 6
link_down 7

POM状态码
代码 意义
XE_NORMAL 0 顺利地完成的请求的操作。
POM_NO_SES 2000年 此客户端没有激活POM会话。
POM_SES_IN_USE 2001年 POM会话已经是在使用中的。
POM_INVALID_SRC 2002年 源目录不存在。
POM_WAIT_FOR_RESP 2003年 等待的答复;不能传送信息到POM。
POM_TIMER_WARN 2004年 POM会话空闲警告。
POM_TIMER_EXPIRED 2005年 POM会话关闭由于非活动。
POM_CRT_DST_DIR 2006年 创建目标目录的错误。
POM_CRT_PROV_LNK 2007年 创建供应链路的错误。
POM_CRT_ACTV_LINK 2008年 创建活动链路的错误。
POM_CPY_SRC 2009年 复制Data文件从来源的错误到目的地。
POM_CFGM_WAIT 2010 POM不能过程以要求;从CfgM的等待的答复。
POM_CFGM_TIMEOUT 2011 被计时的CfgM答复。
POM_UPDATE_FAILED 2012 失败的Data文件更新。
POM_CFGM_SEND 2013 发送请求的错误对CfgM。
POM_CPY_ETC 2014 复制Data文件的错误对等目录。
POM_POST_PROC 2015 在设置处理的发表物的错误。
POM_SES_ACTIVE 2016 POM会话已经是活跃的。
POM_SEND 2017 发送请求的错误对POM。
POM_DST_DIR_EXISTS 2018 目标目录存在;不能覆盖。
POM_PEER_TIMEOUT 2019 被计时的对等体POM答复。
POM_PEER_SES_IN_USE 2020 对等体POM会话在使用中。
POM_XFER_ERR 2021 转接Data文件的错误。
POM_PEER_SYNC_ERR 2022 平台在绪状态。中止的数据同步。
POM_INVALID_DST 2023 来源/目的地版本不可以是全双工或相对路径。它不能有任何特殊字符除之外“-”和“_”。
POM_VALIDATION_FAILED 2024 失败的Data文件的验证。
POM_KEYWORD_DST 2025 目的地版本不能使用关键字“激活”和“新建”。
POM_NO_ACTV_SES 2026 没有激活POM会话。
POM_ACTV_SRC 2027 活动目录不可能使用作为目的地。
POM_STAND_ALONE 2028 部署/同步不可执行在独立模式。
POM_VALIDATION_TIMEOUT 2029 验证暂停了。中止的数据部署。
POM_VER_MISMATCH 2030 .dat文件版本不匹配。
POM_PEER_NOT_STANDBY 2031 部署/同步不可用非独立对等体执行。
POM_PEER_INCOMPATIBLE 2032 供应不可以执行的归结于一个不兼容对等体版本。


相关信息


Document ID: 28160