Solaris のシステム管理 (上級編)

フェーズ 1: ブロックとサイズの検査のメッセージ

このフェーズでは、i ノードリストを検査します。次の処理中に検出されたエラー条件が表示されます。

ファイルシステムの修復 (preen) 中は、INCORRECT BLOCK COUNTPARTIALLY TRUNCATED INODEPARTIALLY ALLOCATED INODE、および UNKNOWN FILE TYPE を除き、このフェーズ中にどのエラーが発生した場合も、fsck が終了します。

フェーズ 1 では、次のメッセージ (アルファベット順) が発生する可能性があります。


block-number BAD I=inode-number
エラーの発生原因

i ノード inode-number に、ファイルシステム内の最初のデータブロックより小さい番号または最後のデータブロックより大きい番号が付いたブロック番号 block-number が入っています。i ノード inode-number 内にファイルシステムの範囲外のブロック番号が多すぎると、このエラー条件のためにフェーズ 1 で「EXCESSIVE BAD BLKS」エラーメッセージが生成されることがあります。フェーズ 2 と 4 では、このエラー条件が原因で「BAD/DUP」エラーメッセージが生成されます。

対処方法

なし


BAD MODE: MAKE IT A FILE?
エラーの発生原因

指定された i ノードの状態がすべて、ファイルシステムの損傷を示す 1 に設定されています。このメッセージは、fsck -y の実行後に繰り返し表示される場合以外は、物理的なディスクの損傷を示すものではありません。

対処方法

y と入力して i ノードを妥当な値に初期化し直します。


BAD STATE state-number TO BLKERR
エラーの発生原因

内部エラーによって fsck の状態マップが破壊されたため、不可能な値 state-number を示します。fsck は即座に終了します。

対処方法

ご購入先に問い合わせてください。


fragment-number DUP I=inode-number

Oracle Solaris 10:


block-number DUP I=inode-number
エラーの発生原因

i ノード inode-number には、同じ i ノードまたは別の i ノードがすでに取得したブロック番号 fragment-number が入っています。このエラー条件が発生した場合に、i ノード inode-number 内にこの種のブロック番号が多すぎると、フェーズ 1 では「EXCESSIVE DUP BLKS」エラーメッセージが生成されることがあります。このエラー条件によってフェーズ 1B が呼び出され、フェーズ 2 と 4 で「BAD/DUP」エラーメッセージが生成されます。

Oracle Solaris 10: i ノード inode-number には、同じ i ノードまたは別の i ノードがすでに取得したブロック番号 block-number が入っています。このエラー条件が発生した場合に、i ノード inode-number 内にこの種のブロック番号が多すぎると、フェーズ 1 では「EXCESSIVE DUP BLKS」エラーメッセージが生成されることがあります。このエラー条件によってフェーズ 1B が呼び出され、フェーズ 2 と 4 で「BAD/DUP」エラーメッセージが生成されます。

対処方法

なし


DUP TABLE OVERFLOW (CONTINUE)
エラーの発生原因

fsck は、重複フラグメントを追跡するためのメモリーを割り当てることができませんでした。-o p (preen、修復) オプションが指定されていると、プログラムは終了します。

Oracle Solaris 10: fsck の内部テーブルには、重複するブロック番号が入る余地がありません。-o p (preen、修復) オプションが指定されていると、プログラムは終了します。

対処方法

プログラムを続行するには、CONTINUE プロンプトから y と入力します。このエラーが発生すると、ファイルシステムを完全には検査できません。別の重複フラグメントが見つかると、このエラー条件が再発します。使用可能な仮想メモリーの容量を (プロセスを終了し、スワップ空間を拡張して) 大きくし、もう一度 fsck を実行してファイルシステムを検査し直します。プログラムを終了するには n と入力します。

Oracle Solaris 10: プログラムを続行するには、CONTINUE プロンプトから y と入力します。このエラーが発生すると、ファイルシステムを完全には検査できません。別の重複ブロックが見つかると、このエラー条件が再発します。使用可能な仮想メモリーの容量を (プロセスを終了し、スワップ空間を拡張して) 大きくし、もう一度 fsck を実行してファイルシステムを検査し直します。プログラムを終了するには n と入力します。


EXCESSIVE BAD FRAGMENTS I=inode-number (CONTINUE)

Oracle Solaris 10:


EXCESSIVE BAD BLOCKS I=inode-number (CONTINUE)
エラーの発生原因

無効なディスクアドレスを示しているフラグメント数が多すぎます (通常は 10 を超える数)。-o p (preen、 修復) オプションを指定すると、プログラムは終了します。

Oracle Solaris 10: i ノード inode-number に関連付けられたファイルシステム内の最初のデータブロックより小さい番号か、最後のブロックより大きい番号を持つブロックが多すぎます (通常は 10 を超える数)。-o p (preen、 修復) オプションを指定すると、プログラムは終了します。

対処方法

プログラムを続行するには、CONTINUE プロンプトから y と入力します。このエラーが発生すると、ファイルシステムを完全には検査できません。もう一度 fsck を実行してファイルシステムを検査し直す必要があります。プログラムを終了するには n と入力します。


EXCESSIVE DUP BLKSDUPLICATE FRAGMENTS I=inode-number (CONTINUE)

