日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
第 3 章
ディスク構造分析ユーティリティ (ANALYZE/DISK_STRUCTURE)3.1 ANALYZE/DISK_STRUCTURE について
ディスク構造分析ユーティリティ (ANALYZE/DISK_STRUCTURE) は,次の 2 つの重要な用途に使用できます。
これら 2 つの用途について,これ以降の節で説明します。
ANALYZE/DISK_STRUCTURE は,Files-11 オン・ディスク構造 (ODS) レベル 1,2,5 の障害の原因がハードウェア・エラー,システム・エラー,ユーザ・エラーのいずれかであるのかを検出します。 紛失ファイル および削除対象ファイルを ANALYZE/DISK_STRUCTURE で確認し削除することにより,ディスク領域を再生利用できます。
ANALYZE/DISK_STRUCTURE は,ボリュームやボリューム・セットを 8 段階にわたってチェックし,エラーの報告や修正に使用する情報を収集します。ただし,/REPAIR 修飾子を指定しないかぎり,ANALYZE/DISK_STRUCTURE はボリュームを修正しません。 8 つの段階それぞれの説明と注釈付きの ANALYZE/DISK_STRUCTURE セッション例については, 付録 D を参照してください。
ANALYZE/DISK_STRUCTURE は,索引ファイルのコピーを保持し,ビットマップを格納するために,仮想メモリを割り当てます。これに応じて,OpenVMS Version 7.2 で導入されたより大きなビットマップでは,より多くの仮想メモリが必要となります。大きなビットマップがあるボリュームについて,このユーティリティを使用するには,ページ・ファイル・クォータを大きくする必要があります。 OpenVMS VAX システムの場合は,システム・パラメータの VIRTUALPAGECNT も大きくする必要があります。
ビットマップのために必要な仮想メモリ・サイズは,ビットマップのブロックごとに,VAX ページ (Alpha および Integrity では 512-byte ページレット) です。索引ファイル・ビットマップのサイズ (ブロック数) は,ファイルの最大数を 4096で割った値になる点に注意してください。 ANALYZE/DISK_STRUCTURE では,この必要条件はボリューム・セット全体に対する,次の値の合計になります。
ANALYZE/DISK_STRUCTURE/SHADOW コマンドは, /ERASE 修飾子を付けない INITIALIZE/SHADOW コマンドでシャドウ・セットが初期化された場合は特に便利です。
また,ANALYZE/DISK_STRUCTURE/SHADOW コマンドは,エラーがメンバ・デバイス上に書き込まれ,そのエラーがディスク・エラーによるものか,ディスク・コントローラやケーブルなどの他のハードウェア・コンポーネントによるものかがわからない場合にも使用できます。 ANALYZE/DISK_STRUCTURE/SHADOW コマンドを使用すると,すべてのメンバのすべてのブロックが読み込まれ,比較されます。
詳細については, 第 3.1.2 項 および /SHADOW 修飾子の説明を参照してください。
ANALYZE/DISK_STRUCTURE ユーティリティのディスク・エラーに対する動作モードには,次の 3 種類があります。
省略時の ANALYZE/DISK_STRUCTURE は,エラーを報告するだけで修正は行いません。次のコマンド例は,DBA1 デバイスのすべてのエラーを報告します。
3.1.1 ディスク・エラーの報告と修正
$ ANALYZE/DISK_STRUCTURE DBA1: |
このコマンドを実行すると,ANALYZE/DISK_STRUCTURE は 8 段階のデータ収集を行い,省略時の設定ではエラーと紛失ファイルのリストをユーザのターミナルに表示します。 ANALYZE/DISK_STRUCTURE が検出する障害の 1 つとして,無効なディレクトリ・バックリンクがあります。バックリンクとは,ファイルが常駐するディレクトリを指すポインタのことです。無効なディレクトリ・バックリンクを持つファイルがディスクに存在する場合,ANALYZE/DISK_STRUCTURE は,エラーに関するメッセージとファイル指定を次のように表示します。
%VERIFY-I-BACKLINK, incorrect directory back link [SYSEXE]SYSBOOT.EXE;1 |
検出したエラーを ANALYZE/DISK_STRUCTURE で修正するには, /REPAIR 修飾子を使用します。次のコマンド例は,DBA1 デバイスのすべてのエラーを報告し修正します。
$ ANALYZE/DISK_STRUCTURE DBA1:/REPAIR |
ANALYZE/DISK_STRUCTUREが修正するエラーを選択するには,/REPAIR と /CONFIRM 修飾子を使用します。
$ ANALYZE/DISK_STRUCTURE DBA1:/REPAIR/CONFIRM |
注意 弊社では,コマンド内ではデバイス名の後ろにコロン (:) を使用するよう推奨しています。 BITMAP.SYS ファイル内のストレージ制御ブロック (SCB) を更新するときに,ボリュームがホストベースのシャドウイングによって制御されている場合, VERIFY ユーティリティはボリュームに対してマウント・チェックを実行するように強制します。 |
このコマンドを実行すると,ANALYZE/DISK_STRUCTURE は各エラーの説明を表示し,修正するかどうかの確認を行います。上記のコマンドでは,次のようなメッセージとプロンプトが表示されます。
%VERIFY-I-BACKLINK, incorrect directory back link [SYS0]SYSMAINT.DIR;1 |
Repair this error? (Y or N): Y |
%VERIFY-I-BACKLINK, incorrect directory back link [SYSEXE]SYSBOOT.EXE;1] |
Repair this error? (Y or N): N |
ANALYZE/DISK_STRUCTURE は,ボリュームごとに 2 回実行するのがよいでしょう。まず,エラーの報告を行って,どのように処置すべきかを判断します。次に,もう一度ユーティリティを起動し, /REPAIR 修飾子を指定してすべてのエラーを修正したり,または /REPAIR と /CONFIRM の 2 つの修飾子を使用して特定のエラーだけを修正したりします。
メッセージの説明については,オンラインのヘルプ・メッセージ (MSGHLP) ・ユーティリティを利用するか,または OpenVMS のシステム・メッセージに関するマニュアルをご覽ください。
紛失ファイルとは,ディレクトリにリンクされていないファイルのことです。 通常の状況では,ファイルは紛失しません。ただし,ディスクの破損,ハードウェアの障害,ユーザの操作ミスなどがあると,紛失することがあります。たとえば,ファイルやディレクトリを整理しているときに,まだファイルを指しているディレクトリを誤って削除してしまう場合があります。ディレクトリ・ファイル (ファイル・タイプ DIR のファイル) を,その下位のファイルを削除しないまま削除すると,このディレクトリが参照するファイルは紛失ファイルとなります。ファイルは,紛失状態となっても,依然としてディスク上に存在し,空間を浪費します。
/REPAIR 修飾子を指定して ANALYZE/DISK_STRUCTURE を実行すると, 紛失ファイルは SYSLOST.DIR に格納されます。
次のコマンド例は,DDA0 デバイスに存在するエラーと紛失ファイルを報告し,修正します。
$ ANALYZE/DISK_STRUCTURE/REPAIR/CONFIRM DDA0: |
ディスクに紛失ファイルが存在する場合,ANALYZE/DISK_STRUCTURE は,次のようなメッセージを出力します。
%VERIFY-W-LOSTHEADER, file (16,1,1) []X.X;1 not found in a directory %VERIFY-W-LOSTHEADER, file (17,1,1) []Y.Y;1 not found in a directory %VERIFY-W-LOSTHEADER, file (18,1,1) []Z.Z;1 not found in a directory %VERIFY-W-LOSTHEADER, file (19,1,1) []X.X;2 not found in a directory %VERIFY-W-LOSTHEADER, file (20,1,1) []Y.Y;2 not found in a directory %VERIFY-W-LOSTHEADER, file (21,1,1) []Z.;1 not found in a directory %VERIFY-W-LOSTHEADER, file (22,1,1) []Z.;2 not found in a directory %VERIFY-W-LOSTHEADER, file (23,1,1) LOGIN.COM;163 not found in a directory %VERIFY-W-LOSTHEADER, file (24,1,1) MANYACL.COM;1 not found in a directory |
これらの紛失ファイルは,自動的に,SYSLOST.DIR に移動されます。
ボリュームの初期化を行うとき,初期化操作は古いホーム・ブロックを消去しないことがあります。これらのブロックは,以前の初期化操作で作成されたブロックです。古いホーム・ブロックを持つボリュームが破損している場合,これらのブロックを消去しないとボリュームの回復ができないことがあります。
次のように,ANALYZE/DISK_STRUCTURE コマンドで /HOMEBLOCKS 修飾子を使用すれば,古いホーム・ブロックを手動で消去することができます。
$ ANALYZE/DISK_STRUCTURE/REPAIR/HOMEBLOCKS |
この操作は完了までに 30 分ほどかかります。
省略時の ANALYZE/DISK_STRUCTURE ユーティリティは,ユーザのターミナルに実行結果を出力します。/LIST 修飾子を使用すれば,ディスク上の各ファイルに関する次の情報を,新しいファイルに格納できます。
ディスク使用量会計ファイルを作成するには,/USAGE 修飾子を使用します。 ファイルの最初のレコードは識別レコードと呼ばれ,ディスクとボリュームの特性の要約を格納するところです。識別レコードの後に,一連の要約レコードが続きます。要約レコードは,ディスク上のファイルごとに 1 つ作成されます。要約レコードは,ファイルの所有者,サイズ,名前を格納するところです。
ディスク使用量会計ファイルの詳細については,
付録 E を参照してください。
ANALYZE/DISK_STRUCTURE/SHADOW コマンドを入力すると,ディスク内のすべてのブロックが同一であるかどうかという,シャドウ・セットの差異がチェックされます。
差異とは,すべてのメンバ上で同一であるべきなのにそうではないブロックのことです。たとえば,WRITE コマンドを入力したとき, ANALYZE/DISK/SHADOW が処理する時点で,すべてのメンバに書き込みが実行されていない可能性があります。
差異が見つかった場合,シャドウ・セットにクラスタ・ワイド WRITE ロックが設定され,問題のブロックが再度読み込まれます。その後,次の 2 つの処理のいずれかが行われます。
また,以下のいずれかの場合には,このユーティリティでは,シャドウ・セット・メンバ間の明らかな相違点が報告されることがあります。
フルマージを行うことで不整合をなくすことができます。フルマージを実行するには, DCL コマンド SET SHADOW/DEMAND_MERGE DSAxxx を入力します。コントローラベースのミニマージをサポートしているコントローラ (HSJ50 など) でデバイスが制御されている場合は,クラスタ内の 1 台のノードだけにシャドウ・セットがマウントされている状態でこのコマンドを実行します。そうしないと,ミニマージが発生し,相違点が解消できない場合があります。メンバが 1 つしかないシャドウ・セットにメンバを追加する場合は,フルコピー操作によって,ディスクがファイル・システムの内部と外部の両方で一貫していることも保証されます。
3.1.2 シャドウ・セット・エラーの検出
これは,ディスクの破壊ではない点に注意してください。差分として出力されたブロックは書き込みが行われておらず,古いデータが格納されている可能性があります。不整合があると報告されたブロックは,ファイルに割り当てられている可能性もあります。これは,ファイルのデータ終了位置と割り当て済み領域の最後との間に,書き込まれていない領域が存在する可能性があるためです。
$1$DGA20: (18 GB)
$1$DGA21: (36 GB)
問題の領域はまだアプリケーションによって書き込まれていないため, ANALYZE/DISK/SHADOW によって報告される相違点は無視してかまいません。
3.2 ANALYZE/DISK_STRUCTURE 使用法の要約
ANALYZE/DISK_STRUCTURE ユーティリティは, Files--11 構造レベル 1,2,5 のディスク・ボリュームの可読性と有効性をチェックし,エラーや非整合性について報告します。ユーティリティを 1 度呼び出して省略時の動作を行うだけで,ほとんどの種類のエラーを検出できます。
形式
ANALYZE/DISK_STRUCTURE デバイス名:[/修飾子]
パラメータ
使用法の要約起動コマンドは,次のとおりです。
デバイス名
チェックする対象のディスク・ボリュームまたはボリューム・セットを指定します。ボリューム・セットを指定する場合,ボリューム・セット内のすべてのボリュームが Files-11 ボリュームとしてマウントされていなければなりません。 MOUNT ユーティリティについては,本書の MOUNT についての記述を参照してください。
ANALYZE/DISK_STRUCTURE デバイス名: /修飾子 |
ANALYZE/DISK_STRUCTURE ユーティリティの実行中に Ctrl/C または Ctrl/Y を押すと,ANALYZE/DISK_STRUCTURE セッションが終了します。DCL の CONTINUE コマンドでセッションを再開することはできません。
省略時の設定では,ANALYZE/DISK_STRUCTURE は,ユーザのターミナルに実行結果を出力します。出力先をファイルに変更するには,/USAGE または /LIST の修飾子を使用します。
ディスクを効率よく修正するには,ディスク上のすべてのファイルに対して,読み込みアクセス権,書き込みアクセス権,削除アクセス権が必要です。ディスクを効率よくスキャンする (/NOREPAIR) には,ディスク上のすべてのファイルに対して,読み込みアクセス権が必要です。また,INDEXF.SYS ファイルに対するキャッシュの強制フラッシュを行うために, INDEXF.SYS への書き込みアクセス権も必要です。さらに,ファイルに対するキャッシュの強制フラッシュを行うという同様の理由で,BITMAP.SYS への書き込みアクセス権も必要です (ボリュームがディスク・クォータを設定している場合にかぎり, QUOTA.SYS への書き込みアクセス権が必要です)。
ファイル・アクセスの詳細については,『OpenVMS システム・セキュリティ・ガイド』を参照してください。
警告 /REPAIR 修飾子または /LOCK_VOLUME 修飾子を使用しているときには, ANALYZE/DISK_STRUCTURE ユーティリティを実行しているプロセス だけ がファイル・システムにアクセスすることができます。そのため,ANALYZE/DISK_STRUCTURE の実行中は, SYSUAF,RIGHTSLIST,ログ・ファイル,および特に AUDIT_SERVER ジャーナル・ファイル,対象デバイスにあるログファイルがストールします。 ストールする操作には,OPEN,CREATE,CLOSE,ファイルの EXTEND,および TRUNCATE があります。ストールは,クラスタ内のボリュームがマウントされているすべてのノードで発生します。 |
/REPAIR を指定すると,ACP 制御ロック・ボリューム機能が使用され,ボリュームの再構築中は作成,削除,拡張,切り捨て動作が行われなくなります。これにより,処理の実行中にボリュームが変更されるのを防ぐことができます。
/NOREPAIR を指定すると, ANALYZE/DISK_STRUCTURE はボリュームをロックせず,ディスクへの書き込みも行いません。ただし, ANALYZE/DISK_STRUCTURE の実行中に他のユーザがファイル操作を行うと,ファイルが破損されたことを示すエラー・メッセージが誤って出力されることがあります。このような状況が発生しないようにするため, ANALYZE/DISK_STRUCTURE を実行するのは,ディスクが静止状態のときにしてください。
目次 | 索引 |
|