web-dev-qa-db-ja.com

LSIraidcontrollerの背後にあるzfsエラー

したがって、ZFSはいくつかの「読み取りの問題」を報告しているため、 ZFS-8000-9P ドキュメントレポートに記載されていない事実に基づいて、このディスクに障害が発生しているように見えます。これらのディスクはかなり新しいもので、最近発生した唯一の問題は完全なZFSでした。

ZFSは LSI MegaRAID 9271-8i の上で実行され、すべてのディスクはディスクごとに「RAID0」で実行されます。私はこの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

スクリプトは障害のあるディスクを報告しません。また、raidcontrollerはドライブに障害があるとマークしません。私は他のいくつかのトピックを見つけました zpool error エラーをクリアしてスクラブを実行するためのアドバイスを与えました。ここで私の質問は、スクラブを実行するためのしきい値はいつですか、これにはどのくらい時間がかかりますか(このzfs RAIDがスクラブを実行するためにパフォーマンスヒットを要すると仮定します)また、このディスクが本当に故障している場合、ホットスワップは「再構築」を初期化します?すべてのディスクは「WesternDigitalRE 4TB、SAS II、32MB、7200rpm、エンタープライズ24/7/365」です。これは単なる定期的な手動チェック?

zfsバージョン:0.6.4.1 zfsonlinux

2つの読み取りエラーが割り当てられていないことはわかっていますが、ディスクを早めに交換してから遅めに交換したいと思います。

1
SvennD

zfs scrubは「zfsエラーをチェックするシステム」です。ボリュームに格納されているすべてのデータを読み取るのにかかる時間と同じくらい時間がかかります(txgの順序で実行されるため、プールの容量とデータの書き込み方法によっては、大量のデータを検索する可能性があります)。開始すると、zfs statusに見積もりが表示されます。スクラブの実行を停止できます。

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

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

表示されている読み取りエラーは、ある種のコントローラーの事故である可能性もあります。エンタープライズハードウェアですが、これらの(HW RAID)コントローラーは時々奇妙な動作をします。そして、これらのエラーは、たとえば、コマンドに時間がかかりすぎた結果である可能性があります-コントローラーが何かでビジー状態です。だから私は必要がない限りそれらから離れようとします。

ドライブ上のSMARTデータ(man smartctlを参照))をチェックし、プールをスクラブします。両方とも問題ないように見える場合は、エラーをクリアし、プールを台無しにしないでください。プールがほぼ完全に読み取られている場合、再シルバー中にすべてのデータが実際に別のエラーをトリガーする可能性があるためです。同じドライブでエラーが再び表示されたら、パニックを開始します;)。

ところで。最高のパフォーマンスを得るには、RAIDZ2vdevでn ^ 2 +2ドライブを使用する必要があります。

2
Fox

この場合、ZFSから指示されたとおりに実行します。 スクラブを実行してください。

私はスケジュールに従って毎週システムをスクラブします。また、 zfswatcher デーモンを使用して、LinuxZFSインストールの状態を監視します。

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

そして他の質問については、あなたのホットスワップはおそらくあなたが期待することをしないでしょう...以下の暴言を見てください。


暴言:

ハードウェアコントローラーの背後に多数のRAID-0仮想ドライブを配置することは悪い考えです。

あなたは両方の世界の中で最悪です。回復可能性とエラーチェックは制限されています。故障したディスクは本質的に故障した仮想ドライブであり、ホットスワップの影響があります。問題のディスクを取り外したとしましょう。新しい仮想ディスクを作成する必要があるか、ドライブの列挙が異なる可能性があります。

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

3
ewwhite