snap コマンド
目的
システム構成情報を収集します。
構文
snap [-@] [-a ][-z "製品名=prd_name,..." | "class=myclass,..."|ALL][-M タイムアウト][-A ] [-b ] [-B] [-c ] [-C] [ -D ] [-f ] [-F] [-g ] [-G ] [-i] [-k ] [-l ] [-L ][-n ] [-N ] [-p ] [-r ] [-R ] [ -s ] [-S] [-t ] [-T ファイル名][-u user1,....] [-w ] [-X] [-Y][-o OutputDevice] [-d Dir] [-v Component] [ '-O FileSplitSize] [-P Files] [script1 script2... | All | file:filepath][-U]
スナップ -e [ -m Nodelist ] [-d ディレクトリー ]
snap -z ADD["product_name=prod_name" "class=myclass" "/tmp/myprod_myscript -a"]
スナップ -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フラグで指定されたその他のユーザー定義ディレクトリにある、スナップ既知のコンポーネントサブディレクトリの圧縮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 ノデリスト | HACMP 情報を収集するためのノード名リスト (コンマ区切り)。 注: 現在、このフラグは -e フラグと一緒の場合にのみ有効です。
|
| -M タイムアウト | スナップ・フレームワークが 1 つの登録済み外部製品デバッグ・データ・コマンドを強制終了するまで待つ、最大タイムアウト値を秒数で指定します。 デフォルトのタイムアウト値は 300 秒です。 |
| -n | ネットワーク・ファイルシステム (NFS) 情報を集めます。 |
| -N | 必要とされるフリー・スペースのチェックを抑止します。 |
| -o OutputDevice | 圧縮されたイメージを指定されたデバイスにコピーします。 |
| -O FileSplitSize | snap 出力ファイルをより小さいファイルに分割できるようにするために使用します。 これらのファイルのサイズは、 -O オプションに対するパラメーターとして指定され、メガバイト単位で指定する必要があります。 このフラグは、 -c フラグが指定されている場合にのみ使用できます。 |
| -p | プリンター情報を集めます。 |
| -P ファイル | 指定された Files を fwdump_dir ディレクトリーから検索します。 -P * を指定した場合は、ディレクトリー内のすべてのファイルが収集されます。 ファイルは general サブディレクトリーに置かれます。 -C snap オプションは、 -P*と同じように動作します。 |
| -r | snap コマンドの出力を /tmp/ibmsupt ディレクトリーから除去します。 |
| -R | SCSI RAID 情報を集めます。 |
| -s | システム・ネットワーク体系 (SNA) 情報を集めます。 |
| -S | セキュリティー・ファイルを、-g フラグを指定して収集した一般的な情報に含めます。 |
| -t | 伝送制御プロトコル情報を集めます。 |
| -T ファイル名 | 複数 CPU トレースのログ・ファイルをすべて集めます。 基本ファイル trcfile だけは、-g フラグで取り込まれます。 |
| -u user1,user2... | シェルおよび System Management Interface Tool (SMIT) ヒストリーの収集対象となるユーザー名をコンマで区切って指定します。 |
| -v コンポーネント | snap コマンドにより実行されたコマンドの出力を表示します。 指定した名前のファイルまたはファイル・グループを表示するために、このフラグを使用してください。 注: Ctrl-C キー・シーケンスを押して、 snap コマンドに割り込みます。 次のようなオプションでプロンプトが戻されます。
現在の操作に戻るには 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/'スクリプト名'.アウトと$SNAPDIR/'スクリプト名'.エラー'に保存するからである。
#!/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
- 製品の名前を指定します。 この同じ名前は、製品のデバッグ・データ収集スクリプトの登録解除に使用されます。
- クラス
- クラスは、ストレージ、ネットワーク、またはデータベースとすることができます。 製品を基にして適切なクラスを選択するか、またはユーザー独自のクラスを定義することができます。 クラスは、製品の種別に役立ちます。 スナップ・ドキュメントにあるその他のクラスを追加する場合は、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 - 以下のコマンドを入力して、単一クラスターに属するノード
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/scriptnamesfoo1 foo2 -x -y 3 foo6 - snap 出力を 4MB ファイルに分割する必要がある場合は、次のように入力します。
snap -a -c -O 4 - ノード
node1およびnode2から HACMP snap -e データのみを実行依頼するには、次のコマンドを入力します。snap -e -m node1,node2 snap -cサービス担当者の指示に従って、<paxpax.zファイルをIBMに提出してください。
- ノード
node1およびnode2からすべての snap データを実行依頼するには、以下のコマンドを入力します。snap -e -m node1,node2 snap -a snap -cサービス担当者の指示に従って、<paxpax.zファイルをIBMに提出してください。
- 製品 abcの /usr/lpp/abc/debug_abc ディレクトリーにあるデバッグ・スクリプトをクラス storage に登録するには、次のコマンドを入力します。
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 | ユーザー定義のディレクトリーが含まれます。 |