[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

3 ディスク構造分析ユーティリティ(ANALYZE/DISK_STRUCTURE)

3.1 ANALYZE/DISK_STRUCTUREについて

ディスク構造分析ユーティリティ(ANALYZE/DISK_STRUCTURE)を定期的に使用すれば, ディスクの整合性とエラーの有無のチェックや紛失ファイルの回復が行えます。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 512-byteページレット)です。索引ファイル・ ビットマップのサイズ(ブロック数)は,ファイルの最大数を4096 で割った値になる点に注意してください。ANALYZE/DISK_STRUCTUREでは, この必要条件はボリューム・セット全体に対する,次の値の合計になります。

3.1.1 エラーの報告と修正

ANALYZE/DISK_STRUCTUREユーティリティの動作モードには,次の3種類があります。

省略時のANALYZE/DISK_STRUCTUREは,エラーを報告するだけで修正は行いません。 次のコマンド例は,DBA1装置のすべてのエラーを報告します。

     $ 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

このコマンドを実行すると,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分ほどかかります。

3.1.2 ANALYZE/DISK_STRUCTUREの出力

省略時のANALYZE/DISK_STRUCTUREユーティリティは,ユーザのターミナルに実行結果を出力します。/LIST 修飾子を使用すれば,ディスク上の各ファイルに関する次の情報を, 新しいファイルに格納できます。

ディスク使用量会計ファイルを作成するには,/USAGE修飾子を使用します。 ファイルの最初のレコードは識別レコードと呼ばれ,ディスクとボリュームの特性の要約を格納するところです。 識別レコードの後に,一連の要約レコードが続きます。 要約レコードは,ディスク上のファイルごとに1 つ作成されます。要約レコードは,ファイルの所有者,サイズ,名前を格納するところです。

ディスク使用量会計ファイルの詳細については,付録 E を参照してください。

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)には,ディスク上のすべてのファイルに対して, 読み込みアクセス権が必要です。

ファイル・アクセスの詳細については,『OpenVMS Guide to System Security』を参照してください。

複数ファイル操作で同時に使用されているディスクでも,ANALYZE/DISK_ STRUCTUREは問題なく使用できます。/REPAIRを指定すると,ANALYZE /DISK_STRUCTUREはボリュームをロックしてから作業を始めるので,ボリュームが変更されることはありません。 他のユーザは,ファイルの作成, 削除,拡張,切り詰めを行えないので,修正作業が妨害されることがなく, ボリュームの整合性を保持できます。

/NOREPAIRを指定すると,ANALYZE/DISK_STRUCTUREはボリュームをロックせず, ディスクへの書き込みも行いません。ただし,ANALYZE/DISK_ STRUCTUREの実行中に他のユーザがファイル操作を行うと,ファイルが破損されたことを示すエラー・ メッセージが誤って出力されることがあります。 このような状況が発生しないようにするため,ANALYZE/DISK_ STRUCTUREを実行するのは,ディスクが静止状態のときにしてください。

3.3 ANALYZE/DISK_STRUCTUREの修飾子

この項では,ANALYZE/DISK_STRUCTUREの修飾子について,例を挙げて説明します。 次の表は,修飾子の一覧です。

修飾子 説明
/CONFIRM 修正ごとに確認のプロンプトを出力するかどうかを指定する。
/HOMEBLOCKS 初期化されたボリューム上の破損したホーム・ブロックを消去する。
/LIST[=ファイル指定] 索引ファイルのリストを出力するかどうかを指定する。
/OUTPUT[=ファイル指定] ディスク構造エラーを書き込む出力ファイルを指定する。
/READ_CHECK 指定したディスク上の割り当て済みのすべてのブロックについて, 読み込みチェックを行うかどうかを指定する。
/RECORD_ATTRIBUTES 関連するファイル属性ブロック(FAT)のレコード属性セクションに誤った設定が登録されているファイルを修復するかどうかを指定する。
/REPAIR 指定した装置のファイル構造に存在するエラーを修正するかどうかを指定する。
/STATISTICS ボリュームについての修正時の静的情報を収集してファイルを作成する。 作成するファイルのファイル名は,STATS.DATで,各ボリュームごとの静的情報を含む。
/USAGE[=ファイル指定] ディスク使用量会計ファイルも出力するかどうかを指定する。

/CONFIRM

修正作業で確認プロンプトを出力するかどうかを指定します。YまたはYES と答えると,修正が行われます。その他の場合,修正は行われません。

形式

    /CONFIRM

    /NOCONFIRM

説明

