LSI RAID コントローラーの背後にある zfs エラー

LSI RAID コントローラーの背後にある zfs エラー

ZFSは「読み取りの問題」を報告しているので、このディスクは故障していると思われます。ZFS-8000-9Pドキュメント レポートには、私たちが認識している問題が発生したと記載されています。これらのディスクは比較的新しいもので、最近発生した唯一の問題は ZFS がいっぱいになったことです。

ZFSはLSI メガRAID 9271-8iすべてのディスクはディスクごとに「raid 0」を実行します。この RAID カードにはあまり詳しくないので、megacli コマンドライン ツールから取得したデータを返すスクリプトを見つけました。セットアップを示すために 1 つのドライブを追加しましたが、すべて同じセットアップになっています (システム ディスクは異なります)。

zpool ステータス出力

  pool: data
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        data        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            br0c2   ONLINE       0     0     0
            br1c2   ONLINE       0     0     0
            br2c2   ONLINE       0     0     0
            br0c3   ONLINE       0     0     0
            br1c3   ONLINE       0     0     0
            br2c3   ONLINE       0     0     0
            r2c1    ONLINE       0     0     0
            r1c2    ONLINE       0     0     0
            r5c3    ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdf     ONLINE       0     0     0
            sdg     ONLINE       0     0     0
            r3c1    ONLINE       0     0     0
            r4c1    ONLINE       2     0     0
... cut raidz2-1 ...
errors: No known data errors

LSIスクリプトの出力

Virtual Drive: 32 (Target Id: 32)
Name                :
RAID Level          : Primary-0, Secondary-0, RAID Level Qualifier-0
Size                : 3.637 TB
Sector Size         : 512
Is VD emulated      : No
Parity Size         : 0
State               : Optimal
Strip Size          : 512 KB
Number Of Drives    : 1
Span Depth          : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
PI type: No PI

Is VD Cached: No

スクリプトはディスクの障害を報告せず、RAIDコントローラもドライブを障害としてマークしません。他のトピックもいくつか見つけましたzpool エラーエラーをクリアしてスクラブを実行するようにというアドバイスがありました。ここでの質問は、スクラブを実行するしきい値はいつで、これにはどのくらいの時間がかかるかということです (この zfs raid はスクラブの実行でパフォーマンスが低下すると想定)。また、このディスクが本当に故障している場合、ホットスワップによって「再構築」が初期化されますか? すべてのディスクは「Western Digital RE 4TB、SAS II、32MB、7200rpm、エンタープライズ 24/7/365」です。これは単なる定期的な手動チェックですが、zfs エラーをチェックするシステムはありますか?

zfs バージョン: 0.6.4.1 zfsonlinux

2 回の読み取りエラーはそれほど多くないことは承知していますが、ディスクの交換は早めに、遅くなる前に行うことをお勧めします。

答え1

zfs scrub「ZFS エラーをチェックするシステム」です。ボリュームに保存されているすべてのデータを読み取るのにかかる時間と同じ時間がかかります (トランザクションの順番に実行されるため、プールの空き状況やデータの書き込み方法によっては、シークが頻繁に発生する可能性があります)。開始すると、zfs status推定値が表示されます。scrub の実行は停止できます。

定期的にチェックするものが必要な場合zpool status、最も簡単な方法は、zpool status | grep -C 100 Status定期的に(6 時間に 1 回)何かを実行し、出力があればそれを電子メールで送信することです。おそらく、Nagios などのお気に入りの監視システム用のプラグインが見つかるでしょう。または、自分で作成するのもかなり簡単です。

ドライブをホットスワップするだけでは、再シルバー化は実行されません。再シルバー化を実行zfs replaceするには、実行する必要があります。

表示されている読み取りエラーは、何らかのコントローラの不具合である可能性もあります。エンタープライズ ハードウェアであるにもかかわらず、これらの (HW RAID) コントローラは時々異常な動作をします。また、これらのエラーは、たとえば、コマンドに時間がかかりすぎた (コントローラが何らかの処理でビジー状態) ことが原因で発生する可能性があります。そのため、必要な場合を除いて、このようなエラーは避けるようにしています。

ドライブの SMART データをチェックし ( を参照)、プールをスクラブすることをお勧めしますman smartctl。どちらも問題ない場合は、エラーをクリアしてプールを変更しないでください。プールがほぼ満杯の場合、再同期中にすべてのデータを読み取ると、別のエラーが発生する可能性があるためです。同じドライブで再びエラーが表示されたら、パニックになり始めてください ;)。

ちなみに、最高のパフォーマンスを得るには、RAIDZ2 vdev で n^2+2 ドライブを使用する必要があります。

答え2

この場合は、ZFS の指示に従ってください。スクラブを実行してください。

私は毎週スケジュールに従ってシステムを洗浄しています。また、zfsウォッチャーLinux ZFS インストールの健全性を監視するデーモン。

ZFS アレイはおそらく調整されていないため、スクラブ パフォーマンスの向上に役立つ値がいくつかありますが、この時点では、そのまま実行する必要があります。

そして、もう 1 つの質問ですが、ホット スワップはおそらく期待どおりには動作しないでしょう... 以下の不満を参照してください。


暴言:

ハードウェア コントローラーの背後に多数の RAID-0 仮想ドライブを配置するのは、お勧めできません。

両方の最悪の状況に陥ります。回復性とエラー チェックは制限されます。障害が発生したディスクは、基本的に障害が発生した仮想ドライブであり、ホットスワップに影響します。問題のディスクを削除するとします。新しい仮想ディスクを作成する必要があるか、またはドライブの列挙が異なる場合があります。

ある時点で、実際のHBAを入手してディスクをパススルーデバイス(RAIDメタデータなし)として実行するか、ハードウェア アレイによって保護された vdev 上で ZFS を実行するだけです。たとえば、コントローラ上で RAID-6 を実行し、その上に ZFS をインストールします。または、複数の RAID-X グループを実行し、結果として得られる vdev を ZFS でミラーリングまたはストライプ化します。

関連情報