JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: ZFS ファイルシステム     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris ZFS ファイルシステム (概要)

2.  Oracle Solaris ZFS 入門

3.  Oracle Solaris ZFS ストレージプールの管理

4.  ZFS ルートプールのコンポーネントの管理

5.  Oracle Solaris ZFS ファイルシステムの管理

6.  Oracle Solaris ZFS のスナップショットとクローンの操作

7.  ACL および属性を使用した Oracle Solaris ZFS ファイルの保護

8.  Oracle Solaris ZFS 委任管理

9.  Oracle Solaris ZFS の高度なトピック

10.  Oracle Solaris ZFS のトラブルシューティングとプールの回復

ZFS の領域の問題を解決する

ZFS ファイルシステム領域の報告

ZFS ストレージプール領域の報告

ZFS の障害を識別する

ZFS ストレージプール内でデバイスが見つからない

ZFS ストレージプール内のデバイスが損傷している

ZFS データが破壊している

ZFS ファイルシステムの整合性をチェックする

ファイルシステムの修復

ファイルシステムの検証

ZFS データのスクラブを制御する

ZFS データの明示的なスクラブ

ZFS データのスクラブと再同期化

ZFS の問題を解決する

ZFS ストレージプールに問題があるかどうかを確認する

zpool status の出力を確認する

プールの全般的なステータス情報

プール構成情報

スクラブのステータス

データ破壊エラー

ZFS エラーメッセージのシステムレポート

損傷した ZFS 構成を修復する

見つからないデバイスに関する問題を解決する

デバイスを物理的に再接続する

デバイスが使用できることを ZFS に通知する

破損したデバイスを交換または修復する

デバイス障害の種類を確認する

一時的なエラーを解消する

ZFS ストレージプール内のデバイスを置き換える

デバイスを置き換えられるかどうかを確認する

置き換えることができないデバイス

ZFS ストレージプール内のデバイスを置き換える

再同期化のステータスを表示する

損傷したデータを修復する

データ破壊の種類を確認する

破壊されたファイルまたはディレクトリを修復する

複数のブロック参照を持つ、破壊されたデータを修復する

ZFS ストレージプール全体の損傷を修復する

ブートできないシステムを修復する

11.  スナップショットのアーカイブとルートプールの回復

12.  推奨の Oracle Solaris ZFS プラクティス

A.  Oracle Solaris ZFS バージョンの説明

索引

損傷したデータを修復する

次のセクションでは、データ破壊の種類を確認する方法と、破壊したデータを修復する (可能な場合) 方法について説明します。

ZFS では、データ破壊のリスクを最小限に抑えるために、チェックサム、冗長性、および自己修復データが使用されます。それでも、プールが冗長でない場合、プールの機能が低下しているときに破壊が発生した場合、または予期しないことが一度に起こってデータの複数のコピーが破壊された場合は、データの破壊が発生することがあります。どのような原因であったとしても、結果は同じです。 データが破壊され、その結果アクセスできなくなっています。対処方法は、破壊されたデータの種類とその相対的な価値により異なります。破壊されるデータは、大きく 2 つの種類に分けられます。

データの検証は、通常の操作中およびスクラブ時に行われます。プールデータの完全性を検証する方法については、「ZFS ファイルシステムの整合性をチェックする」を参照してください。

データ破壊の種類を確認する

デフォルトでは、zpool status コマンドでは、破壊が発生したことだけが報告され、破壊が発生した場所は報告されません。次に例を示します。

# zpool status tank
  pool: tank
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
        entire pool from backup.
   see: http://support.oracle.com/msg/ZFS-8000-8A
config:

        NAME                       STATE     READ WRITE CKSUM
        tank                       ONLINE       4     0     0
          c0t5000C500335E106Bd0    ONLINE       0     0     0
          c0t5000C500335FC3E7d0    ONLINE       4     0     0


errors: 2 data errors, use '-v' for a list

特定の時間にエラーが発生したことだけが、エラーごとに報告されます。各エラーが現在もシステムに存在するとは限りません。通常の状況下では、これが当てはまります。なんらかの一時的な機能停止によって、データが破壊されることがあります。それらは、機能停止が終了したあとで自動的に修復されます。プール内のすべてのアクティブなブロックを検査するために、プールのスクラブは完全に実行されることが保証されています。このため、スクラブが完了するたびに、エラーログがリセットされます。エラーが存在しないことを確認したので、スクラブが完了するのを待っている必要がない場合には、zpool online コマンドを使ってプール内のすべてのエラーをリセットします。

データ破壊がプール全体のメタデータで発生している場合は、出力が少し異なります。例:

# zpool status -v morpheus
  pool: morpheus
    id: 13289416187275223932
 state: UNAVAIL
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
   see: http://support.oracle.com/msg/ZFS-8000-72
config:

        morpheus    FAULTED   corrupted data
          c1t10d0   ONLINE

プール全体が破壊された場合、プールは必要な冗長レベルを提供できないため、FAULTED 状態になります。

破壊されたファイルまたはディレクトリを修復する

ファイルまたはディレクトリが破壊されても、破壊の種類によってはシステムがそのまま動作する場合があります。データの正常なコピーがシステムに存在しなければ、どの損傷も事実上修復できません。貴重なデータの場合は、影響を受けたデータをバックアップから復元する必要があります。このような場合でも、プール全体を復元しなくても破壊から回復できる場合があります。

ファイルデータブロックの中で損傷が発生した場合は、ファイルを安全に削除することができるため、システムのエラーを解消できます。永続的なエラーが発生しているファイル名のリストを表示するには、zpool status -v コマンドを使用します。例:

# zpool status tank -v
  pool: tank
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
        entire pool from backup.
   see: http://support.oracle.com/msg/ZFS-8000-8A
config:

        NAME                       STATE     READ WRITE CKSUM
        tank                       ONLINE       4     0     0
          c0t5000C500335E106Bd0    ONLINE       0     0     0
          c0t5000C500335FC3E7d0    ONLINE       4     0     0

errors: Permanent errors have been detected in the following files:
        /tank/file.1
        /tank/file.2

永続的なエラーが発生しているファイル名のリストは、次のようになります。

ディレクトリまたはファイルのメタデータの中で破壊は発生している場合には、そのファイルを別の場所に移動するしかありません。任意のファイルまたはディレクトリを不便な場所に安全に移動することができ、そこで元のオブジェクトを復元することができます。

複数のブロック参照を持つ、破壊されたデータを修復する

損傷を受けたファイルシステムにある破壊されたデータが、スナップショットなどからの複数のブロック参照を持つ場合は、zpool status -v コマンドを使用しても、破壊されたすべてのデータパスが表示されるわけではありません。ZFS スクラブアルゴリズムはプールを横断して、データの各ブロックに一度のみアクセスします。これは、最初に検出した破壊のみを報告できます。そのため、影響を受けたファイルへの単一のパスのみが生成されます。これは、複製解除された、破壊されたブロックにも適用されます。

破壊されたデータがあり、スナップショットデータが影響を受けることが zpool status - v コマンドによって示された場合は、破壊された追加のパスを検索することを検討してください。

# find mount-point -inum $inode -print
# find mount-point/.zfs/snapshot -inum $inode -print 

最初のコマンドは、指定されたファイルシステムとそのすべてのスナップショット内で、破壊が報告されたデータの inode 番号を検索します。2 番目のコマンドは、同じ inode 番号を持つスナップショットを検索します。

ZFS ストレージプール全体の損傷を修復する

プールのメタデータが損傷していて、その損傷によりプールを開けないかインポートできない場合の選択肢には、次のものがあります。