分散 SpectroSERVER 環境の設定
内容
casp1032jp
内容
名前解決の要件
SpectroSERVER
システムまたは OneClick Web サーバ システムは、SpectroSERVER
のホスト名を IP アドレスに解決できる必要があります。名前解決にはホスト ファイルを使用することをお勧めします。この実習では、ネットワーク停止が
SpectroSERVER
名前解決に影響しないことを確認します。CA Spectrum
および複数のインターフェースすべての
CA Spectrum
サーバは利用可能なすべてのインターフェースにバインドしてリスンし、完全修飾でないホスト名を使って自分をアドバタイズしています。そのため、管理トポロジを設定する場合に、柔軟に対応できます。接続を確立するため、CA Spectrum
コンポーネント サーバは、接続が成功するまで、オペレーティング システムによって決定された順にすべてのインターフェースを試行します。SpectroSERVER
間の通信同じユーザ アカウントを使って、分散環境に
SpectroSERVER
をインストールして実行します。このため、それ以上のユーザ モデル設定は必要ではありません。別のユーザとしてインストールされ実行されている SpectroSERVER
間では通信できません。例:
SpectroSERVER
A と B が通信できないこの例では、
SpectroSERVER
A は「root」 として動作しています。SpectroSERVER
B は Administrator として実行されています。要求がサーバ セキュリティを通り抜けることができないため、接続を確立できません。
例:
SpectroSERVER
と SpectroSERVER
間の接続の設定この例では、ユーザは
SpectroSERVER
B では「root」 としてログインし、SpectroSERVER
A では「Administrator」としてログインしたことを示しています。この設定では、2 台の SpectroSERVER
が通信できます。
DSS 環境要件
複数の
SpectroSERVER
と複数のランドスケープのモデリングを有効化して、サーバを表すには、分散環境は以下の条件を満たす必要があります。- ランドスケープはそれぞれ、モデル タイプとその関係の、同じモデリング カタログを含んでいる必要があります。このレプリケーションによりCA Spectrumのインテリジェンスに一貫性が保たれます。
- ランドスケープはそれぞれ、同じユーザ モデルを含む必要があります。これは[OneClick ユーザ]タブで確認できます。
- 異なるランドスケープでモデリングされたサブネット間の接続数は、最小限に抑えてください。
- 複数のランドスケープでモデリングされる同一デバイス数は制限してください。
- モデリングされたランドスケープごとに、一意のランドスケープ ハンドルを割り当ててください。これで、CA Spectrumはそれを DSS 環境の他のランドスケープと区別できます。
ロケーション サーバ
SpectroSERVER
をインストールすると、ロケーション サーバ
も自動的にインストールされます。このサーバは、ネットワーク上の他の CA Spectrum
サービスを識別し見つけます。 CA Spectrum
プロセスは、これらのサービスがどこで実行されているかを特定するため、ロケーション サーバを使用します。processd がロケーション サーバを起動および停止します。分散環境では、
CA Spectrum
はロケーション サーバを使用して SpectroSERVER
ランドスケープ マップを維持し、クライアント アプリケーションに接続サービスを提供します。CA Spectrum
インストール中に、ランドスケープ マップ(または CA Spectrum
ドメイン)内のロケーション サーバの 1 つを、メイン ロケーション サーバ(MLS)
として指定します。メイン ロケーション サーバを、信頼性が非常に高いコンピュータにインストールします。このサーバは、ロケーション サーバ間にサービス通知を継承し、ロケーション サーバ間にサービスの場所を通信します。
以下の図では、Host 1 上のロケーション サーバが、この環境用のメイン ロケーション サーバとして設定されています。メイン ロケーション サーバが
SpectroSERVER
と同じホスト上で存在するため、その SpectroSERVER
はメイン SpectroSERVER
であると見なされます。サーバ対サーバ通信はすべて、メイン ロケーション サーバ ホストを介してルーティングされます。2 つの非 MLS
SpectroSERVER
は、メイン SpectroSERVER
を介してのみ通信できます。図内のホスト 2 上の
SpectroSERVER
は、ホスト 3 上の SpectroSERVER
でモデリングされたリソースを使って、サービスを分散します。リモート リソースに関する通信はすべて、メイン ロケーション サーバ ホストを介してルーティングされます。ホスト 2 およびホスト 3 上のサーバは直接通信しません。重要:
この図は、1 つの MLS と複数の子 SpectroSERVER
で構成される 2 層設定を反映したものです。このような設定が推奨標準設定です。
ロケーション サーバの対話方法
どの
CA Spectrum
インストールにも、以下の 2 つのファイルが含まれます。- .LocalRegFile により、CA Spectrumプロセスはロケーション サーバを見つけることができます。
- LS/.locrc は、ローカルにインストールされたロケーション サーバ用の設定ファイルです。
これらのファイルにより、ロケーション サーバの階層と、各ロケーション サーバとメイン ロケーション サーバ間のインタラクションが管理されます。
分散
SpectroSERVER
展開では、ロケーション サーバは以下のように対話します。- SSAPI アプリケーションおよびサーバが .LocalRegFile を読み取り、使用するロケーション サーバを決定します。
- 各ローカル ロケーション サーバは /LS/.locrc ファイルを読み取り、どのサーバがメイン ロケーション サーバか特定します。
- ローカル ロケーション サーバはネットワーク サービスを検索するため、メイン ロケーション サーバに接続します。メイン ロケーション サーバが利用不可能になると、メイン ロケーション サーバが使用可能になるまで、他のロケーション サーバはメモリ内にサービス情報を保持します。
メイン ロケーション サーバ接続
SpectroSERVER
はそれぞれ、メイン ロケーション サーバとして指定されたサーバ上で実行されている SpectroSERVER
に接続する必要があります。この指定は <$SPECROOT
>/LS/.locrc ファイルで指定します。メイン ロケーション サーバへの接続では、以下の設定を必要とします。
- MLS の「.hostrc」ファイルを以下のホスト名で更新します。
- すべての子 SpectroSERVER。
- すべての OneClick クライアント。
- 各子 SpectroSERVER の「.hostrc」ファイルを以下のホスト名で更新します。
- すべての OneClick クライアント。
注:
デフォルトでは、それぞれの子 SpectroSERVER の「.hostrc」ファイルには、インストール時に指定した MLS 名が含まれています。デフォルトでは、OneClick クライアント上の「.hostrc」ファイルには、その OneClick クライアント ホスト名だけが含まれています。それ以上何も更新しないでください。- フォールト トレラント環境では、セカンダリ MLS の「.hostrc」ファイルを以下のホスト名で更新します。
- すべての子 SpectroSERVER。
- すべての OneClick クライアント。
- フォールト トレラント環境では、各セカンダリ子 SpectroSERVER の「.hostrc」ファイルを以下のホスト名で更新します。
- すべての OneClick クライアント。
- プライマリ子 SpectroSERVER。
- セカンダリ MLS。
- SpectroSERVERはそれぞれ、他方のSpectroSERVERを実行しているユーザ アカウント用にCA Spectrumユーザ モデルを必要とします。
この設定により、MLS を介して <ss> 間で通信が可能になります。また、この設定により、MLS への <oc> サーバ接続も可能になります。
注:
主なランドスケープ(または .locrc ファイル内の MAIN_LOCATION_HOST_NAME の値)は、CA Spectrum
でモデリングされます。すでに他の場所でモデリングされていない限り、各 SpectroSERVER
の VNM トポロジにはこのランドスケープが含まれます。メイン ランドスケープへの接続が失われた場合、このモデルに関するアラームが生成されます。新しいメイン ロケーション サーバの指定
メイン ロケーション サーバとして指定されるコンピュータを変更できます。
SpectroSERVER
で、[ロケーション サーバ設定]ダイアログ ボックスまたは .locrc ファイルを使って、新しいメイン ロケーション サーバを指定します。OneClick Web サーバでは、[OneClick 管理]ページの[
CA Spectrum
構成]ページでメイン ロケーション サーバ情報を設定します。このアクションを実行すると、OneClick Web サーバの接続先であるメイン ロケーション サーバの名前が更新されます。注:
OneClick Web サーバを更新せずに SpectroSERVER
上のメイン ロケーション サーバを変更すると、CA Spectrum
が正しく機能しません。詳細については、「管理」を参照してください。例:
SpectroSERVER
上での新しいメイン ロケーション サーバの指定分散ネットワークは、Computer 1 ~ 4 で構成されていて、Computer 1 がメイン ロケーション サーバとして指定されています。Computer 4 をメイン ロケーション サーバにするには、まず新しいメイン ロケーション サーバとして Computer 4 を再設定します。次に、メイン ロケーション サーバとして Computer 4 をポイントするように、Computer 1、2、および 3 を再設定します。
以下の手順に従います。
- SpectroSERVERのコントロール パネルを表示します。
- [設定]メニューから[ロケーション サーバ]を選択します。[ロケーション サーバの設定]ダイアログ ボックスが表示されます。
- Computer 4 をポイントするように、ロケーション サーバの特性領域にある[メイン LS ホスト]フィールドを変更します。
注:
<$SPECROOT
>/LS ディレクトリ内の .locrc ファイルを編集して、メイン ロケーション サーバを変更することもできます。.locrc ファイル内の以下のエントリによって、メイン ロケーション サーバを識別します。MAIN_LOCATION_HOST_NAME=Computer 4
ランドスケープ マップの整合性の維持
CA Spectrum
ユーザは、一般に実稼働環境とテスト環境を別々に維持しています。テスト環境の SpectroSERVER
がメイン ロケーション サーバとして実稼働環境 SpectroSERVER
の SpectroSERVER
に接続しないようにすることで、ランドスケープ マップの整合性を保護します。逆もまた当てはまります。ランドスケープ ハンドル
分散展開内の
SpectroSERVER
は、ランドスケープ ハンドル
によって各ランドスケープを識別します。CA Spectrum r10.3 を使用すると、容量の増加を選択し、膨大な数の少ないランドスケープを持つデバイスをモニタすることにより規模を拡張できます。(インストール中に)[巨大なランドスケープ ハンドル]タイプを使用して、(SpectroSERVER ごとに 100 万モデルを超える)膨大なモデル数をサポートできるランドスケープを作成できます。ハンドルは、64 の倍数です。 このオプションは、新規インストールでのみ使用でき、新しい DSS 環境および新しい単一サーバのインストールに最も適しています。この機能は、CA Spectrum 10.3 以前のバージョンへのアップグレードおよびマイグレーションのシナリオはサポートしていません。 直接アップグレードおよび移行の場合、CA Spectrum は自動的にレガシー ランドスケープ ハンドル タイプを選択します。
注:
分散 SpectroSERVER 環境では、ランドスケープとしてLegacyとHugeを混在するような選択はできません。たとえば、Legacy で実行されている既存の SpectroSERVER に新しい SpectroSERVER を追加する場合、ゼロからインストールする場合でも、Huge ランドスケープを追加できません。分散 SpectroSERVER 環境では、すべての Spectroserver が Legacy または Huge ランドスケープである必要があります。
ランドスケープには、それぞれ一意のランドスケープ ハンドルが必要です。以下のいずれかになります。
- レガシー ランドスケープ ハンドル:4 ~ 16,376 の範囲にある、4 で割り切れる数です(16 進形式で入力する場合、ハンドルは 0x100000 ~ 0xffe00000 の範囲で、下位 20 ビットはゼロに設定されます)。SpectroSERVER ごとに 100 万モデルに制限されます。r10.2 より前の CA Spectrum バージョンから作成された SSDB を使用している場合に推奨されるオプションです。
- 巨大なランドスケープ ハンドル:64 ~ 16,256 の範囲にある、64 で割り切れる数です (16 進形式で入力する場合、ハンドルは 0x1000000 ~ 0xfe000000 の範囲で、下位 24 ビットはゼロに設定されます)。 SpectroSERVER ごとに 100 万モデルを超えて管理および保持できます。新しい DSS 環境と 1 つのサーバ インストールのみの場合にお勧めです。
インストール後、エンコードされたランドスケープ ハンドルは、そのランドスケープに関連付けられた OneClick コンソールで、すべてのビューの最上部に表示されます。
注:
ランドスケープ ハンドルには、連続する番号スキームを使用することをお勧めします。ビルド番号またはサブネット IP アドレスの一部など、ランドスケープの重要な機能をランドスケープ ハンドルに関連付けることができます。ただし、レガシー ランドスケープ ハンドルの場合、エントリはランドスケープ ハンドルの上位 12 ビットにエンコードされ、巨大なランドスケープ ハンドルの場合、エントリはランドスケープ ハンドルの上位 8 ビットにエンコードされます。そのため、適切なランドスケープ機能と無関係に見える場合があります。注:
10.3 以降、巨大なランドスケープでレガシー ランドスケープをロードしたり、レガシー ランドスケープで巨大なランドスケープをロードしたりできます(SSdbload -c オプションを使用)。ただし、ランドスケープ詳細は表示されません。ランドスケープ詳細の詳細については、「既知の問題」を参照してください。ランドスケープ ハンドルの割り当て
SpectroSERVER
のインストール時に、CA Spectrum
の[検証]ダイアログ ボックス、または lh_set ユーティリティを使用して、ランドスケープ ハンドルを割り当てることができます。インストール時に選択したランドスケープ ハンドルのタイプに基づいて、ランドスケープ ハンドルを設定および割り当てることができます。たとえば、巨大なランドスケープ ハンドルのタイプ(64 の倍数)を選択していた場合、4 の倍数であるランドスケープ ハンドルは割り当てることができず、64 の倍数(たとえば、4、16、32、68 など)で割り当てることができます。
重要:
初めて SpectroSERVER
を実行する前に、lh_set ユーティリティを実行してください。そうでない場合、CA Spectrum
はデフォルトのランドスケープ ハンドルを割り当てますが、CA Spectrum
が割り当てるランドスケープ ハンドルは毎回同じです。その結果、複数のランドスケープを設定した場合、重複したランドスケープ ハンドルが作成される可能性があります。このようなランドスケープには、同じアプリケーションから同時にアクセスすることはできません。以下の手順に従います。
- SS ディレクトリに移動します。
- 以下のコマンドを入力します。../SS-Tools/lh_set <landscape handle>新しいランドスケープ ハンドルは、10 進法または 16 進法で指定できます。10 進法を使用する場合は、lh_set ユーティリティが入力を 16 進のランドスケープ ハンドルに変換します。
- インストール時に選択したランドスケープ ハンドルのタイプと矛盾するランドスケープ ハンドルを割り当てると、以下のエラーが表示される場合があります。ランドスケープ ハンドルは、64 ~ 16256 の範囲で、64 の倍数である必要があります(あるいは、下位 24 ビットが 0 の 0x1000000 ~ 0xfe000000)。 SS ランドスケープ ハンドルを設定することはできません。
注:
詳細については、「インストールおよびアップグレード」を参照してください。ランドスケープ ハンドルの変更
SpectroSERVER
を起動した場合、SpectroSERVER
データベースのランドスケープ ハンドルの変更プロセスは、より多くの手順を必要とします。ランドスケープ ハンドルは、SpectroSERVER
データベース内の各モデルのモデル ハンドルに含まれています。このため、ランドスケープ ハンドルを変更するには、すべてのモデル ハンドルを古いランドスケープ ハンドルから新しいランドスケープ ハンドルに変換する必要があります。起動時に自動作成されたすべてのモデルのランドスケープ ハンドルを変更し、複数のリソース ファイル内のランドスケープ ハンドルを更新します。
以下の手順に従います。
- モデリング ゲートウェイ ツールを使用して、ランドスケープ ハンドルを変更するSpectroSERVERからモデルをエクスポートします。
- SpectroSERVERをシャットダウンします。
- SSdbload ユーティリティを使用して、データベースを初期化します。注:詳細については、「」を参照してください。
- lh_set ユーティリティを使用して、新しいランドスケープ ハンドルを割り当てます。「分散 SpectroSERVER 環境の設定」を参照してください。
- SpectroSERVERを起動します。
- モデリング ゲートウェイ ツールを使用して、モデルをSpectroSERVERにインポートします。
注:
詳細については、「」を参照してください。重要:
CA Spectrum r10.3 をインストールするときには、新規 SpectroSERVER インストールの完了後に、サーバを再起動する必要があります。注:
linux マシンで「spectrum
」ユーザではなく「root
」ユーザを使用して、SpectroSERVER プロセスを実行すると、oneclick コンソールの管理タブにあるランドスケープ ページに、エラー メッセージ「親サーバを実行中のユーザが、ローカル ランドスケープにユーザ モデルを持っていません
」が表示されることがあります。「ps -ef | grep -i spectro」を実行して、SpectroSERVER プロセスが「
spectrum
」ユーザではなく、「root
」ユーザまたはその他のユーザによって所有されているかどうかを確認して($SPECROOT/SS/.vnmrc ファイル内の「initial_user_model_name
」パラメータの値を確認して、「spectrum
」ユーザを確認できます)、問題を解決します。問題を修正するには、下記の手順に従います。
1. 「
root
」または SpectroSERVER プロセスを現在所有しているその他のユーザを使用して、Spectrum コントロール パネルを起動します。[SpectroSERVER の停止]
ボタンをクリックして、SpectroSERVER プロセスを完全に停止します。2. VNM.OUT、RCPD.OUT などの所有権を変更します。$SPECROOT/SS ディレクトリで、「chown」コマンドを使用して「
spectrum
」ユーザに戻します。$SPECROOT/SS ディレクトリで「ls-l」を実行する場合は、SpectroSERVER ファイルを除くすべてのファイルとディレクトリが「spectrum
」ユーザによって所有されていることを確認します。SpectroSERVER ファイルは、「root
」ユーザによって所有され、以下の属性を持つ必要があります。-rwsr-x--- 1 root spectrum 12841 Nov 21 01:16 SpectroSERVER
3. 「
spectrum
」ユーザを使用して、Spectrum コントロール パネルを起動し、[SpectroSERVER の起動]
ボタンをクリックして、SpectroSERVER プロセスを起動します。プロセス デーモン(processd)
CA Spectrum
は、プロセス デーモン(processd)という、プロセスの開始および追跡デーモンを使用して、DSS 環境の複数のサーバ上のプロセスを制御できます。CA Spectrum
コントロール パネルなどのアプリケーションが要求を実行すると、このデーモンはプロセスを開始します。またインストール チケットを使用して、システム起動時にプロセスを自動的に開始するように processd を設定することもできます。インストール チケットは、予期せずに停止した重要なプロセスを自動的に再起動することもできます。CA Spectrum
インストール プログラムは、Windows システム(LocalSystem アカウントとして実行されます)上で自動起動するように processd を設定します(root として実行する必要があります)。processd を使ったプロセスの開始と監視は、アプリケーションが該当するアクションを要求した場合に限り、発生します。通常、processd はバックグラウンドで動作します。
プロセスが起動しない場合、または正しく機能していない場合、processd はエラー メッセージを
<$SPECROOT>
\lib\SDPM\processd_log ファイルに書き込みます。エラー メッセージには、問題を識別するための情報が含まれています。再起動時、processd は processd_log.bak ファイルを作成して古いエラー メッセージを保存し、processd_log ファイルに新しいエラー メッセージを追加します。
重要:
このセクションに記載されている手順を実行する前に、CA Spectrum
、分散ネットワーク、およびネットワーク設定について熟知する必要があります。Windows 環境の processd の相違
Windows プラットフォームではネイティブ セキュリティ アーキテクチャが異なっているため、processd デーモンの動作もわずかに異なります。
- Windows 環境でリモート接続からプロセスの開始を要求した場合、[Windows サービスの構成]ダイアログ ボックスで指定されたユーザとして、プロセスが開始されます。
- ユーザ ログアウト後(またはユーザのログイン前)に実行を継続する必要があるサーバ プロセスについては、Windows 環境では[SERVERPROCESS]フィールドが使われます。ログアウト時に Windows がこれらのプロセスをシャットダウンするのを防ぐために、これらのプロセスは、[Windows サービスの構成]ダイアログ ボックスで指定したユーザとして開始されます。
processd の Windows パスワードの変更
Windows でのインストール中、[Windows サービスの構成]ダイアログ ボックスにユーザ名とパスワードを入力するように求められます。processd デーモンは、指定されたユーザとして
CA Spectrum
プロセスを開始するために、このユーザ名とパスワードを使用します。ユーザがログインしていない場合、セキュリティ情報を提供することでこれらのプロセスを実行できます。注:
詳細については、「」を参照してください。[Windows サービスの構成]ダイアログ ボックスで指定したパスワードを変更したり、有効期限切れになった場合、新しいパスワードで processd を更新する必要があります。
重要:
パスワードに感嘆符(!)などの特殊機能が含まれている場合、円記号(\)を使って、その文字をエスケープ処理してください。または、コマンド プロンプトからパスワードを変更することもできます。以下の手順に従います。
- ローカル Administrators グループのメンバとしてログインします。processd のユーザ名とパスワードを変更するには、ユーザは、CA Spectrumユーザ グループのメンバおよび管理者である必要があります。
- コマンド プロンプトを開きます。
- /lib/SDPM ディレクトリに移動します。
- 以下のコマンドを入力します。processd --install --username user --password newpassword
- userユーザ名を指定します。
- newpasswordこのユーザ名の新しいパスワードを指定します。
ユーザ名またはパスワードにシェルが誤って解釈する可能性がある特殊文字が含まれる場合、ユーザ名またはパスワードを引用符で囲みます。たとえば、ユーザ名にはバックスラッシュ(\)区切り記号と共に、ドメイン名とユーザが含まれます。パスワードにはアスタリスク(*)が含まれています。これらの文字は両方とも特殊文字です。そのため、以下の例のように、ユーザ名とパスワードは引用符で囲みます。processd --install --username "DOMAIN\JSmith" --password "283EJ*"注:Windows ユーザ名のパスワードをが変更したにもかかわらず、processd のサービス パスワードを更新しない場合、processd は開始しません。Windows のイベント ログには、以下のイベントが生成されます。
チケット ファイルのインストール
システム起動時にプロセスを開始するように processd を設定できます。また、プロセス終了時に、プロセスを再起動するように選択することもできます。
インストール チケット
というファイルは、この機能をサポートします。インストール チケットは以下の 2 つのディレクトリ内のファイルを使用します。
- <SpectrumInstallation Directory>/lib/SDPM/partslist
- <Spectrum Installation Directory>/lib/SDPM/runtime
partslist ディレクトリには、個々のインストール チケット ファイルが格納されます。
runtime ディレクトリには、
<PID>
.rt の形式で、エンコードされたファイルが格納されます。<PID>
は、動作しているプロセスのプロセス ID です。注:
SDPM は CA Spectrum
分散プロセス マネージャを意味します。partslist ディレクトリにインストール チケットを追加できます。新しいインストール チケットは、特定のフォーマット ルールに従う必要があります。partslist ディレクトリの新しいまたは変更したインストール チケットを識別するには、processd を再起動します。これらのファイルは processd の起動時に読み取られ、将来使用できるようにキャッシュ メモリに保存されます。
インストール チケット ファイルは、設定情報を格納しているプロセスを参照するという命名規則に従います。インストール チケット ファイル名は、
<PARTNAME>
.jdb という形式になります。<PARTNAME>
変数は、processd が制御するプロセスを識別する内部キーです。インストール チケットには以下の定義フィールドが使用されます。その形式は
<fieldname>
;<value>
です。ここで <fieldname>
は以下に示す名前のいずれかです。<value>
は対応するフィールド名の定義を説明する文字列です。引用符はサポートされません。- PARTNAMEスペースで区切らないマルチ文字文字列を使って、特定のプロセス/アプリケーションを識別します。このアプリケーションのインストール チケットのファイル名は、<PARTNAME>.idb という形式になります。<PARTNAME> はプロセス名です。
- APPNAMEアプリケーションの名前をマルチ文字文字列として定義します。
- WORKPATHアプリケーションをどこで実行するか指定します。以下に説明する ARGV フィールドの一部として使用する前に、このフィールドに値を設定する必要があります。
- LOGNAMEPATHアプリケーションからの出力用ログ ファイルを指定します。このフィールドは、<$SPECROOT>または<$WORKPATH>で始める必要があります。スペースは使用できません。
- ADMINPRIVSPurism で提供するインストール チケットでのみ使用するように予約されています。ユーザが作成するインストール チケットではコメントアウトします。
- AUTORESTARTプロセスの終了時に、プロセスを自動的に再起動するかどうかを示します。インストール チケットにこのフィールドが含まれていない場合、自動再起動はデフォルトで無効になります。Y、y、N、n の値を使用できます。
- AUTOBOOTSTARTprocessd の起動時に、プロセスを起動するかどうかを示します。インストール チケットにこのフィールドが含まれていない場合、この機能はデフォルトで無効になります。Y、y、N、n の値を使用できます。
- STATEBASEDプロセスの開始時に、プロセスが複数の状態を持つことがあるかどうかを示します。通常、プロセスは通信の準備ができると、「準備完了」チケットを送信します。このフィールドは、Purism で提供するインストール チケットのみで使用すように予約されています。インストール チケットにこのフィールドが含まれていない場合、デフォルトで無効になります。Y、y、N、n の値を使用できます。
- NUMPROCS1 つのプラットフォーム上で実行できる、プロセスのインスタンス数を指定します。数値を使用できます。
- RETRYTIMEOUT障害発生後、processd がアプリケーションの再起動を試みる秒数を指定します。
- TICKETUSERAUTOBOOTSTART フィールドや AUTORESTART フィールドが設定されている場合、プロセスの実行を許可されたユーザのユーザ名を定義します。インストール チケットにこれらのフィールドが含まれている場合にのみ、このフィールドは必要です。Windows ではすべてのプロセスが processd インストール ユーザとして実行されるのため、このフィールドは適用できません。
- RETRYMAX指定された RETRYTIMEOUT 期間内に、processd がアプリケーションの再起動を試行する回数を指定します。
- STARTPRIORITY他のプロセスに対する、プロセスの相対的な起動優先度を示します。使用する値は、以下のとおりです。
- スタンドアロン プロセスの場合は 10
- スタンドアロン プロセスに依存するプロセスの場合は 20
- SpectroSERVERに依存するプロセスの場合は 30
- SERVERPROCESSユーザのログアウト後もプロセスの実行を継続するかどうかを processd に示します。このフィールドが有効な場合、プロセスは必ず、processd サービスの実行を許可されたユーザとして開始されます。このフィールドは、Windows 環境でのみ適用されます。以下のプロセスのデフォルト値は yes です。
- アーカイブ マネージャ(ARCHMGR.idb)
- ロケーション サーバ(LOCSERV.idb)
- SpectroSERVER(SS.idb)
- SERVICEチケットが Windows サービスを表すかどうかを示します。processd は Service Control Manager から Windows サービスを管理できます。
- ENVアプリケーション環境に 1 つ以上の変数を追加します。値と、行を終了するセミコロンの間で、<CSPATHSEP> マクロを使用すると、複数の値が個別の行にリスト表示されます。
- ARGVプロセスの引数リストを定義します。このリストには実行可能パスと、任意の数の引数(スペースは使用可能)が含まれます。
インストール チケットの例
インストール チケットは、以下の構文規則を適用します。
- パウンド記号(#)で始まる行は、コメントとして処理されます。
- すべてのフィールド名と、各フィールド名の後のすべての値の後ろにセミコロン(;)を記述する必要があります。
- 2 番目のセミコロンの後ろはすべて無視されます。
- <CSEXE>、<CSBAT>、<CSCMD>、および <CSPATHSEP> の 4 つのマクロが使用できます。プラットフォームに基づいて、適切な定義に置換されます。構文解析の競合を避けるため、実際のパス セパレータの代わりに <CSPATHSEP> を使用してください。
以下の例に、有効なインストール チケットを示します。
# Processd Install Ticket for SpectroSERVER Daemon.
PARTNAME;SS;
APPNAME;SpectroSERVER Daemon;
WORKPATH;$SPECROOT/SS;
LOGNAMEPATH;$WORKPATH/VNM.OUT;
ADMINPRIVS;y;
#AUTORESTART;N;
#AUTOBOOTSTART;N;
STATEBASED;y;
NUMPROCS;3; // unlimited
RETRYTIMEOUT;0; // seconds
#TICKETUSER;$USER;
RETRYMAX;0; // retries
STARTPRIORITY;20;
SERVERPROCESS;Y;
#ENV;<var>=<value>;
ARGV;$SPECROOT/SS/SpectroSERVER<CSEXE>;
以下の例では、別の有効なインストール チケットを示します。
# Processd Install Ticket for Visibroker Naming Service
PARTNAME;NAMINGSERVICE;
APPNAME;Visibroker Naming Service;
WORKPATH;$SPECROOT/bin/VBNS;
LOGNAMEPATH;$WORKPATH/NAMINGSERVICE.OUT;
ADMINPRIVS;y;
AUTORESTART;y;
AUTOBOOTSTART;y;
#STATEBASED;N;
NUMPROCS;1; // one per host
RETRYTIMEOUT;600; // 10 minutes
#TICKETUSER;$USER;
RETRYMAX;5; // 5 retries
STARTPRIORITY;10;
SERVERPROCESS;Y;
#ENV;<var>=<value>;
ENV;CLASSPATH=$SPECROOT/lib/vbjorb.jar<CSPATHSEP>;
ENV;CLASSPATH=$SPECROOT/lib/vbsec.jar<CSPATHSEP>;
ENV;CLASSPATH=$SPECROOT/lib/lm.jar<CSPATHSEP>;
ENV;CLASSPATH=$SPECROOT/lib/sanct6.jar<CSPATHSEP>;
ARGV;
$SPECROOT/bin/JavaApps/bin/nameserv<CSEXE>
-DORBpropStorage=
$SPECROOT/.corbarc
-Dvbroker.orb.admDir=
$SPECROOT/bin/VBNS
-Dborland.enterprise.licenseDir=
$SPECROOT/bin/VBNS/license
-Dborland.enterprise.licenseDefaultDir=
$SPECROOT/bin/VBNS/license
-Djava.endorsed.dirs=
$SPECROOT/lib/endorsed
-Dorg.omg.CORBA.ORBClass=
com.inprise.vbroker.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=
com.inprise.vbroker.orb.ORB
com.inprise.vbroker.naming.ExtFactory;
新しいインストール チケット プロセスの起動
インストール チケット ファイルを追加した場合、チケットで指定されたプロセスを開始する再起動オプションを使用できます。再起動オプションを使用すると、processd と processd が監視しているすべてのプロセスを終了して再起動する必要がなくなります。
Windows では、以下の手順に従ってください。
- CA Spectrumユーザ グループのメンバとしてログインします。
- コマンド プロンプトを開きます。
- /lib/SDPM ディレクトリに移動します。
- 以下のコマンドを入力します。perl processd.pl restartプロセスが起動します。
processd の停止と再起動
lib/SDPM/runtime ディレクトリが破損した疑いがある場合は、processd を停止して再起動する必要があります。
Windows では、以下の手順に従ってください。
- CA Spectrumユーザ グループのメンバとしてログインします。
- コマンド プロンプトを開きます。
- /lib/SDPM ディレクトリに移動します。
- 以下のコマンドを入力します。perl processd.pl stop (or start)
注:
Windows では、processd.pl<start/stop>
コマンドを実行しても、NT サービスとして動作している CA Spectrum
プロセス(MySQL や VisiBroker など)が停止および起動します。インストール中の userconf プロセスの動作方法
userconf プロセスは processd をバックグラウンドで実行します。Userconf では、インストール中およびインストール後にユーザが
CA Spectrum
にログインすると、CA Spectrum
のユーザ固有の設定を実行できます。userconf プロセスは、
CA Spectrum
インストール中に以下のタスクを実行します。- userconf -install %SPECROOT% を実行して、以下の変更を行います。
- SPECROOT および SPECPATH をシステム環境に追加する。
- $SPECPATH\lib を $PATH システム変数に追加する。
- インストール ディレクトリを変更した場合は、古い $SPECPATH\lib エントリをパスから削除する。
- %SPECPATH%\lib をパスから削除する(存在する場合)。
- (引数を指定せずに)ユーザがログインするたびに、userconf が実行されるように、レジストリを変更します。
- userconf -start を実行して processd を起動します。-start フラグを使用すると、ユーザがCA Spectrumユーザ グループのメンバであることを確認せずに、processd が起動されます。注:インストール プログラムは、現在のユーザをCA Spectrumユーザ グループに追加します。ただし、ユーザがログアウトして再度ログインするまで変更は有効になりません。-start フラグを追加すると、ユーザがCA Spectrumユーザ グループのメンバであることを確認せずに、processd が起動します。その後、ユーザのログアウトと再ログインを求められることがなく、インストールが継続します。
- 初めて Exceed をインストールする(CA Spectrumのインストール後)場合は、userconf -restart を実行して processd を停止してから再起動します。これによって、processd は、Exceed インストールの一部である PATH 環境の変更を更新することができます。
ユーザのログイン時の userconf の動作方法
インストールにより、レジストリ Run キーに userconf プロセスが追加されます。ユーザのログイン時、プロセスが自動的に開始され、ユーザが
CA Spectrum
ユーザ グループのメンバかどうかを確認します。userconf プロセスは、以下のルールを適用します。- ユーザがCA Spectrumユーザ グループのメンバである場合、userconf は cygwin と Exceed を確認し、processd を起動する前に必要に応じて再設定を行います。Microsoft VC++ がインストールされている場合、CA SpectrumSDK で使用できるよう、userconf によって適切に設定されます。
- ユーザがユーザ グループのメンバでない場合、CA Spectrumはインストールされているが、ユーザがCA Spectrumユーザ グループにいないことを通知するメッセージが表示されます。CA Spectrumを使用するユーザを有効化するには、ユーザ アカウントをCA Spectrumユーザ グループに追加します。次に、ユーザのログアウトを実行してから、再ログインする必要があります。CA Spectrumを使用しないユーザは、ユーザが Spectrum を実行しないチェック ボックスをオンにできます。このオプションを使用すると、ユーザのログイン時に userconf は実行を継続しますが、プロセスは非通知で終了します。注:メッセージを再表示するには、以下のコマンドを実行します。userconf -install %SPECROOT%
分散環境の重複モデル
DSS 環境で、
CA Spectrum
は「ホーム」モデルとして指定することにより、重複モデル(複数のランドスケープに存在するユーザ モデルなど)を追跡します。ホーム モデルは、「root」メイン ロケーション サーバ(MLS)を使って、ホスト上で実行されている SpectroSERVER
上に存在します。重要:
DSS 環境でルート MLS を変更した場合、MLS の「ホーム」モデルに一致するように、すべての重複モデルの状態が更新されます。これは、DSS 環境においては、MLS が最終権限を持っているためです。CA Spectrum
は、ホーム モデルを使用して、すべての重複モデルの情報を同期します。ホーム モデルでない重複モデルに対して行われた修正要求は、ホーム モデルのランドスケープに中継されます。その後ホーム モデルは、他のすべての重複モデルに要求を分配します。ホーム ランドスケープへの接続失敗エラー
編集中のモデルのホーム ランドスケープに接続できない場合、編集操作が失敗することがあります。OneClick は、
SpectroSERVER
からの以下のエラーなど、関係エラーをレポートします。The operation failed because the model being edited exists in multiple landscapes and its home landscape could not be contacted.
この種のエラーは、「root」 MLS 上で実行されている
SpectroSERVER
上のホーム モデルがアクセス不能であることを示している可能性があります。分散環境で重複モデルが追加または削除された場合、ホーム ランドスケープを通じてルーティングされます。その SpectroSERVER
がダウンしているか、接続できない場合、関係は失敗し、エラーが生成されます。以下のいずれかの条件下では、ホーム ランドスケープに接続できません。
- ホームSpectroSERVER、または重複モデルとホームSpectroSERVER間の中間SpectroSERVERが動作していない場合。
- ネットワークの問題によって、SpectroSERVERにアクセスできない場合。
- セキュリティ上の問題により、SpectroSERVERが通信できない場合。
ホスト リソース設定ファイル(.hostrc)
.hostrc ファイルは、各ローカル
SpectroSERVER
へのクライアント アプリケーションのアクセスを制限します。クライアント アプリケーションは、.hostrc ファイルがそのアプリケーションのアクセスを許可するよう設定されていない限り、ローカル ランドスケープに接続することができません。.hostrc ファイルは、テキスト エディタを使って編集できます。注:
詳細については、「」を参照してください。デフォルトでは、.hostrc ファイルはローカル ホスト名を使用して初期インストールされ、すべてのリモート アクセスを制限します。ホスト名を個別に追加すると、そのサーバとの接続が可能になります。「+」記号を追加することで、すべてのリモート サーバに対して、無制限のアクセスが可能になります。.hostrc ファイルにマシン名を追加すると、個々のリモート サーバからのクライアント アクセスが有効になります。
CA Spectrum
はホスト名または IP アドレスによって、複数のレイヤにホスト セキュリティを実装します。.hostrc ファイルには、ホスト名をリストして、ホスト名に関連付けられたすべての IP アドレスを含めるようにすることをお勧めします。接続用に IP アドレスを使用する場合、ホスト名によって開始される接続試行は必ずしも成功するとは限りません。DSS 環境のタイム ゾーン
複数のタイム ゾーンにまたがる DSS システムでは、1 つの
SpectroSERVER
で発生するすべてのアクティビティは、スケジュールされたイベントを含め、そのサーバのローカル タイムを反映します。OneClick で作成され、モデリングされたデバイスに適用されたすべてのスケジュールは、SpectroSERVER
またはデバイス ランドスケープのローカル時間に従って開始および終了します。注:
詳細については、「DSS 環境の OneClick スケジュール」を参照してくださいSpectroSERVER のシャットダウン
SpectroSERVER
を実行しているサーバをシャットダウンする前に、CA Spectrum
コントロール パネルを使用して、SpectroSERVER
をシャットダウンすることをお勧めします。ただし、SpectroSERVER
をシャットダウンする方法として、オペレーティング システム シャットダウン手順を使用する場合は、processd が停止するための期間を増加させます。Windows 環境での
SpectroSERVER
のシャットダウンWindows 環境では、processd は停止する前に、すべてのサブプロセスがシャットダウンするまで待ちます。ただし、Windows レジストリ設定 WaitToKillServiceTimeout は、Windows のシャットダウンが開始されてからすべてのサービスが停止するまでの Windows の待ち時間を設定します。WaitToKillServiceTimeout で指定された時間の経過後もサービス(processd など)がまだ動作している場合、Windows はそのサービスを終了させます。デフォルト値は 20 秒です。この値は、システム シャットダウン時に
SpectroSERVER
が完全にシャットダウンするために十分な時間とは限りません。タイムアウト値を増加させることができます。以下の手順に従います。
- レジストリ エディタを開きます。
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control に移動します。
- Ctrl キーを押します。
- 右のペインで WaitToKillServiceTimeout の値をダブルクリックします。
- ウィンドウで、600,000 ミリ秒(10 分)以上の値に変更します。
- [OK]をクリックします。
- Windows サーバを再起動して、変更を有効にします。
ランドスケープ マップ エントリ タイムアウトの設定
デフォルトでは、各ランドスケープ エントリは、ランドスケープ マップで無期限に維持されます。ロケーション サーバ設定ファイル(.locrc)を使用すると、ランドスケープ エントリのタイムアウト発生後、ランドスケープ マップからエントリが自動削除される時間を指定できます。
注:
以前の CA Spectrum
リリースでは、ランドスケープ エントリは 1 時間後にタイムアウトになり、ランドスケープ マップから自動削除されました。CA Spectrum
9.2.2 以降、ランドスケープ エントリはデフォルトではタイムアウトになりません。重要:
ランドスケープ マップからエントリを自動削除するため、タイムアウト値を使用することは推奨されません
。タイムアウト値はデフォルトのままにしてください。ランドスケープ マップからエントリを削除するには、必要に応じて MapUpdate コマンドを使用します。詳細については、「」を参照してください。以下の手順に従います。
- <$SPECROOT>/LS ディレクトリに移動します。
- .locrc ファイルに以下のエントリを更新または追加します。MET_INTERVAL=time_out_value
- time_out_valueランドスケープ エントリのタイムアウト発生後、ランドスケープ マップからエントリを自動削除する時間をミリ秒で示します。デフォルト:0 ミリ秒(タイムアウトなし)
既存の DSS セットアップからのランドスケープ マッピングに関する問題
問題の状況:
別のインストールからランドスケープ マップをコピーして、個別の分散環境をセットアップしようとした場合に、ランドスケープ マップに関する問題が発生しました。プライマリがダウンし、ユーザ セキュリティに関する問題が発生した後、セカンダリ
SpectroSERVER
への切り替えで障害が発生しました。解決方法:
ランドスケープ マップをコピーするには、以前の DSS セットアップへの参照をすべて削除します。ランドスケープ マップには、以前の DSS セットアップへの参照を含めないでください。以下の手順に従って、既存の DSS セットアップからランドスケープをマッピングしてください。
以下の手順に従います。
- 以下のように、SpectroSERVERを分離します。
- 各SpectroSERVERをスタンドアロン サーバにします。ロケーション サーバは、インストール先のローカル サーバをポイントしています。
- ランドスケープ マップがSpectroSERVERごとに異なっていることを確認します。注:既存の DSS セットアップでは、ランドスケープ マップはすべてのサーバを含む単一マップでした。
- SpectroSERVERデータベースを保存します。ランドスケープ マップはクリーンです。
- 元の MLS をリストアするため、これらのSpectroSERVERの MLS を変更します。注:元の DSS 設定は変更しないでください。
- 異なるホスト上で各SpectroSERVERのデータベースを再ロードします。
- 新しい DSS セットアップで MLS としてSpectroSERVERを選択し、他のSpectroSERVERがそれをポイントするようにします。ユーザ モデル内の dupModeList が適切に更新されます。
- ランドスケープ マップにセカンダリ エントリが存在する場合は、そのエントリを削除します。
- セカンダリSpectroSERVERエントリを設定します。
- 新しい DSS 内のプライマリSpectroSERVERからデータベースをロードします。ランドスケープは、既存の DSS セットアップからマッピングされます。
トラブルシューティング
古いランドスケープのパージに関する問題
問題の状況:
当社の運用
CA Spectrum
環境は、単一の分散インストールで構成されていました。環境には複数の SpectroSERVER
および OneClick サーバがあり、それらはすべて同じメイン ロケーション サーバを使用していました。分離開発環境を作成するために、実稼働環境から 2 つの
SpectroSERVER
および 1 つの OneClick サーバを削除することに決定しました。新しいロケーション サーバを参照する用に開発 SpectroSERVER
と OneClick サーバを設定しました。各環境内のサーバがそれぞれのロケーション サーバへのアクセス権のみを持つように、.hostrc ファイルを更新しました。さらに、実稼働環境のランドスケープ マップを更新し、開発ランドスケープを削除しました。ただし、開発用 OneClick サーバ上の監視対象ランドスケープのリストを見ると、まだ古い実稼働ランドスケープがすべて表示されます。それらは、.hostrc ファイルへの変更のために "権限なし" としてリスト表示されます。
解決方法:
ご説明のセットアップでは、現在 2 つの異なる環境があります。ただし、開発ランドスケープ マップは古くなった実稼働ランドスケープをキャッシュしています。古くなったランドスケープを実稼働環境から削除しましたが、開発環境からそのランドスケープを削除しませんでした。そのため、古くなったランドスケープを開発環境から手動で削除する必要があります。
古くなったランドスケープの削除に関して 2 つのオプションがあります。
解決方法:
古くなったランドスケープを開発ランドスケープ マップから削除するために、以下のコマンドを使用できます。
MapUpdate -remove landscape handle
解決方法:
すべての
SpectroSERVER
プロセスを再起動できます。詳細については、「processd の停止と再起動」を参照してください。OneClick サーバを再起動します。OneClick サーバ管理の詳細については、「OneClick 管理」を参照してください。サーバを再起動すると、問題が解決されます。
重要:
CA Spectrum r10.3 をインストールするときには、新規 SpectroSERVER インストールの完了後に、サーバを再起動する必要があります。SpectroSERVER データベース ファイルのランドスケープ ハンドル ビットマスクが、Spectrum のビットマスクと一致していません
問題の状況:
以前に保存された SpectroSERVER データベース(SSdb)保存ファイルをロードしようとすると、以下のエラーが表示されます。
Error: Detected incompatible model mask configuration. (エラー: 互換性のないモデル マスク設定が検出されました。) The database is configured as 20 bits, but the server is configured as 24 bits. (データベースは 20 ビットで設定されていますが、サーバは 24 ビットとして設定されています。) Database can't be loaded. (データベースをロードできません。)
SpectroSERVER データベース ファイルのランドスケープ ハンドル ビットマスクが、Spectrum のビットマスクと一致していません。 インストール時に「巨大なランドスケープ ハンドル」オプションが選択されている場合は、SpectroSERVER データベース ファイルに、レガシー ランドスケープ ハンドルがあることを意味します。インストール時にレガシー ランドスケープ ハンドルが選択されている場合は、SpectroSERVER データベース ファイルに巨大なランドスケープ ハンドルがあることを意味します。
解決方法:
別のランドスケープ ハンドル ビット マスクで以前に保存された SpectroSERVER データベース ファイルのロードはサポートされていません。SpectroSERVER 環境の設定が適切であることを確認します。誤ったランドスケープ オプションをインストールして選択している場合は、CA Spectrum をアンインストールして再インストールします。不正なハンドルを選択しており、その SS が DSS にある場合は、再インストールした後に、マップから不正なエントリを削除します。再インストール後に、マップから不正なエントリを削除する方法
- Bash シェルを開き、以下のディレクトリに移動します。<SPECROOT>/SS-Tools/ directory
- MapUpdate コマンドを実行します。./MapUpdate -v
- 不正なエントリを削除します。./MapUpdate -remove <lh> -precedence <precedencevalue>例:./MapUpdate -remove 0x100000 -precedence 10