トポロジのインポートユーティリティとエクスポートユーティリティにより、トポロジデータベースを、XML マークアップ形式の ASCII ファイル からインポートおよびエクスポートできます。インポートユーティリティは、ファイルからデータを読み取り、トポロジデータベースとトポロジのエージェントオブジェクトのデータを更新します。エクスポートユーティリティは、これと逆の操作を行います。
この章の内容は、次のとおりです。
トポロジのインポートユーティリティとエクスポートユーティリティは、次のタスクを実行する際に使用されます。
トポロジデータをバックアップとして定期的にダンプする。
異なるトポロジサーバ間でデータを転送する。
トポロジデータが損傷した場合、バックアップからデータを復元する。
データを他のファイル形式に変換して、サードパーティ管理プラットフォームの管理システムに読み込む。
これらの機能へは、Sun Management Center のコンソールメインウィンドウまたは CLI からアクセスできます。ただし、アクセスするためには完全なトポロジデータと、インポートまたはエクスポートするドメインを指定しなければなりません。以下に、このツールがサポートするデータ操作 (上書き、最後に追加など) を示します。
インポートユーティリティとエクスポートユーティリティは、ドメインレベルの操作をサポートします。エクスポートするドメインを 1 つだけ指定することも、トポロジ階層全体を指定することも可能です。
インポートユーティリティを使用して、バックアップデータを復元できます。
オブジェクトの任意のドメインを 1 つのドメインにインポートできます。
エクスポートユーティリティを使用して、既存データをバックアップできます。
インクリメンタルモードでデータをエクスポートできます。
現在のトポロジ階層にデータがあれば、メインコンソールウィンドウからトポロジ情報をエクスポートできます。
トポロジのインポートユーティリティとエクスポートユーティリティは、クライアント API を介して Sun Management Center のサーバと通信します。インポートとエクスポート ASCII ファイルはコンソールシステム上に常駐し、クライアント API 経由で情報をサーバに送信します。サーバは、トポロジデータベースと対話するトポロジエージェントにその情報を送信します。次の図は、これらのユーティリティをサポートするソフトウェア構造を示したものです。
エクスポートには、2 つのモード (追加と上書き) が用意されています。上書きモードでは、既存ファイルの内容がダンプされたデータに置き換わります。追加モードでは、ダンプされたデータがファイル末尾に追加されます。
インポートには、ダンプファイル内のドメイン情報を処理する 2 つのモードが用意されています。最初のモードは、ドメイン情報を無視して、全てのオブジェクトを指定ドメインまたはホームドメインで作成します。もう一方のモードは、全てのオブジェクトと一緒にドメイン情報をインポートします。この場合、新規のドメインが作成され、全ての非ドメインオブジェクトが対応するドメインで作成されます。
トポロジのエクスポートユーティリティは、メインコンソールウィンドウまたは CLI から開始できます (インポートとエクスポートのコマンド行インタフェースを参照してください)。
メインコンソールウィンドウの「ツール」メニューから「トポロジのエクスポート」を指定します。
「トポロジのエクスポート」ダイアログボックスが表示されます。
「エクスポートするドメイン名」リストからドメインを選択します。
トポロジエージェントによって管理される全ドメインを表示したリストから、エクスポートするドメインを 1 つ選択します。複数のドメインをエクスポートする場合は、最後に追加するモードでエクスポート操作を繰り返します。
エクスポートするファイル名を入力するか、「参照」ボタンを使用して既存ファイルを選択します。
ファイルをエクスポートするには、ファイルの書き込みまたはファイル作成のアクセス権が必要です。このアクセス権がない場合は、エラーメッセージが表示されて操作が終了します。
データを既存ファイルの最後に追加するか上書きするかを決定します。
最後に追加するモードはファイルの末尾にデータを付加し、上書きモードはファイルを上書きします。最後に追加するモードをエクスポートに使用する場合、ファイルに対してより制限的なチェックが行なわれます。既存ファイルは、有効なインポートとエクスポートのデータファイルでなければなりません。有効なデータファイルとは、適正なインポートおよびエクスポートファイルの文書型宣言 (DTD) を備えた、完全な XML 形式のファイルを指します。
「有効日数」メニューから、データの有効日数を指定します。
選択可能な値は次のとおりです。
7 日
15 日
30 日
90 日
デフォルトでは、トポロジのエクスポートデータの有効日数は無制限です
(省略可能)(省略可能) エクスポート関数についてのコメントを入力します。
「了解」をクリックしてデータを指定ファイルにエクスポートし、「トポロジのエクスポート」ウィンドウを閉じます。
トポロジのインポートユーティリティは、メインコンソールウィンドウまたは CLI から開始できます (インポートとエクスポートのコマンド行インタフェースを参照してください)。
メインコンソールの「ツール」メニューから「トポロジのインポート」を選択します。
「トポロジのインポート」ウィンドウが表示されます。
インポートするトポロジデータを含むファイルのフルパス名を入力します。
「参照」ボタンを使用してファイルを検索することもできます。
トポロジ全てをインポートするか、グループとエンティティだけをインポートするかを決定します。
ドメイン情報を維持 – グループとドメイン情報をインポートします。グループとエンティティは、ファイル内のドメインで作成されます。
ドメイン情報を無視 – ドメイン情報を無視して、グループとエンティティだけをユーザが指定したドメインにインポートします。
「ドメイン名」リストから、データのインポート先となるドメインを選択します。
デフォルトでは、全てのデータがホームドメインにインポートされます。
上記でドメイン情報を無視オプションを選択した場合は、データのインポート先をトポロジ階層で指定できます。
「了解」をクリックしてデータをインポートし、「トポロジのインポート」ウィンドウを閉じます。
インポートユーティリティはトポロジデータベースを更新します。そのため、警告ダイアログボックスで確認してからデータをインポートします。
警告ダイアログボックスには、入力ファイルの作成日時と作成者が表示されるので、正しいデータファイルが使用されていることを確認できます。
さらに、次のようなチェックが行なわれます。
エクスポートされたデータファイルには、ファイルの有効期限に関する情報が含まれています。期限切れファイルをインポートしようとすると、エラーメッセージが表示されて作業が停止します。
インポートユーティリティは、ファイルが存在し、読み取り可能であることを確認します。確認に失敗すると、エラーメッセージが表示され作業が停止します。
インポートユーティリティは、インポートファイルが正しいファイル形式かどうかを解析します。不正の場合にはエラーメッセーが表示されます。
現在のトポロジ階層にエンティティが存在すると、エンティティを置き換えるかどうか確認を求める警告ダイアログボックスが表示されます。次のオプションから 1 つ選択します。
重複データを新規データに置き換えます。
重複データを全て置き換えます。データが再び重複してもダイアログボックスは表示されず、そのまま既存値が置き換えられます。
重複データを更新しません。
データが重複してもダイアログボックスは表示されません。重複データは全て無視されてそのまま残ります。
インポート操作を中止します。
インポートユーティリティとエクスポートユーティリティは、コマンド行インタフェース (CLI ) から以下のコマンドで起動できます。
# /opt/SUNWsymon/sbin/es-cli > login ホスト: servername ログイン: username パスワード: password ログインに成功しました > 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> にエクスポートされたファイルです。 インポートによってトポロジデータベースが変更されます。続行してもよろしいですか? |
「はい」の場合は y を、「いいえ」の場合は n を入力します。
データ重複 – 重複したデータの扱いを決定するために、次のメッセージが表示されます。
オブジェクト <オブジェクト名> はすでに存在します。書き換えてよろしいですか? |
このメッセージには次の値を選択できます。
重複データを新規データに置き換える
全ての重複データを新規データに置き換える
重複データを更新しない
全ての重複データを無視してそのまま残す
インポート操作を中止する
この節では、インポートコマンドの結果として表示されるメッセージについて説明します。
import: Done.
成功しました。
説明:エクスポートに成功しました。
インポート: ファイル (ファイル名) が存在しません。
ファイルが存在しません。
説明:指定されたファイルが存在しません。コマンド行が、インポートデータソースを提供するデータファイルと、パラメータリストを提供するパラメータファイルの両方に使用されている可能性があります。
インポート: アクセス権がありません。
アクセス権がありません。
説明:ファイルを開いて読み込むことができません。
インポート: 不正なファイル形式です。
フォーマットが不正です。
説明:ソースファイルが、データのエクスポートに有効なデータベースファイルではありません。
インポート: 追加しようとしているファイルは期限切れです。
データが期限切れです。
説明:期限切れのデータを使用しています。
import: Authentication failed.
認証に失敗しました。
説明:現在のユーザには、トポロジ階層でオブジェクトを作成する権限がありません。
import: Wrong parameter file.
パラメータファイルエラー
説明:パラメータファイルは、name = 値r のペアで構成されなければなりません。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。
import: illegal parameter - < para>.
Use -h option to get usage.
パラメータが不正です。
説明:インポート操作に不正なパラメータが指定されました。import -h で、使用可能なオプションとパラメータを確認してください。
export コマンドは、単一ドメインまたは全ドメインのトポロジデータをファイルに保存します。
export コマンドでは、次のパラメータを使用します。
comment パラメータの値は、ファイルに含まれる注釈です。
domain パラメータの値は、エクスポートされるトポロジのドメイン名です。ドメインの指定がない場合は、全てのドメインがエクスポートされます。
filename パラメータの値は、トポロジ情報のエクスポート先のファイル名です。
mode パラメータの値は、トポロジ情報をファイルに組み込む方法を決定します。この値が 追加 の場合、データはファイル内容の後に追加されます。上書き の場合は、ファイルの既存情報が新規データに置き換わります。
validity パラメータの値は、データが有効な日数です。選択可能な日数は、次のとおりです。
Unlimited
7
15
30
90
以下は、デフォルトドメインが snapshotファイルに保存される例です。snapshot のオリジナル情報は、新規データによって上書きされます。新規データは無期限に有効と仮定され、システムテストグループ用のデータであることがコメントで指定されます。
> export filename=/home/examples/snapshot \ domain="Default Domain" mode=overwrite validity=Unlimited \ comment="System Test Group" |
エクスポートコマンドを起動すると、コメントの入力を求めるプロンプト (>) が表示されます。Return キーを押して改行します。Return キーを 2 回押してコメントを終了します。
> export -p domain=ALL mode=append <return> Please enter comments for the export: > Comment text line 1 <Return> > Comment text line 2 <Return> > <Return> < State = OK message = Done. > |
エクスポートコマンドの結果として、次のようなメッセージが表示されます。
export: Done.
成功しました。
説明:エクスポートに成功しました。
export: Cannot open file .
ファイルが存在しません。
説明:パラメータファイルが存在しません。
filename: ファイルの作成/書き込みエラーです。
ファイルエラー
説明:ファイルを作成できないか、開いて書き込むことができません。
エクスポート: サポートされていないファイル形式です。
フォーマットが不正です。
説明:エクスポートデータを不正なファイルの後に追加しようとしてエラーが発生しました。
エクスポート: そのようなドメインはありません。
オブジェクトエラー
説明:エクスポートするドメインが存在しません。
export: Wrong parameter file.
パラメータファイルエラー
説明:パラメータファイルは、name = 値のペアで構成されなければなりせん。ファイル形式が不正の場合、エラーメッセージが表示されて操作が停止されます。
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 (Document Type Declaration)
ヘッダ情報
データブロック
マジック情報は、ファイルが 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.0</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-30" fulldesc="wizard" hostname="wizard" ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx: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-30" fulldesc="" hostname="u30-1" ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx: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://xxx.xxx.xxx.xx: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://xxx.xxx.xxx.xx:164/mod/topology+view-102" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="Wizard" entityId="e-1" family="sun4u-Sun-Ultra-30" fulldesc="" hostname="wizard" ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="aaa" entityId="e-2" family="sun4u-Sun-Ultra-30" fulldesc="" hostname="wizard" ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx:1100/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> <ENTITY arch="SunOS 5.8" config="" desc="atom" entityId="e-3" family="sun4u-Sun-Ultra-30" fulldesc="" hostname="u30-1" ipAddr="xxx.xxx.xxx.xxx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="ahost" readInfo="" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xxx:161/sym//base/mibman/modules" type="" writeInfo="" xCoord="" yCoord="" /> </ENTITY> </ENTITY> <ENTITY arch="" config="" desc="xxx.xxx.x.x0" entityId="e-4" family="network-view" fulldesc="xxx.xxx.x.x" hostname="xxx.xxx.x.x" ipAddr="xxx.xxx.x.x isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="xxx.xxx.x.x" targetIp="xxx.xxx.x.x" targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-103" type="" writeInfo="" xCoord="38" yCoord="181"> <ENTITY arch="" config="" desc="xxx.xxx.xxx.0" entityId="e-1" family="subnetwork-view" fulldesc="xxx.xxx.xxx.0" hostname="xxx.xxx.xxx.0" ipAddr="xxx.xxx.xxx.0" isPoll="true" isSoftGroupLink="false" netMask="255.255.255.0" pollType="aview" readInfo="espublic" targetHost="xxx.xxx.xxx.0" targetIp="xxx.xxx.xxx.0" targetUrl="snmp://xxx.xxx.xxx.xx:164/mod/topology+view-104" type="" writeInfo="" xCoord="" yCoord=""> <ENTITY arch="SunOS 5.8" config="" desc="wizard" entityId="e-1" family="sun4u-Sun-Ultra-30" fulldesc="SUNW,Ultra-30" hostname="wizard" ipAddr="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.0" pollType="ahost" readInfo="public" targetHost="" targetIp="" targetUrl="snmp://xxx.xxx.xxx.xx: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="xxx.xxx.xxx.xx" 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="xxx.xxx.xxx.xx" isPoll="false" isSoftGroupLink="false" netMask="255.255.255.255" pollType="amod" readInfo="" targetHost="wizard" targetIp="xxx.xxx.xxx.xx" targetUrl="snmp://xxx.xxx.xxx.xx: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>