Cisco CallManager 3.x において、パブリッシャおよび多数のサブスクライバをアップグレードする際、エラー メッセージが表示されないことがあります。 ただし、クラスタ内のサーバがリブートしても、電話にもデバイスにも正しいサブスクライバが登録されません。 クラスタ内の Cisco CallManager ノード同士がフェールオーバーできないことが多くあります。 また、Application Event Viewer を調べると、Cisco CallManager サービスの停止と開始を繰り返している多くのインスタンスが表示されます。
このドキュメントに関しては個別の要件はありません。
このドキュメントの情報は、Cisco CallManager 3.0 のすべてのマイナー リリースに基づくものです。
本書の情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。 稼働中のネットワークで作業を行う場合、コマンドの影響について十分に理解したうえで作業してください。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
SQL Enterprise Manager にアクセスし、パブリッシャおよびサブスクライバの両方のデータベースを開きます。 パブリッシャおよびそれぞれのサブスクライバについて、最新バージョンの Cisco CallManager データベース(CCM030x)をチェックします。 SQL Enterprise Manager 内のパブリッシャとサブスクライバのデータベースを表示したときに、サブスクライバに最新のデータベースがないことに気づいた場合は、ネットワーク内でネーム解決に関する問題が発生している可能性があります。
次の図は、パブリッシャとサブスクライバの両方に最新のデータベースのコピーが存在する例を示します。 この場合は、CCM0301 です。
SQL Enterprise Manager 内のデータベースとバージョンを表示する方法の詳細については、ドキュメンテーション『破損した Cisco CallManager クラスタ SQL サブスクリプションの再構築』の「パブリッシャのサブスクリプションの再作成」セクションを参照してください。
この問題を確認するもう 1 つの方法として、C:\CCMDBSetup.log にある最新のデータベース・アップグレードのログを参照することもできます。 スクロール ダウンして、次の出力を見つけてください。
4-28-2002 10:54:00 _DBPullSubscription: CALLMAN01 CCM0302 sa ******** CALLMAN02 CCM0302 sa ******** C:\Program Files\Cisco\Bin\ 0 4-28-2002 11:11:32 Pulling subscription from CALLMAN01 to subscribe to the CCM0302 Database. Return Code = 8 DB_SCRIPT_ERROR
この出力は、サブスクライバがパブリッシャに連絡してデータベースの正しいバージョンを判断できても、それをコピーまたは複製できないという問題があったことを示します。
サブスクライバ サーバは、パブリッシャ サーバの名前の解決における問題により、パブリッシャ サーバにアクセスできないことがあります。 CallManager インストール ログで同様の出力がないか確認します。
1-8-2006 10:10:10 _DBGetVersion: CALLMAN03 CCM0300 ******** 1-8-2006 10:10:27 Subscriber has problem to connect to the Publisher Database.
この出力は、パブリッシャ サーバへの接続でサブスクライバに発生する問題を示します。
Microsoft SQL サーバでは、一部のタイプの Remote-Procedure Call(RPC; リモート プロシージャ コール)タスクに NetBIOS ネーム解決を使用しています。 このため、パブリッシャおよびすべてのサブスクライバは、NetBIOS ネーム解決用に LMHOSTS ファイルを使用する必要があります。 サーバ間でネーム解決を正しく行うには、クラスタ内のすべてのサーバも HOSTS ファイルを使用する必要があります。
Cisco CallManager のインストール中に、サーバの DNS を無効にします。 サーバはネーム解決用に HOSTS ファイルを使用する必要があります。
Windows 2000 では、C:\winnt\system32\drivers\etc ディレクトリにサンプルの HOSTS および LMHOSTS ファイル(HOSTS.SAM と LMHOSTS.SAM)があります。 カスタム インストール用にサンプル ファイルを変更するには、次の手順を実行します。
Cisco CallManager から、パブリッシャはメモ帳などのテキスト エディタを使用して、ファイル C:\winnt\system32\drivers\etc\hosts.sam を開きます。
# 記号で始まるコメント行を読みます。 次に、ファイルからすべての行を削除します。 Windows では、ネーム解決で行うすべての操作について、ファイルのすべての行が解析されます。
パブリッシャの IP アドレス、スペース、パブリッシャのホスト名の順に入力します。 ipconfig /all コマンドを使用すると、ホスト名が見つかります。
操作を繰り返して、各行にクラスタ内のサーバ 1 台を指定します。 次に、ホスト ファイルの例を示します。
127.0.0.1 localhost 172.18.110.90 ICSCM1 172.18.110.94 ICSCM2
拡張子なしで、ファイルを C:\winnt\system32\drivers\etc\hosts として保存します。
注: メモ帳のデフォルトでは、.txt 拡張子が付加されます。 したがって、Windows Explorer またはコマンド プロンプトを使用して、.txt 拡張子を削除してください。
注: Windows Explorer のデフォルトでは、ファイルの拡張子が表示されません。 したがって、ファイルの拡張子を表示するか、rename コマンドを使用してください。
メモ帳などのテキスト エディタを使用して、ファイル C:\winnt\system32\drivers\etc\lmhosts.sam を開きます。
すべてのコメント行を読み、削除します。 サーバごとに 1 行を追加しますが、サーバ名の後に #PRE というテキストを付加します。 次の出力に、lmhosts ファイルの例を示します。
172.18.110.90 ICSCM1 #PRE 172.18.110.94 ICSCM2 #PRE
拡張子なしで、ファイルを C:\winnt\system32\drivers\etc\lmhosts として保存します。
注: メモ帳のデフォルトでは、.txt 拡張子が付加されます。 したがって、Windows Explorer またはコマンド プロンプトを使用して、.txt 拡張子を削除してください。
注: Windows Explorer のデフォルトでは、ファイルの拡張子が表示されません。 したがって、ファイルの拡張子を表示するか、rename コマンドを使用してください。
コマンド プロンプトを開き、nbtstat -R コマンドを入力して、LMHOSTS ファイルの内容を NetBIOS 名キャッシュにロードします。 nbtstat _c コマンドを使用して、LMHOSTS ファイルが正常に解析およびロードされたことを確認します。 Microsoft のサポート技術情報 Q180099 を参照してください。 (情報が表示されない場合)
注: NetBIOS リモート キャッシュには、リモート ノード用の名前/アドレスの解決しか含まれていません。
[Start] > [Run] を選択し、services.msc と入力します。
[OK] をクリックします。
[DNS Client Service] を選択して、サービス名を右クリックし、[Restart] を選択します。
クラスタ内の Cisco CallManager サーバごとにステップ 1 から 11 を繰り返します。
サブスクライバで、Cisco CallManager のアップグレードをもう一度実行します。 正常に完了した場合、サブスクライバの Cisco CallManager データベースが最新になり、パブリッシャからサブスクリプションを正常に引き出せます。