zpool status コマンドを使用すると、ZFS ストレージプールのステータス情報が表示されます。例:
# zpool status pond pool: pond state: DEGRADED status: One or more devices are unavailable in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or 'fmadm repaired', or replace the device with 'zpool replace'. Run 'zpool status -v' to see device specific details. scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 13:16:09 2012 config: NAME STATE READ WRITE CKSUM pond DEGRADED 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 DEGRADED 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 UNAVAIL 0 0 0 errors: No known data errors
この出力については、次のセクションで説明します。
zpool status 出力のこのセクションには次のフィールドが含まれます。その一部は、問題が発生しているプールに対してのみ表示されます。
プールの名前を示します。
プールの現在の健全性を示します。この情報は、プールが必要な複製レベルを提供できるかどうかだけを示しています。
プールで発生している問題の説明です。エラーが検出されない場合は、このフィールドは省略されます。
エラーを修復するために推奨される処置。エラーが検出されない場合は、このフィールドは省略されます。
詳細な修復情報が掲載されているナレッジ記事を紹介します。オンラインの記事はこのガイドよりも頻繁に更新されます。そのため、最新の修復手順については常にオンラインの記事を参照してください。エラーが検出されない場合は、このフィールドは省略されます。
スクラブ操作の現在のステータスが出力されます。前回のスクラブが完了した日付と時間、進行中のスクラブ、スクラブが要求されていないかどうかなどが出力されます。
既知のデータエラー、または既知のデータエラーが存在しないことが出力されます。
zpool status 出力の config フィールドには、プール内のデバイスの構成、デバイスのステータス、およびデバイスから生成されたエラーが出力されます。次のいずれかの状態になる可能性があります: ONLINE、FAULTED、DEGRADED、または SUSPENDED。ONLINE 以外のいずれかの状態の場合は、プールの耐障害性が危殆化しています。
構成出力の 2 番目のセクションには、エラー統計が表示されます。これらのエラーは、3 つのカテゴリに分けられます。
READ – 読み取り要求を実行したときに発生した入出力エラー
WRITE – 書き込み要求を実行したときに発生した入出力エラー
CKSUM – チェックサムエラー。読み取り要求の結果として、破壊されたデータがデバイスから返されたことを意味する
これらのエラーを使って、損傷が永続的かどうかを判断できます。入出力エラーが少数の場合は、機能が一時的に停止している可能性があります。入出力エラーが大量の場合は、デバイスに永続的な問題が発生している可能性があります。これらのエラーは、アプリケーションによって解釈されるデータ破壊に対応していないことがあります。デバイスが冗長構成になっている場合は、デバイスの訂正できないエラーが表示されることがあります。ただし、ミラーまたは RAID-Z デバイスレベルではエラーは表示されません。そのような場合、ZFS は正常なデータの取得に成功し、既存の複製から損傷したデータの回復を試みたことになります。
これらのエラーを解釈する方法の詳細については、デバイス障害の種類を確認するを参照してください。
さらに、zpool status 出力の最終列には、補足情報が表示されます。この情報は、state フィールドの情報を補足するもので、障害の診断に役立ちます。デバイスが UNAVAIL の場合、このフィールドはデバイスがアクセスできない状態かどうか、またはデバイス上のデータが破壊されているかどうかを示しています。デバイスで再同期化が実行されている場合、このフィールドには現在の進行状況が表示されます。
再同期化の進行状況をモニターする方法の詳細については、再同期化のステータスを表示するを参照してください。
zpool status 出力のスクラブセクションには、すべてのスクラブ操作の現在のステータスが説明されます。この情報は、システム上でなんらかのエラーが検出されているかどうかを示すものではありません。ただし、この情報を使って、データ破壊エラーの報告が正確かどうかを判断できます。前回のスクラブが最近実行されている場合には、既知のデータ破壊が発生していれば、高い確率でそのとき検出されている可能性があります。
次の zpool status スクラブステータスメッセージが表示されます。
スクラブ進捗レポート。例:
scan: scrub in progress since Wed Jun 20 14:56:52 2012 529M scanned out of 71.8G at 48.1M/s, 0h25m to go 0 repaired, 0.72% done
スクラブ完了メッセージ。例:
scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
進行中のスクラブの取り消しメッセージ。例:
scan: scrub canceled on Wed Jun 20 16:04:40 2012
スクラブ完了メッセージはシステムのリブート後も残ります。
データスクラブおよびこの情報の解釈方法の詳細については、ZFS ファイルシステムの整合性をチェックするを参照してください。
zpool status コマンドでは、既知のエラーが発生している場合に、それらがプールに関連するものであるかどうかも出力されます。これらのエラーは、データのスクラブ中または通常の操作中に検出されている可能性があります。ZFS では、プールに関連するすべてのデータエラーの持続的なログを管理しています。システムの完全なスクラブが終了するたびに、このログのローテーションが行われます。
データ破壊エラーは、常に致命的です。このエラーが発生している場合は、プールのデータが破壊されたために、1 つ以上のアプリケーションで入出力エラーが発生したことになります。冗長なプール内でデバイスエラーが発生してもデータは破壊されないので、このログの一部として記録されません。デフォルトでは、検出されたエラーの数だけが表示されます。エラーおよびその詳細の完全なリストは、zpool status –v オプションを使用すれば表示できます。例:
# zpool status -v 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 scan: scrub repaired 0 in 0h0m with 2 errors on Fri Jun 29 16:58:58 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 2 0 0 c8t0d0 ONLINE 0 0 0 c8t1d0 ONLINE 2 0 0 errors: Permanent errors have been detected in the following files: /tank/file.1
同様のメッセージは、システムコンソールで fmd を実行した場合にも、また /var/adm/messages ファイルにも表示されます。fmdump コマンドを使って、これらのメッセージを追跡することもできます。
データ破壊エラーの解釈の詳細については、データ破壊の種類を確認するを参照してください。