トポロジのインポートユーティリティーとエクスポートユーティリティーにより、トポロジデータベースを、 XML マークアップ形式の AXCII ファイル からインポートおよびエクスポートできます。インポートユーティリティーは、ファイルからデータを読み取り、トポロジデータベースとトポロジのエージェントオブジェクトのデータを更新します。エクスポートユーティリティーは、これと逆の操作を行います。
この章の内容は、次のとおりです。
トポロジのインポートユーティリティーとエクスポートユーティリティーは、次のタスクに使用できます。
トポロジデータをバックアップとして定期的にダンプする。
異なるトポロジサーバー間でデータを転送する。
トポロジデータが損傷した場合、バックアップからデータを復元する。
データを他のファイル形式に変換して、他社製の管理プラットフォームの管理システムに読み込む。
これらの機能へは、Sun Management Center のコンソールメインウィンドウまたは CLI からアクセスできます。ただし、アクセスするためには完全なトポロジデータと、インポートまたはエクスポートするドメインを指定しなければなりません。次に、このツールがサポートするデータ操作 (上書き、最後に追加など) を示します。
インポートユーティリティーとエクスポートユーティリティーは、ドメインレベルの操作をサポートします。エクスポートするドメインを 1 つだけ指定することも、トポロジ階層全体を指定することも可能です。
インポートユーティリティーを使用して、バックアップデータを復元できます。
オブジェクトの任意のドメインを 1 つのドメインにインポートできます。
エクスポートユーティリティーを使用して、既存データをバックアップできます。
インクリメンタルモードでデータをエクスポートできます。
現在のトポロジ階層にデータがあれば、メインコンソールウィンドウからトポロジ情報をエクスポートできます。
トポロジのインポートユーティリティーとエクスポートユーティリティーは、クライアント API を介して Sun Management Center のサーバーと通信します。インポートおよびエクスポート ASCII ファイルは、コンソールシステムに常駐します。このファイルは、クライアント API 経由でサーバーに情報を提供します。サーバーはトポロジエージェントにこの情報を送信し、このエージェントがトポロジデータベースと対話します。次の図は、これらのユーティリティーをサポートするソフトウェア構造を示したものです。
エクスポートには、2 つのモード (追加と上書き) が用意されています。上書きモードでは、既存ファイルの内容がダンプされたデータに置き換わります。追加モードでは、ダンプされたデータがファイル末尾に追加されます。
インポートには、ダンプファイル内のドメイン情報を処理する 2 つのモードが用意されています。最初のモードは、ドメイン情報を無視して、すべてのオブジェクトを指定ドメインまたはホームドメインで作成します。もう一方のモードは、すべてのオブジェクトと一緒にドメイン情報をインポートします。この場合、新規のドメインが作成され、すべての非ドメインオブジェクトが対応するドメインで作成されます。
トポロジのエクスポートユーティリティーは、メインコンソールウィンドウまたは CLI から起動できます (「インポートとエクスポートのコマンド行インタフェース」を参照)。
メインコンソールウィンドウの「ツール」メニューから「トポロジのエクスポート」を選択します。
「トポロジのエクスポート」ダイアログボックスが表示されます。
「エクスポートするドメイン名」リストからドメインを選択します。
トポロジエージェントによって管理される全ドメインを表示したリストから、エクスポートするドメインを 1 つ選択します。複数のドメインをエクスポートする場合は、最後に追加するモードでエクスポート操作を繰り返します。
エクスポートするファイル名を入力するか、「参照」ボタンを使用して既存ファイルを選択します。
ファイルをエクスポートするには、ファイルの書き込みまたはファイル作成のアクセス権が必要です。このアクセス権がない場合は、エラーメッセージが表示されて操作が終了します。
データを既存ファイルの最後に追加するか上書きするかを決定します。
最後に追加するモードはファイルの末尾にデータを付加し、上書きモードはファイルを上書きします。最後に追加するモードをエクスポートに使用する場合、 ファイルに対してより制限的なチェックが行なわれます。既存ファイルは、有効なインポートとエクスポートのデータファイルでなければなりません。有効なデータファイルとは、適正なインポートおよびエクスポートファイルの文書型宣言 (DTD) を備えた、完全な XML 形式のファイルを指します。
「有効日数」メニューから、データの有効日数を選択します。
次の値から選択できます。
7 日
15 日
30 日
90 日
デフォルトでは、トポロジのエクスポートデータの有効日数は無制限です
(省略可能) エクスポート関数についてのコメントを入力します。
「了解」をクリックしてデータを指定ファイルにエクスポートし、「トポロジのエクスポート」ウィンドウを閉じます。
トポロジのインポートユーティリティーは、メインコンソールウィンドウまたは CLI から起動できます (「インポートとエクスポートのコマンド行インタフェース」を参照)。
メインコンソールの「ツール」メニューから「トポロジのインポート」を選択します。
「トポロジのインポート」ウィンドウが表示されます。
インポートするトポロジデータを含むファイルのフルパス名を入力します。
「参照」ボタンを使用してファイルを検索することもできます。
トポロジすべてをインポートするか、グループとエンティティーだけをインポートするかを決定します。
ドメイン情報を維持 – グループとドメイン情報をインポートします。グループとエンティティーは、ファイル内のドメインで作成されます。
ドメイン情報を無視 – ドメイン情報を無視して、グループとエンティティーだけをユーザーが指定したドメインにインポートします。
「ドメイン名」リストから、データのインポート先となるドメインを選択します。
デフォルトでは、すべてのデータがホームドメインにインポートされます。
前の手順で「ドメイン情報を無視」オプションを選択した場合は、データのインポート先をトポロジ階層で指定できます。
「了解」をクリックしてデータをインポートし、「トポロジのインポート」ウィンドウを閉じます。
インポートユーティリティーはトポロジデータベースを更新します。そのため、警告ダイアログボックスで確認してからデータをインポートします。
警告ダイアログボックスには、入力ファイルの作成日時と作成者が表示されるので、正しいデータファイルが使用されていることを確認できます。
さらに、次のようなチェックが行なわれます。
エクスポートされたデータファイルには、ファイルの有効期限に関する情報が含まれています。期限切れファイルをインポートしようとすると、エラーメッセージが表示されて作業が停止します。
インポートユーティリティーは、ファイルが存在し、読み取り可能であることを確認します。確認に失敗すると、エラーメッセージが表示され作業が停止します。
インポートユーティリティーは、インポートファイルが正しいファイル形式かどうかを解析します。不正の場合にはエラーメッセーが表示されます。
現在のトポロジ階層にエンティティーが存在すると、エンティティーを置き換えるかどうか確認を求める警告ダイアログボックスが表示されます。次のいずれかのオプションを選択します。
重複データを新規データに置き換えます。
重複データをすべて置き換えます。データが再び重複してもダイアログボックスは表示されず、そのまま既存値が置き換えられます。
重複データを更新しません。
データが重複してもダイアログボックスは表示されません。重複データはすべて無視されてそのまま残ります。
インポート操作を中止します。
インポートユーティリティーとエクスポートユーティリティーは、コマンド行インタフェース (CLI ) から次のコマンドで起動できます。
# /opt/SUNWsymon/sbin/es-cli > login Host: servername Login: username Password: password Login successful! > export parameter > import parameter |
適切なコマンドパラメータについては、「インポートコマンドパラメータ」および 「エクスポートコマンドパラメータ」を参照してください。
import コマンドは、特定ドメインにエクスポートされたトポロジデータを、ファイルから取り出します。
import コマンドは、次のパラメータを使用します。
domain パラメータの値は、インポートされるトポロジのドメイン名となります。ドメイン名の指定がない場合は、すべてのドメインがインポートされます。
domainmode パラメータの値は、インポートされたトポロジから新規ドメインを作成するかどうかを決定します。この値が follow の場合は、グループとドメイントポロジが現在のトポロジにインポートされ、新規のドメインが作成されます。また、この値が ignore の場合は、グループとエンティティーが指定ドメインにインポートされます。
filename パラメータの値は、トポロジ情報を取り出すファイルの名前です。
nodemode パラメータの値は、インポートされたトポロジが既存トポロジを上書きするかどうかを決定します。この nodemode パラメータ値が replaceの場合、重複データはインポート値に置き換えられます。また、nodemode パラメータ値が ignore の場合、重複データは更新されません。
コマンド行の明示的な割り当ては、パラメータファイルの同一の割り当てに優先されます。たとえば、mode=ignore がコマンド行に割り当てられ、mode=follow がパラメータファイルに割り当てられた場合は、mode=ignore が使用されます。
次の例では、すでにエクスポートされたトポロジを /home/examples/snapshot ファイルからインポートします。必要に応じて新規ドメインが作成され、重複データがインポートされたトポロジに置き換わります。
> import filename=/home/examples/snapshot domainmode=follow \ nodemode=replace |
インポートユーティリティーは、操作の実行前またはデータが重複すると、次のようなプロンプトを出します。
確認を求める警告メッセージ – インポート操作を確認するために、次のメッセージが表示されます。
<ユーザー名> によって<mm/dd/yyyy> にエクスポートされたファイルです。 インポートによってトロポジデータベースが変更されます。続行してもよろしいですか ? [Yes/No] |
「はい」の場合は y を、「いいえ」の場合は n を入力します。
ここでは、インポートコマンドの結果として表示されるメッセージについて説明します。
import: Results 1/1
State=Success
Message=The topology data is successfully imported.
原因:成功しました。
説明:エクスポートに成功しました。
filename: No such file.
原因:ファイルが存在しません。
説明:指定されたファイルが存在しません。コマンド行が、インポートデータソースを提供するデータファイルと、パラメータリストを提供するパラメータファイルの両方に使用されている可能性があります。
import: Cannot open filename.
原因:Permission denied.
説明:ファイルを開いて読み込むことができません。
import: File format is not supported.
原因:フォーマットが不正です。
説明:ソースファイルが、データのエクスポートに有効なデータベースファイルではありません。
import: File out-of-date (xx days).
原因:データが期限切れです。
説明:期限切れのデータを使用しています。
import: Authentication failed.
原因:Authentication failed.
説明:現在のユーザーには、トポロジ階層でオブジェクトを作成する権限がありません。
import: Wrong parameter file.
原因:パラメータファイルエラー
説明:パラメータファイルは、 name = value のペアで構成されなければなりません。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。
import: illegal parameter - <para>.
Use -h option to get usage.
原因:パラメータが不正です。
説明:インポート操作に不正なパラメータが指定されました。import -h で、使用可能なオプションとパラメータを確認してください。
export コマンドは、単一ドメインまたは全ドメインのトポロジデータをファイルに保存します。
export コマンドでは、次のパラメータを使用します。
comment パラメータの値は、ファイルに含まれる注釈です。
domain パラメータの値は、エクスポートされるトポロジのドメイン名です。ドメインの指定がない場合は、すべてのドメインがエクスポートされます。
filename パラメータの値は、トポロジ情報のエクスポート先のファイル名です。
mode パラメータの値は、トポロジ情報をファイルに組み込む方法を決定します。この値が append の場合、データはファイル内容のあとに追加されます。overwrite の場合は、ファイルの既存情報が新規データに置き換わります。
validity パラメータの値は、データが有効な日数です。選択可能な日数は、次のとおりです。
Unlimited
7
15
30
90
次は、Default Domain が snapshotファイルに保存される例です。 snapshot の元の内容は、新規データによって上書きされます。新規データは無期限に有効と仮定され、システムテストグループ用のデータであることがコメントで指定されます。
> export filename=/home/examples/snapshot \ domain="Default Domain" mode=overwrite validity=Unlimited \ comment="System Test Group" |
エクスポートコマンドの結果として、次のようなメッセージが表示されます。
Export: Results 1/1
State=Success
Message=The topology data is successfully exported.
原因:成功しました。
説明:エクスポートに成功しました。
export: Cannot open file.
原因:ファイルが存在しません。
説明:パラメータファイルが存在しません。
filename: Permission denied.
原因:ファイルエラー
説明:ファイルを作成できないか、開いて書き込むことができません。
export: File format not supported.
原因:フォーマットが不正です。
説明:エクスポートデータを不正なファイルのあとに追加しようとしてエラーが発生しました。
export: The domain <domainname> does not exist
原因:オブジェクトエラー
説明:エクスポートするドメインが存在しません。
export: Wrong parameter file.
原因:パラメータファイルエラー
説明:パラメータファイルは、 name = value のペアで構成されなければなりせん。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。
export: The current user is different from the last one.
原因:ユーザー競合
説明:ほかのユーザーが作成したデータファイルに対して、データを上書きまたは最後に追加しようとするとエラーが発生します。自分以外のユーザーが作成したエクスポートデータを変更したり上書きしたりすることはできません。
export: Data is out-of-date.
原因:データが古すぎます。
説明:期限切れのエクスポートファイルを使用しています。このメッセージは、追加モードでデータをエクスポートする場合にのみ表示されます。
export: illegal parameter - <para>.
Please use -h option to get usage.
原因:パラメータが不正です。
説明:エクスポート操作に不正なパラメータが指定されました。
次は、インポートユーティリティーとエクスポートユーティリティーが処理するトポロジデータです。
すべてのドメイン、グループ、ホストに関するレコード情報です。
ドメインとグループに関する装飾情報です。この情報には、バックグラウンド内容の代わりに、レイアウトとバックグラウンドインデックスしか含まれません。たとえばバックグラウンド情報には、GIF ファイルではなく、GIF ファイル名だけが含まれます。
トポロジ階層と、エンティティーのバックグラウンドおよびレイアウトに関する情報です。
Import/Export ファイルは、インポートデータやエクスポートデータを説明するファイルで、任意のテキストエディタで編集できます。このファイルには、トポロジ階層のエンティティーがすべて含まれます。最後に追加するエクスポートモードでは、より多くのオブジェクト情報をファイルの最後に追加できるため、ファイル形式も簡単に拡張と解析ができるようになっています。エクスポートされたデータは XML 形式で保存されます。
このファイルは 4 つの部分に分かれています。
マジック情報
DTD (文書型宣言)
ヘッダ情報
データブロック
マジック情報は、ファイルが XML 形式であることを識別します。通常この情報は次のように表示されます。
<? XML version = 1.0 ?> |
DTD 情報はドキュメントの構造を定義します。次は、エクスポートファイルの DTD の記述例です。
<!ELEMENT ENTITY (ENTITY* ADORNMENT*)> /* Entity element describes a entity. If it is a group, it may contain groups and adornment. */ <!ATTLIST ENTITY /* Entity attributes */ desc CDATA full_desc CDATA hostname CDATA ip CDATA netmask CDATA architecture CDATA family CDATA polling_type CDATA url CDATA x_coord CDATA y_coord CDATA topology_type CDATA event_dest CDATA trap_dest CDATA target_host CDATA target_ip CDATA read_info CDATA write_info CDATA> <!ELEMENT ADORNMENT> <!ATTLIST ADORNMENT x_coord CDATA y_coord CDATA type CDATA configuration CDATA> ]> |
ヘッダ情報は、一般的な情報を記録するために使用されます。
ユーザー
データ
バージョン
プラットフォーム
製品
データブロックには、トポロジの階層アーキテクチャーとエンティティーが含まれます。
次の図は、「My New」ドメインのトポロジを示したものです。
次は、「My New」ドメインのトポロジエクスポートファイル例です。
<?xml version="1.0" encoding="UTF-8"?> <DOCUMENT> <HEAD> <USER>jkang</USER> <DATE>1/7/1999</DATE> <VALIDITY>7 days</VALIDITY> <PRODUCT>Sun Management Center</PRODUCT> <VERSION>3.6.1</VERSION> <COMMENTS>This is an example.</COMMENTS> </HEAD> <DOMAIN name="my new"> <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="wizard" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="23" yCoord="39" /> <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-2" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="u30-1" ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.113:161/sym//base/mibman/modules" type="" writeInfo="" xCoord="75" yCoord="39" /> <ENTITY arch="" config="" desc="campus" entityId="e-3" family="campus-view" fulldesc="" hostname="" ipAddr="" isPoll="true" isSoftGroupLink="false" netMask="" pollType="aview" readInfo="espublic" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:164/mod/topology+view-101" type="" writeInfo="" xCoord="27" yCoord="111"> <ENTITY arch="" config="" desc="building" entityId="e-1" family="building-view" fulldesc="" hostname="" ipAddr="" isPoll="true" isSoftGroupLink="false" netMask="" pollType="aview" readInfo="espublic" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:164/mod/topology+view-102" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="Wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="aaa" entityId="e-2" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-3" family="sun4u-Sun-Ultra-2" fulldesc="" hostname="u30-1" ipAddr="129.158.168.113" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://129.158.168.113:161/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> </ENTITY> </ENTITY> <ENTITY arch="" config="" desc="129.158.0.0" entityId="e-4" family="network-view" fulldesc="129.158.0.0" hostname="129.158.0.0" ipAddr="129.158.0.0 isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="129.158.0.0" targetIp="129.158.0.0" targetUrl="snmp://129.158.168.63:164/mod/topology+view-103" type="" writeInfo="" xCoord="38" yCoord="181"> <ENTITY arch="" config="" desc="129.158.168.0" entityId="e-1" family="subnetwork-view" fulldesc="129.158.168.0" hostname="129.158.168.0" ipAddr="129.158.168.0" isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="129.158.168.0" targetIp="129.158.168.0" targetUrl="snmp://129.158.168.63:164/mod/topology+view-104" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" family="sun4u-Sun-Ultra-2" fulldesc="SUNW,Ultra-2" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="public" targetHost="" targetIp="" targetUrl="snmp://129.158.168.63:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> </ENTITY> </ENTITY> <ENTITY arch="" config="" desc="myworkstation" entityId="e-5" family="nonagent-sun4u-Sun-Ultra30" fulldesc="" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="" pollType="snmp" readInfo="public" targetHost="" targetIp="" targetUrl="snmp://wizard:1100/oid//1.3.6.1.2.1.1.7.0" type="" writeInfo="private" xCoord="52" yCoord="253" /> <ENTITY arch="SunOS 5.8" config="" desc="System Group" entityId="e-6" family="base-agent" fulldesc="MIB tree branch" hostname="wizard" ipAddr="129.158.168.63" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="amod" readInfo="" targetHost="wizard" targetIp="129.158.168.63" targetUrl="snmp://129.158.168.63:1100/mod/mib2-simple/system" type="" writeInfo="" xCoord="52" yCoord="329" /> <ADORNMENT Config="bus" Id="adorn-7" Type="layout" XCoord="0" YCoord="0" /> </DOMAIN> </DOCUMENT>