次のセクションでは、ZFS ファイルシステムまたはストレージプールで発生する問題を識別して解決する方法について説明します。
次の機能を使用して、ZFS 構成で発生した問題を識別することができます。
zpool status コマンドを使用すると、ZFS ストレージプールについての詳細な情報を表示できます。
プールおよびデバイスの障害が ZFS/FMA の診断メッセージで報告されます。
zpool history コマンドを使用すると、プール状態の情報を変更した以前の ZFS コマンドを表示できます。
間違って破棄された ZFS ストレージプールは、zpool import –D コマンドを使用して回復できますが、デバイスが再利用または間違って上書きされないよう、プールが迅速に回復されることが重要です。詳細は、破棄された ZFS ストレージプールを回復するを参照してください。ZFS ファイルシステムまたはデータを回復するための同様の機能は存在しません。常に適切なバックアップを用意しておいてください。
ZFS のほとんどのトラブルシューティングで、zpool status コマンドを使用します。このコマンドを実行すると、システム上のさまざまな障害が分析され、もっとも重大な問題が識別されます。さらに、推奨する処置と、詳細情報が掲載されたナレッジ記事へのリンクが提示されます。プールで複数の問題が発生している可能性がある場合でも、このコマンドで識別できる問題は 1 つだけです。たとえば、データ破壊のエラーは一般に、いずれかのデバイスで障害が発生したことを示唆しますが、障害が発生したデバイスを置き換えても、データ破壊の問題がすべて解決するとは限りません。
また、ZFS 診断エンジンはプールの障害とデバイスの障害を診断し、報告します。これらの障害に関連するチェックサム、入出力、デバイス、およびプールのエラーも報告されます。fmd で報告される ZFS 障害は、コンソールとシステムメッセージファイルに表示されます。ほとんどの場合、fmd メッセージは、回復に関するさらなる指示について zpool status コマンドを案内します。
基本的な回復方法は次のとおりです。
該当する場合、zpool history コマンドを使って、エラーシナリオに至る前に実行された ZFS コマンドを特定します。例:
# zpool history tank History for 'tank': 2012-11-12.13:01:31 zpool create tank mirror c0t1d0 c0t2d0 c0t3d0 2012-11-12.13:28:10 zfs create tank/eric 2012-11-12.13:37:48 zfs set checksum=off tank/eric
この出力では、tank/eric ファイルシステムのチェックサムが無効になっています。この構成はお勧めできません。
システムコンソールまたは /var/adm/messages ファイルに表示される fmd メッセージからエラーを識別します。
zpool status -x コマンドを使って、詳細な修復手順を確認します。
次の手順を実行して、障害を修復します。
使用できないデバイスまたは見つからないデバイスを交換して、オンラインにします。
障害の発生した構成または破壊されたデータをバックアップから復元します。
zpool status –x コマンドを使用して回復を確認します。
復元した構成のバックアップを作成します (該当する場合)。
このセクションでは、発生する可能性がある障害の種類を診断するために、zpool status の出力を解釈する方法について説明します。ほとんどの作業はコマンドによって自動的に実行されますが、障害を診断するうえで、どのような問題が識別されるかを正確に理解しておくことは重要です。以降のセクションでは、発生する可能性のあるさまざまな問題を修復する方法について説明します。