Oracle Solaris 10:


EXCESSIVE DUP BLKS I=inode-number (CONTINUE)
エラーの発生原因

同じ i ノード、別の i ノード、または空きリストが取得するフラグメント数が多すぎます (通常は 10 を超える数)。-o p (preen、修復) オプションが指定されていると、プログラムは終了します。

Oracle Solaris 10: 同じ i ノード、別の i ノード、または空きリストが取得するブロック数が多すぎます (通常は 10 を超える数)。-o p (preen、修復) オプションが指定されていると、プログラムは終了します。

対処方法

プログラムを続行するには、CONTINUE プロンプトから y と入力します。このエラーが発生すると、ファイルシステムを完全には検査できません。もう一度 fsck を実行してファイルシステムを検査し直す必要があります。プログラムを終了するには n と入力します。


INCORRECT DISK BLOCK COUNT I=inode-number (number-of-BAD-DUP-or-missing-blocks
should be number-of-blocks-in-filesystem) (CORRECT)

Oracle Solaris 10:


INCORRECT BLOCK COUNT I=inode-number (number-of-BAD-DUP-or-missing-blocks
should be number-of-blocks-in-filesystem) (CORRECT)
エラーの発生原因

i ノード inode-number のディスクブロック数が不正です。修復 (preen) の場合、fsck は数を訂正します。

Oracle Solaris 10: i ノード inode-number のブロック数は number-of-BAD-DUP-or-missing-blocks ですが、number-of-blocks-in-filesystem であるべきです。修復 (preen) の場合、fsck は数を訂正します。

対処方法

i ノード inode-number のディスクブロック数を number-of-blocks-in-file に修正するには、CORRECT プロンプトから y と入力します。

Oracle Solaris 10: i ノード inode-number のブロック数を number-of-blocks-in-filesystem に置き換えるには、CORRECT プロンプトから y と入力します。プログラムを終了するには n と入力します。


LINK COUNT TABLE OVERFLOW (CONTINUE)
エラーの発生原因

fsck の内部テーブルには、リンク数が 0 の割り当て済み i ノードが入る余地がありません。-o p (preen、修復) オプションを指定すると、プログラムは終了するので、fsck を手作業で実行する必要があります。

対処方法

プログラムを続行するには、CONTINUE プロンプトから y と入力します。リンク数が 0 の別の割り当て済みブロックが見つかると、このエラー条件が再発します。このエラーが発生すると、ファイルシステムを完全には検査できません。もう一度 fsck を実行してファイルシステムを検査し直す必要があります。プロセスをいくつか終了するか、スワップ領域を拡張して、使用可能な仮想メモリーを増やしてから、fsck を実行し直します。プログラムを終了するには n と入力します。


PARTIALLY ALLOCATED INODE I=inode-number (CLEAR)
エラーの発生原因

i ノード inode-number は割り当て済みでも未割り当てでもありません。-o p (preen、修復) オプションを指定すると、この i ノードは消去されます。

対処方法

i ノード inode-number の内容を消去して割り当てを解除するには、y と入力します。これにより、この i ノードを指すディレクトリごとに、フェーズ 2 でエラー条件 UNALLOCATED が生成されることがあります。このエラー条件を無視するには、n と入力します。応答しなくてよいのは、この問題をほかの手段で解決しようとする場合のみです。


PARTIALLY TRUNCATED INODE I=inode-number (SALVAGE)
エラーの発生原因

fsck で、割り当てられたフラグメント数よりも短い i ノード inode-number が見つかりました。この条件が発生するのは、ファイルの切り捨て中にシステムがクラッシュした場合のみです。ファイルシステムを修復しているとき、fsck は指定されたサイズへの切り捨てを完了します。

Oracle Solaris 10: fsck で、割り当てられたブロック数よりも短い i ノード inode-number が見つかりました。この条件が発生するのは、ファイルの切り捨て中にシステムがクラッシュした場合のみです。ファイルシステムを修復しているとき、fsck は指定されたサイズへの切り捨てを完了します。

対処方法

i ノード内で指定したサイズへの切り捨てを完了するには、SALVAGE プロンプトから y と入力します。このエラー条件を無視するには、n と入力します。


UNKNOWN FILE TYPE I=inode-number (CLEAR)
エラーの発生原因

i ノード inode-number のモードのワードは、この i ノードがパイプ、キャラクタ型デバイス、ブロック型デバイス、通常ファイル、シンボリックリンク、FIFO ファイル、またはディレクトリ i ノードでないことを示します。-o p (preen、修復) オプションを指定すると、この i ノードは消去されます。

Oracle Solaris 10: i ノード inode-number のモードのワードは、この i ノードがパイプ、特殊文字 i ノード、特殊ブロック i ノード、通常 i ノード、シンボリックリンク、FIFO ファイル、またはディレクトリ i ノードでないことを示します。-o p (preen、修復) オプションを指定すると、この i ノードは消去されます。

対処方法

i ノード inode-number の内容を消去して割り当てを解除するには、CLEAR プロンプトから y と入力します。これにより、この i ノードを指すディレクトリエントリごとに、フェーズ 2 でエラー条件 UNALLOCATED が生成されます。このエラー条件を無視するには、n と入力します。