snap コマンド
目的
システム構成情報を収集します。
構文
snap [-@] [ -a ] [-z "product_name=prd_name,..." | "class=myclass,.." | ALL] [-M Timeout][ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -D ] [ -f ] [ -F] [ -g ] [ -G ] [ -i ] [ -k ] [ -l ] [ -L ][ -n ] [ -N ] [ -p ] [ -r ] [ -R ] [ -s ] [ -S ] [ -t ] [ -T Filename ][-u user1,...] [ -w ] [ -X ] [ -Y ][ -o OutputDevice ] [ -d Dir ] [ -v Component ] [ -O FileSplitSize ] [ -P Files ] [ script1 script2 ... | All | file:filepath ] [-U]
snap -e [ -m Nodelist ] [ -d Dir ]
snap -z ADD ["product_name=prod_name" "class=myclass" "command_path=/tmp/myprod_myscript -a"]
snap -z DELETE ["product_name=prod_name" ]
説明
圧縮されたイメージをディスケットにコピーするには、snap -o /dev/rfd0 コマンドを使用してください。 イメージをテープにコピーするには、snap -o /dev/rmt0 コマンドを使用してください。
- 8 mm、2.3 GB の容量
- 8 mm、5.0 GB の容量
- 4 mm、4.0 GB の容量
その他のフォーマットを使用すると、IBM ソフトウェア・サポートによる内容の検査ができなくなったり、遅れたりします。
snap -g コマンドは、以下の情報を含む一般システム情報を収集します。
- エラー報告
- カスタマイズされたオブジェクト・データ・マネージャー (ODM) データベースのコピー
- トレース・ファイル
- ユーザー環境
- 物理メモリーおよびページング・スペースの量
- デバイスおよび属性情報
- セキュリティー・ユーザー情報
- システムの構成およびチューニング・パラメーター情報
snap -g コマンドの出力は、/tmp/ibmsupt/general/general.snap ファイルに書き込まれます。
snap コマンドは、 snap コマンドの出力用のデフォルト・ディレクトリーである /tmp/ibmsupt ディレクトリー内で使用可能なスペースを検査します。 -d フラグを使用して、出力を別のディレクトリーに書き込むことができます。 snap コマンドの出力を入れる十分なスペースがない場合は、ファイルシステムを拡張しなければなりません。
snap コマンドを実行するたびに、情報が以前作成されたファイルに追加されます。 それまでに集めて保管されている情報を除去するには、-r フラグを使用してください。
フラグ
項目 | 説明 |
---|---|
-@ | ワークロード区画情報を集めます。 |
-a | HACMP 特定のデータを除き、すべてのシステム構成情報を収集します。
HACMP 特定のデータを収集するには、 snap -e オプションを実行します。
外部製品用の登録済みデバッグ・データ・スクリプトの収集が実行され、それらのデータはシステム構成の一部としても組み込まれます。-z フラグを用いてそれらの名前を指定して、選択された製品に対して収集を制限することができます。 -a オプションには、少なくとも 8 MB の一時ディスク・スペースが必要です。 |
-A | 非同期 (TTY) 情報を集めます。 |
-b | SSA 情報を集めます。 |
-B | SSA アダプター・ダンプのコレクションをバイパスします。 -b フラグも指定されている場合は、-B フラグのみが働きます。 それ以外の場合は、-B フラグは無視されます。 |
-c | /tmp/ibmsupt ディレクトリー・ツリーまたは -d フラグで指定された他のユーザー定義ディレクトリー内の snap の既知のコンポーネント・サブディレクトリーの圧縮 pax イメージ (snap.pax.Z ファイル) を作成します。 注: このオプションで収集されなかった情報は、-c フラグを使用する前に snap ディレクトリー・ツリーにコピーする必要があります。システムの問題を明示するためのテスト・ケースが必要な場合は、
pax ファイルを圧縮する前に、
そのテスト・ケースを /tmp/ibmsupt/testcase ディレクトリーにコピーしてください。
ユーザーによって定義されたディレクトリーはすべて、/tmp/ibmsupt/other ディレクトリーに保存し、snap コマンドで圧縮する必要があります。
|
-C | fwdump_dir ディレクトリー内のすべてのファイルを取り出します。 ファイルは「general」サブディレクトリーに置かれます。 -C snap オプションの動作は、-P* と同じです。 |
-D | ダンプおよび /unix 情報を集めます。
1 次ダンプ・デバイスが使用されます。
注:
|
-d AbsolutePath | オプションの snap コマンド出力ディレクトリーを識別します (/tmp/ibmsupt がデフォルトです)。 絶対パスを指定する必要があります。 |
-e | HACMP 情報を集めます。
注: HACMP
に固有のデータは、クラスターに属するすべてのノードから収集されます。
このフラグは、-m と -d
を除く他のフラグとは併用できません。
|
-f | ファイルシステム情報を集めます。 |
-F | フラッシュ・アダプター情報を集めます。 |
-g | lslpp -hac コマンドの出力を集めます。これは、実際のオペレーティング・システム環境を再作成するために必要です。 出力を /tmp/ibmsupt/general/lslpp.hac ファイルに書き込みます。 また、一般的なシステム情報も収集して、その出力を /tmp/ibmsupt/general/general.snap ファイルに書き込みます。 |
-G | 事前に定義されたオブジェクト・データ・マネージャー (ODM) ファイルを、 -g フラグを指定して収集した一般的な情報に含めます。 |
-i | インストールのデバッグ重要プロダクト・データ (VPD) 情報を集めます。 |
-k | カーネル情報を集めます。 |
-l | プログラム言語情報を集めます。 |
-L | LVM 情報を集めます。 |
-m Nodelist | HACMP 情報を収集するためのノード名をリストします (コンマで区切られる)。
注: 現在このフラグは、-e フラグ付きの場合のみ有効です。
|
-M Timeout | スナップ・フレームワークが 1 つの登録済み外部製品デバッグ・データ・コマンドを強制終了するまで待つ、最大タイムアウト値を秒数で指定します。デフォルトのタイムアウト値は 300 秒です。 |
-n | ネットワーク・ファイルシステム (NFS) 情報を集めます。 |
-N | 必要とされるフリー・スペースのチェックを抑止します。 |
-o OutputDevice | 圧縮されたイメージを指定されたデバイスにコピーします。 |
-O FileSplitSize | snap 出力ファイルを小さいファイルに分割できるようにするために使用します。それらのファイルのサイズは、-O オプションのパラメーターとして指定します。単位はメガバイトです。このフラグは、-c フラグを指定した場合にのみ使用できます。 |
-p | プリンター情報を集めます。 |
-P Files | 指定された Files を fwdump_dir ディレクトリーから検索します。-P * を指定した場合は、ディレクトリー内のすべてのファイルが収集されます。ファイルは general サブディレクトリーに置かれます。 -C snap オプションの動作は、 -P* と同じです。 |
-r | snap コマンドの出力を /tmp/ibmsupt ディレクトリーから除去します。 |
-R | SCSI RAID 情報を集めます。 |
-s | システム・ネットワーク体系 (SNA) 情報を集めます。 |
-S | セキュリティー・ファイルを、-g フラグを指定して収集した一般的な情報に含めます。 |
-t | 伝送制御プロトコル情報を集めます。 |
-T Filename | 複数 CPU トレースのログ・ファイルをすべて集めます。 基本ファイル trcfile だけは、-g フラグで取り込まれます。 |
-u user1,user2... | シェルおよび System Management Interface Tool (SMIT) ヒストリーの収集対象となるユーザー名をコンマで区切って指定します。 |
-v Component | snap コマンドにより実行されたコマンドの出力を表示します。
指定した名前のファイルまたはファイル・グループを表示するために、このフラグを使用してください。
注: snap コマンドを中断するには、Ctrl-C キー・シーケンスを押してください。次のようなオプションでプロンプトが戻されます。
現在の操作に戻るには Enter キーを押してください。
現在の操作を終了するには S キーを押してください。
snap コマンドを完全に終了するには Q キーを押してください。
|
-w | WLM 情報を集めます。 |
-X | X.25 (パケット・ベースの通信プロトコル) 情報を収集します。 |
-Y | InfiniBand 情報を集め、/tmp/ibmsupt/IB ディレクトリーに保存します。 |
-z | 外部製品のデバッグ・データ収集を促進します。
製品名が product_name 属性に対するパラメーターとして指定されると、登録済みデバッグ・データ収集コマンドが実行されます。複数の製品のデータを収集するには、必要な製品名を product_name 属性に指定します。 クラス名が class 属性に対するパラメーターとして指定されると、そのクラスのすべての製品の登録済みデバッグ・コマンドが実行されます。 複数のクラスのデータを収集するには、必要なクラス名を class 属性に指定します。 ALL がパラメーターとして指定されると、すべてのクラスのすべての製品の登録済みデバッグ・データ収集コマンドが実行されます。 いずれかのスクリプトが実行されると、システムは、SNAPDEBUGDATA 環境変数によって指し示されたリストに製品名を追加します。 |
-U | ライブ・カーネル更新情報を収集し、それを /tmp/ibmsupt/liveupdate ディレクトリーに保存します。 |
パラメーター
引数
実行されるサード・パーティー・スクリプトの名前は、snap のパラメーターとして指定します。パラメーターは、単一のワードの場合と、引用符で囲んだワードのリストの場合があります。パラメーターを引用符で囲んだ場合、リスト内の最初のパラメーターはスクリプトの名前を表し、後続のワードはスクリプトに渡される引数を表します。
All をパラメーターとして指定すると、スクリプト・リポジトリー内のすべてのスクリプトが実行されます。この場合は、スクリプト・パラメーターが渡されない場合があります。
file: キーワードを使用し、そのすぐ後にファイルへのパスを指定した場合は、実行するスクリプトを取得するためにそのファイルが読み取られます。ファイルの各行は、スクリプトと、そのスクリプトに対するオプション・パラメーターを表します。
snap スクリプト
サード・パーティー・スクリプトは、/usr/lib/ras/snapscripts で実行可能でなければなりません。また、下記のガイドラインに従わなければなりません。パス 1 の間に呼び出されると、スクリプトはそのサイズの推定量を snap に戻す必要があります。 パス 2 では、データを収集し、それを snap の指定に従って保管します。
スクリプトは、環境変数 SNAPDIR、PASSNO、SCRIPTSIZE、および SCRIPTLOG を読み取って使用する必要があります。
スクリプトまたはコマンドは、SNAPDEBUGDATA 変数を使用して、スナップ・スクリプトによって収集されたデバッグ・データを認識することもできます。この変数は、snap コマンドの実行時のデータ収集に使用する製品のコンマで区切られた名前を含みます。
出力ファイルはすべて $SNAPDIR に書き込む必要があります。これはスクリプトがその出力を保管するディレクトリーです。PASSNO 変数には、スクリプトが呼び出される際の snap フェーズが含まれています。 最初のパスのときに、スクリプトは 2 度目のパスの間に書き込むデータの推定サイズを計算します。次に、スクリプトは、$SCRIPTSIZE が指すファイルにその推定数値を書き込みます。ファイルに 保存される値は 10 進数でなければなりません。snap は、スクリプトのすべてのデバッグ・データが 保存されるべきログ・ファイルにパスを渡します。 snap は、標準出力と標準エラーを $SNAPDIR/ScriptName .out と $SNAPDIR/ScriptName .err にそれぞれ保存するため、スクリプトで標準出力と標準エラーをリダイレクトすることはできません。
#!/usr/bin/ksh
if [ "$PASSNO" = 1 ]
then
(( size=99999 ))
....
# this is where code to do the size estimation should go.
....
echo $size > $SCRIPTSIZE
else if [ "$PASSNO" = 2 ]
then
# debug information should go to $SCRIPTLOG
echo "Debug Data" >> $SCRIPTLOG
# .....where the work to collect the data takes place
# ...
# The data collected should be written to $SNAPDIR .
touch $SNAPDIR/foo_output1
touch $SNAPDIR/foo_output2
fi
fi
- -a フラグを指定して実行する場合: svCollect、client_collect、lsvirt
- -g フラグを指定して実行する場合: svCollect、client_collect
snap 出力の分割
snap 出力は、分割された場合、例えば以下のようになります。
% ls -l
total 112048
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaa
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xab
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xac
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xad
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xae
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaf
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xag
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xah
-rw-r--r-- 1 lmic adm 6291456 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xai
-rw-r--r-- 1 lmic adm 744518 Nov 26 09:56 snap.hastings.112603095649.pax.Z.xaj
サード・パーティー・スクリプトの実行
外部製品のデバッグ・データ収集のコマンドまたはスクリプトは、スタンドアロン実行可能プログラムです。このスクリプトは、ユーザー定義のデバッグ・データの収集に使用できるようにするために、スナップ・フレームワークに登録されます。これらのスクリプトは、ユーザーの自由裁量により登録を解除することができます。
システムで定義されている ODM クラスを以下に示します。
#define DEFAULTSIZE 256
#define DATA_VALUESIZE 1024
class snap_config {
char product_name[DEFAULTSIZE]; key
char class[DEFAULTSIZE];key
char command_path[DATA_VALUESIZE];
vchar sc_reserved1[DATA_VALUESIZE];
vchar sc_reserved2[DATA_VALUESIZE];
}
- product_name
- 製品の名前を指定します。この同じ名前は、製品のデバッグ・データ収集スクリプトの登録解除に使用されます。
- class
- クラスは、ストレージ、ネットワーク、またはデータベースとすることができます。製品を基にして適切なクラスを選択するか、またはユーザー独自のクラスを定義することができます。クラスは、製品の種別に役立ちます。ユーザーは、snap ドキュメンテーションで他の任意のクラスを追加するために IBM サービス担当員に問い合わせることができます。
- command_path
- コマンドまたは実行可能プログラムならびにそのオプションのパス。sc_reserved1 および sc_reserved2 が予約済みです。
サード・パーティー・デバッグ・スクリプトのスナップ・フレームワークへの登録
- エントリーを追加するために odmadd コマンドを明示的に実行することができます。
このような場合:
- スクリプトまたは実行可能プログラムを /usr/lib/ras/snapscript/bin/<productname> ディレクトリーにコピーする必要があります。
考慮点:- odmadd コマンドを実行する前に次のコマンドを入力する必要があります。
export ODMDIR=/usr/lib/objrepos
- odmadd コマンドの完了後に、ODMDIR コマンドの以前の値をリストアすることができます。
- snap コマンドを引き続き実行できます。例えば、myfile の内容を以下に示します。
product_name=myprod class=myclass command_path=/usr/lib/ras/snapscripts/bin/prod_name/myscript1.sh -t 10 export ODMDIR=/usr/lib/objrepos odmadd myfile
注: ODM への直接エントリーを行うユーザーは、重複エントリーを引き受ける必要があります。これは、snap コマンドが特定の製品名に対して処理するエントリーは 1 つだけであるためです。そのため、odmdelete コマンドは、odmadd コマンドの呼び出し前に実行する必要があります。 - ADD キーワードは、-z フラグと一緒に使用します。
- 1. デバッグ・バイナリーを変更または更新する場合、ユーザーは、最新のバイナリーでスナップ・リポジトリーを更新するためにコンポーネントを再登録する必要があります。
- 2. command_path 変数の一部として複数のコマンドを組み合わせることはサポートされません。例えば、次の形式はサポートされません。
command_path=<path>/ls|<path>/grep myfile
- 3. 特殊文字 ('、<、| など) は、command_path 変数に対する値としてサポートされません。
サード・パーティー・デバッグ・スクリプトのスナップ・フレームワークからの登録解除
- odmdelete コマンドを使用して、製品の登録を解除します。例えば、次の例では、
export ODMDIR=/usr/lib/objrepos odmdelete -o snap_config -q product_name=productname
- DELETE キーワードは、-z フラグと一緒に使用します。例えば、次の例では、
Snap –z DELETE product_name=productname
例
- システム構成情報をすべて収集するには、次のコマンドを入力します。
このコマンドの出力は、/tmp/ibmsupt ディレクトリーに書き込まれます。snap -a
- /tmp/ibmsupt ディレクトリーに入っているすべてのファイルの pax イメージを作成するには、次のコマンドを入力します。
snap -c
- lslpp -hac コマンドの出力を含む一般的なシステム構成情報を収集するには、次のコマンドを入力します。
出力は、/tmp/ibmsupt/general/lslpp.hac および /tmp/ibmsupt/general/general.snap ファイルに書き込まれます。 また、このコマンドは、システム情報を取り外し可能ディスケットにも書き込みます。snap -g -o /dev/rfd0
- 1 つのクラスターに属するノード
node1
およびnode2
から HACMP 固有の情報を集めるには、以下のコマンドを入力します。
出力は /tmp/ibmsupt/hacmp ディレクトリーに書き込まれます。snap -e -m node1,node2
- スクリプト foo1、foo2、および foo3 があって、foo1 は引数をとらず、foo2 は 3 つの引数をとり、foo3 は 1 つの引数を取るとき、これらのスクリプトを実行するには、次のように入力します。
宛先ディレクトリーがデフォルトの /tmp/ibmsupt であるとすると、出力は、/tmp/ibmsupt/snapscripts/foo1、/tmp/ibmsupt/snapscripts/foo2 および /tmp/ibmsupt/snapscripts/foo3 に書き込まれます。snap foo1 "foo2 -x -y 3" "foo3 6"
- All パラメーターを指定して、すべてのスクリプトを実行するには、次のように入力します。
snap All
注: この場合、パラメーターは渡されません。 - 実行するスクリプトの名前とオプション・パラメーター・リストが入っているファイルへのパスを指定するには、次のように入力します。
例 5 からスクリプトを実行するサンプル入力ファイルは、以下のとおりです。snap file:/tmp/scriptnames
foo1 foo2 -x -y 3 foo6
- snap 出力を 4MB ファイルに分割することが望まれる場合は、以下のように入力します。
snap -a -c -O 4
- HACMP snap -e データのみをノード
node1
とnode2
から実行依頼するには、次のコマンドを入力します。snap -e -m node1,node2 snap -c
サービス担当員の指示に従って、<pax.z> ファイルを IBM に実行依頼します。
- すべての snap データをノード
node1
とnode2
から実行依頼するには、以下のコマンドを入力します。snap -e -m node1,node2 snap -a snap -c
サービス担当員の指示に従って、<pax.z> ファイルを IBM に実行依頼します。
- クラス storage の製品 abc の /usr/lpp/abc/debug_abc ディレクトリーにあるデバッグ・スクリプトを登録するには、次のコマンドを入力します。
snap –z ADD "product_name=abc" "class=storage" "command_path=/usr/lpp/abc/debug_abc –a"
- 製品 abc のデバッグ・スクリプトの登録を解除するには、次のコマンドを入力します。
snap –z DELETE "product_name=abc"
- 複数の製品のデバッグ・データを収集するには、次のコマンドを入力します。
snap –z "product_name=abc, product_name=def"
ファイル
項目 | 説明 |
---|---|
/usr/sbin/snap | snap コマンドが入っています。 |
/tmp/ibmsupt | snap コマンドの出力が入っています。 |
/tmp/ibmsupt/general/lslpp.hac | lslpp -hac コマンドの出力が入っています。 これは、実際のオペレーティング・システム環境を再作成するために必要です。 |
/tmp/ibmsupt/general/general.snap | snap -g コマンドで収集された一般的なシステム情報が入っています。 |
/tmp/ibmsupt/testcase | ユーザーのシステムの問題を明示するテスト・ケースが入っています。 |
/tmp/ibmsupt/other | ユーザー定義のディレクトリーが含まれます。 |