/CONFIRM修飾子を使用する場合は,/REPAIR修飾子も指定する必要があります。 省略時の設定は,/NOCONFIRMです。

    $ ANALYZE/DISK_STRUCTURE DBA0:/REPAIR/CONFIRM
    %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
    
    修正処理を行う前に確認プロンプトを出力するコマンド例です。

/HOMEBLOCKS

以前の初期化操作でホーム・ブロックの削除が行われなかったボリュームから, ホーム・ブロックを消去します。

形式

    /HOMEBLOCKS

説明

/HOMEBLOCKS修飾子を使用する場合は,/REPAIR修飾子も指定する必要があります。 この操作は完了までに30分ほどかかります。

    $ ANALYZE/DISK_STRUCTURE DBA0:/REPAIR/HOMEBLOCKS
    
    このコマンドを実行すると,ANALYZE/DISK_STRUCTUREユーティリティはDBA0 のホーム・ブロックを消去します。

/LIST

索引ファイルのリストを出力するかどうかを指定します。

形式

    /LIST [=ファイル指定]

    /NOLIST

説明

/LISTを指定すると,すべてのファイル識別(FID),ファイル名,ファイル・ 所有者のリストを格納するファイルが出力されます。ファイル指定を省略した場合,SYS$OUTPUT が使用されます。ファイル・タイプを省略した場合,.LIS が使用されます。ワイルドカード文字は,ファイル指定に使用できません。

省略時の設定は,/NOLISTです。

    $ ANALYZE/DISK_STRUCTURE DLA2:/LIST=INDEX
    $ TYPE INDEX
    Listing of index file on DLA2:
    31-OCT-1998 20:54:42.22
    
    (00000001,00001,001)  INDEXF.SYS;1
                                  [1,1]
    (00000002,00002,001)  BITMAP.SYS;1
                                  [1,1]
    (00000003,00003,001)  BADBLK.SYS;1
                                  [1,1]
    (00000004,00004,001)  000000.DIR;1
                                  [1,1]
    (00000005,00005,001)  CORIMG.SYS;1
                                  [1,1]
    .
    .
    .
    $
    
    DLA2装置にエラーが検出されなかった例です。INDEXファイルのファイル・ タイプが指定されていないので,省略時のファイル・タイプ.LISが使用されています。 次のTYPEコマンドは,INDEX.LISファイルの内容を表示しています。

/OUTPUT

ディスク構造エラーを書き込む出力ファイルを指定します。

形式

    /OUTPUT[=ファイル指定]

    /[NO]OUTPUT[=ファイル指定]

説明

ディスク構造エラーを書き込む出力ファイルを指定します。/OUTPUT にファイル指定を指定しなかった場合には,SYS$OUTPUTに出力されます。/NOOUTPUT を指定した場合には,ディスク構造エラーは表示されません。/CONFIRM 修飾子を指定した場合には,この修飾子を使用したかどうかとは無関係にSYS$OUTPUT に出力されます。

/READ_CHECK

指定したディスク上の割り当て済みのすべてのブロックに対して,読み込みチェックを行うかどうかを指定します。ANALYZE/DISK_STRUCTURE ユーティリティは, 読み込みチェック時にディスクを2回読み込みます。これは, ディスクを正しく読み込むためです。省略時の設定は,/NOREAD_ CHECKです。

形式

    /READ_CHECK

    /NOREAD_CHECK

    $ ANALYZE/DISK_STRUCTURE DMA1:/READ_CHECK
    
    DMA1装置上の割り当て済みのすべてのブロックに対して,読み込みチェックを行うことを指定するコマンド例です。

/RECORD_ATTRIBUTES

関連するファイル属性ブロック(FAT)のレコード属性セクションに誤った設定が登録されているファイルを修復するかどうかを指定します。

形式

    /RECORD_ATTRIBUTES

説明

/RECORD_ATTRIBUTES修飾子は/REPAIR修飾子と組み合わせて使用できます。 修復フェーズで属性の修復を許可した場合には,誤りのあるビットがファイルのレコード属性から消去されます。 ファイルのレコード属性の値が正しいかどうかを判断するのは, このユーティリティの役割ではないため, この処理を実行しても,ファイルのレコード属性を正しく設定できるとは限りません。

