この手順は、トランザクションボリュームを「正常 (Okay)」状態に戻すときに使用します。
トランザクションボリュームの状態をチェックする方法については、「トランザクションボリュームの状態をチェックするには」を参照してください。
ロギングデータの処理中にマスターデバイスまたはログデバイスにエラーがあると、デバイスは「正常 (Okay)」状態から「ハードウェアエラー (Hard Error)」状態に移行します。 デバイスが「ハードウェアエラー (Hard Error)」状態か「エラー (Error)」状態になると、デバイスエラーまたは異常が発生します。 どちらの場合でも、回復方法は同じです。
ログ (ログデバイス) が共有されている場合に、トランザクションボリューム内のどれかのスライスに異常が発生すると、そのトランザクションボリュームに関連しているすべてのスライスまたはボリュームが異常状態に切り換わります。
「Solaris ボリュームマネージャコンポーネントを作成するための前提条件 」と 「トランザクションボリュームの背景情報」を確認します。
「トランザクションボリュームの背景情報」を確認します。
lockfs コマンドを実行して、ロックされているファイルシステムを調べます。
# lockfs |
該当するファイルシステムはロックタイプが hard と表示されます。 同じログデバイスを共有するファイルシステムはすべてハードロックされます。
該当するファイルシステムのマウントを解除します。
ロックされているファイルシステムがエラー発生時に使用されていても、そのファイルシステムのマウントを解除できます。 関連するプロセスが、ハードロックまたはマウント解除されているファイルシステム上の開かれたファイルまたはディレクトリにアクセスすると、エラーが返されます。
(省略可能) アクセス可能なデータのバックアップをとります。
デバイスエラーを修復する前に、通常は、できるだけ多くのデータを回復するようにします。 tar や cpio コマンドを使用する場合のように、バックアップ手順を実行するためにはファイルシステムがマウントされていなければならない場合は、ファイルシステムを読み取り専用でマウントできます。 dump や volcopy コマンドを使用する場合のように、ファイルシステムがマウントされている必要がない場合は、トランザクションボリュームに直接アクセスできます。
デバイスエラーを修復します。
この時点で、読み書き操作のためにトランザクションボリュームを開くかマウントすると、ログデバイス上にあるアクセス可能なすべてのデータが適切なマスターデバイスに転送されます。 読み取りまたは書き込みできないデータは破棄されます。 しかし、トランザクションボリュームを読み取り専用で開くかマウントすると、ログは再びスキャンされるだけでマスターデバイスに転送されません。したがって、エラーは修復されません。 つまり、マスターデバイスとログデバイスのデータは、読み取りおよび書き込み操作のために最初に開かれるかマウントされるまで、変更されません。
fsck コマンドを実行してファイルシステムを修復します。あるいは、データを復元する場合は、newfs コマンドを実行します。
同じログデバイスを共有するすべてのトランザクションボリュームに対して fsck コマンドを実行します。 fsck コマンドですべてのトランザクションボリュームが修復されると、各ボリュームは「正常 (Okay)」状態に戻ります。
newfs コマンドを使用しても、ファイルシステムは「正常 (Okay)」状態に戻ります。しかし、この場合には、ファイルシステムのすべてのデータが破棄されます。 newfs コマンドは、通常、バックアップからファイルシステムを復元したいときに使用します。
同じログデバイスを共有するすべてのトランザクションボリュームに対して fsck または newfs コマンドを実行しないと、デバイスは「正常 (Okay)」状態に戻されません。
metastat コマンドを実行して、関連するデバイスが「正常 (Okay)」状態になっていることを確認します。
# metastat d5 d5: Trans State: Hard Error Size: 10080 blocks Master Device: d4 Logging Device: c0t0d0s6 d4: Mirror State: Okay ... c0t0d0s6: Logging device for d5 State: Hard Error Size: 5350 blocks ... # fsck /dev/md/rdsk/d5 ** /dev/md/rdsk/d5 ** Last Mounted on /fs1 ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups WARNING: md: log device: /dev/dsk/c0t0d0s6 changed state to Okay 4 files, 11 used, 4452 free (20 frags, 554 blocks, 0.4% fragmentation) # metastat d5 d5: Trans State: Okay Size: 10080 blocks Master Device: d4 Logging Device: c0t0d0s6 d4: Mirror State: Okay ... c0t0d0s6: Logging device for d5 State: Okay ... |
この例では、「ハードウェアエラー(Hard Error)」状態のログデバイスを含むトランザクションボリューム d5 を修復します。 このトランザクションボリュームに対して fsck コマンドを実行すると、トランザクションボリュームは「正常 (Okay)」状態に戻されます。 metastat コマンドを実行して、「正常 (Okay)」状態になっていることを確認します。