Oracle® Solaris 11.2 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2014 年 12 月
 
 

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

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

  • zpool clear –F コマンドまたは zpool import – F コマンドを使用して、プールの回復を試みることができます。これらのコマンドは、プールに対する直近数回のトランザクションをロールバックして、プールを正常な状態に戻すことを試みます。zpool status コマンドを使用すると、損傷したプールと推奨される回復手順を確認できます。例:

    # zpool status
    pool: tpool
    state: UNAVAIL
    status: The pool metadata is corrupted and the pool cannot be opened.
    action: Recovery is possible, but will result in some data loss.
    Returning the pool to its state as of Fri Jun 29 17:22:49 2012
    should correct the problem.  Approximately 5 seconds of data
    must be discarded, irreversibly.  Recovery can be attempted
    by executing 'zpool clear -F tpool'.  A scrub of the pool
    is strongly recommended after recovery.
    see: http://support.oracle.com/msg/ZFS-8000-72
    scrub: none requested
    config:
    
    NAME      STATE     READ WRITE CKSUM
    tpool     UNAVAIL      0     0     1  corrupted data
    c1t1d0    ONLINE       0     0     2
    c1t3d0    ONLINE       0     0     4 

    前の出力で説明した回復プロセスでは次のコマンドを使用します。

    # zpool clear -F tpool

    損傷したストレージプールをインポートしようとすると、次のようなメッセージが表示されます。

    # zpool import tpool
    cannot import 'tpool': I/O error
    Recovery is possible, but will result in some data loss.
    Returning the pool to its state as of Fri Jun 29 17:22:49 2012
    should correct the problem.  Approximately 5 seconds of data
    must be discarded, irreversibly.  Recovery can be attempted
    by executing 'zpool import -F tpool'.  A scrub of the pool
    is strongly recommended after recovery.

    前の出力で説明した回復プロセスでは次のコマンドを使用します。

    # zpool import -F tpool
    Pool tpool returned to its state as of Fri Jun 29 17:22:49 2012.
    Discarded approximately 5 seconds of transactions

    損傷したプールが zpool.cache ファイルに存在する場合、システムのブート時に問題が検出され、損傷したプールが zpool status コマンドで報告されます。プールが zpool.cache ファイルに存在しない場合、プールをインポートすることも開くこともできず、プールをインポートしようとするとプールの損傷を知らせるメッセージが表示されます。

  • 損傷したプールを読み取り専用モードでインポートできます。この方法によってプールをインポートでき、データにアクセスできます。例:

    # zpool import -o readonly=on tpool

    プールを読み取り専用でインポートすることの詳細については、読み取り専用モードでプールをインポートするを参照してください。

  • zpool import –m コマンドを使用して、ログデバイスのないプールをインポートできます。詳細は、ログデバイスがないプールをインポートするを参照してください。

  • いずれのプール回復方法によってもプールを回復できない場合は、プールとそのすべてのデータをバックアップコピーから復元する必要があります。そのために使用する方法は、プールの構成とバックアップ方法によって大きく異なります。最初に、zpool status コマンドによって表示された構成を保存しておき、プールを破棄したあとで構成を再作成できるようにします。次に、zpool destroy –f コマンドを使用してプールを破棄します。

    また、データベースのレイアウトを記述するファイルおよびローカルで設定されたさまざまなプロパティーを安全な場所に保管します。プールがアクセス不能になると、この情報がアクセス不能になるからです。プールを破棄したあとに、プールの構成とデータセットのレイアウトを使用して、完全な構成を再構築できます。その後、好きなバックアップまたは復元方法を使用してデータを投入できます。