システム管理者は属性の修復を実行しないでください。属性に問題がある場合には, そのことをファイルの所有者に通知し,所有者がSET FILE /RECORD_ATTRIBUTES=({レコード属性})コマンドを使用してファイルの属性を再設定するようにしてください。

    $ ANALYZE/DISK_SYS$SYSDEVICE:
    
    %ANALDISK-I-BAD_RECATTR, file (2930,1,1) [USER]ATTRIBUTES.DAT;13
    file record format: Variable
    inconsistent file attributes: Bit 5
    %ANALDISK-I-BAD_RECATTR, file (2931,1,1) [USER]ATTRIBUTES.DAT;14
    file record format: Variable
    inconsistent file attributes: FORTRAN carriage control, Bit 5
    %ANALDISK-I-BAD_RECATTR, file (2932,1,1) [USER]ATTRIBUTES.DAT;15
    file record format: Variable
    inconsistent file attributes: Implied carriage control, Bit 5
    %ANALDISK-I-BAD_RECATTR, file (2933,1,1) [USER]ATTRIBUTES.DAT;16
    file record format: Variable
    inconsistent file attributes: Non-spanned, Bit 5
    %ANALDISK-I-BAD_RECATTR, file (2934,1,1) [USER]ATTRIBUTES.DAT;17
    file record format: Variable
    inconsistent file attributes: FORTRAN carriage control,
    Non-spanned, Bit 5
    

/REPAIR

指定した装置のファイル構造に存在するエラーを修正するかどうかを指定します。

形式

    /REPAIR

    /NOREPAIR

説明

/REPAIR修飾子を指定しないかぎり,ANALYZE/DISK_STRUCTUREユーティリティは修正処理を行いません。 修正処理中は,ファイル構造の書き込みがソフトウェアによってロックされます。 省略時の設定は, /NOREPAIRです。

    $ ANALYZE/DISK_STRUCTURE DBA1:/REPAIR
    
    DBA1装置のファイル構造に存在するすべてのエラーを修正するコマンド例です。

/STATISTICS

ボリュームについての修正時の静的情報を収集してファイルを作製します。 作製するファイルのファイル名は,STATS.DATで,各ボリュームごとの静的情報を含みます。

フォーマット

    /STATISTICS

説明

次の情報はSTATS.DATファイル内に格納されます。

  1. $ ANALYZE/DISK_STRUCTURE MDA2000: /STATISTICS
    
    この例のOpenVMS AlphaボリュームはMDA2000:装置上にあり,SET VOLUME コマンドでODS-2からODS-5に変換されています。作製されたSTATS.DATファイルは次の情報を含んでいます。
         ********** Statistics for volume 001 of 001 **********
    
         Volume is ODS level 5.
    
         Volume has 00000004 ODS-2 primary headers.
         Volume has 00000003 ODS-5 primary headers.
         Volume has 00000000 ODS-5 -1 segnum headers.
    
         00000001 filenames of length 009 bytes.
         00000002 filenames of length 011 bytes.
         00000001 filenames of length 013 bytes.
         00000002 filenames of length 015 bytes.
         00000001 filenames of length 073 bytes.
    
         00000007 extension header chains of length 00000.
    
         00000001 ODS-2 headers have  071 ident area free bytes.
         00000001 ODS-2 headers have  073 ident area free bytes.
         00000001 ODS-2 headers have  075 ident area free bytes.
         00000001 ODS-2 headers have  077 ident area free bytes.
    
         Total ODS-2 ident area free bytes is 00000296.
    
         00000001 ODS-5 headers have  001 ident area free bytes.
         00000001 ODS-5 headers have  029 ident area free bytes.
         00000001 ODS-5 headers have  033 ident area free bytes.
    
         Total ODS-5 ident area free bytes is 00000063.
    
         00000001 headers have 277 free bytes in total.
         00000001 headers have 335 free bytes in total.
         00000001 headers have 339 free bytes in total.
         00000001 headers have 377 free bytes in total.
         00000001 headers have 379 free bytes in total.
         00000001 headers have 381 free bytes in total.
         00000001 headers have 383 free bytes in total.
    
         Total header area in bytes is   00003584.
         Total header area free bytes is 00002791.
         Total header area used bytes is 00000793.
    

/USAGE[=ファイル指定]

ディスク使用量会計ファイルも出力するかどうかを指定します。

形式

    /USAGE [=ファイル指定]

説明

ファイル指定の一部または全部を省略すると,ANALYZE/DISK_ STRUCTUREは,省略時のファイル指定であるUSAGE.DATを使用します。 このファイルは,現在の省略時のディレクトリに格納されます。

    $ ANALYZE/DISK_STRUCTURE DBA1:/USAGE
    $ DIRECTORY USAGE
    
    Directory DISK$DEFAULT:[ACCOUNT]
    
    USAGE.DAT;3
    
    Total of 1 file.
    
    最初のコマンドは,ディスク使用量会計ファイルを出力します。コマンド行に出力ファイル指定がないので, 省略時のファイル名とディレクトリである[ACCOUNT]USAGE.DAT が使用されます。DIRECTORYコマンドは,すべての省略時の情報を表示します。 この例のOpenVMS Alpha装置MDA2000:は, SET VOLUMEコマンドでODS-2からODS-5に変換されています。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]