ソフトウェアパリティ-RAID(RAID5など)の利点と欠点

ソフトウェアパリティ-RAID(RAID5など)の利点と欠点

最近、誰かが不揮発性キャッシュを持たないパリティRAIDに関連するいくつかの問題について話しました。より高価なハードウェアコントローラには、停電時に書き込みを完了できるバッテリ対応キャッシュがあります。一部の人々は、そのような障害がアレイのパフォーマンスの低下と組み合わされ、ファイルシステム全体を破壊する可能性があると言います。他の人は質問が古いか間違って理解されたと主張しています。

残念ながら、誰も特定の参照を提供せず、検索する人もいません。md RAIDと不揮発性キャッシュまたはビットマップキャッシュmd-RAID5 が推奨されるかどうかについて、明確な回答を提供してください。

関連情報がありますか?

答え1

Linux用のソフトウェアRAIDは、BBUがなく、書き込みストレージキャッシュが有効になっているハードウェアRAIDカードと同じくらい安定していると思います。結局のところ、ソフトウェアRAIDシステムのコミットされていないデータは、バッテリバックアップのない後書きキャッシュの形であるカーネルのバッファキャッシュにあります。

私が使用したすべてのハードウェアRAID-5カードはBBUなしで書き換えキャッシュを有効にできるため、ソフトウェアRAID-5は特定の許容範囲を持つ人にうまく機能することを期待しています。

戦争の物語を見る:

しかし、後者のキャッシュを有効にしたにもかかわらず、RAID-5カードにBBUがインストールされていないため、個人的に深刻なデータ損失を経験しました。 (UPSもありません。私に叫んではいけません。私の電話ではありません。)

私は休暇中に生産システムの1つが停電後に回復することができず、上司が慌てて私に電話しました。彼が試すことができるものは何も残りませんでした。道端に車を置き、ノートパソコンを取り出し、携帯電話でWiFiテザリングをオンにして、影響を受けたsshシステムに入り、家族が私と一緒に道端に座っている間に問題を解決しなければなりませんでした。バックアップが完了しました。アクセスしたデータベーステーブルを復元します。 (私たちは携帯電話の受信が切れるまで約1マイルほど離れていました。)

それでは、RAIDカード+ BBUにどれくらいの時間を費やすのですか?

答え2

警告:RAID-5/6書き込み操作は、アレイのパフォーマンスが低下したときに多くのCPU時間を費やす可能性があります。ディスク障害が発生したときにサーバーがすでにいっぱいになっている場合、サーバーは無応答状態になる可能性があります。ハードウェアRAIDコントローラではこの問題は発生しません。したがって、本番サーバーではソフトウェアRAID-5/6を使用しないことをお勧めします。ワークステーションや負荷の少ないサーバーの場合は問題ありません。

答え3

SW RAIDにはエラーモードがあります。書き込み中にサーバーにエラーが発生すると、ストライプが破損する可能性があります。 BBUを含むHW RAIDコントローラはそれほど高価ではなく、ディスクを再起動できるまでダーティブロックを維持します。

キャッシュのBBUはいいえ停電時に書き込みが保証されます(つまり、ディスクに電力が供給されていません)。ディスクを再起動できるまで数日間キャッシュに電力を供給します。その後、コントローラはすべてのダーティバッファをディスクにフラッシュします。

ソフトウェアおよびハードウェアRAID-5に関するいくつかの注意

  1. I / Oブロックで連続書き込みキャッシュを使用すると、すべてのI / Oが完了するまで呼び出しは返されないため、SW RAID-5ボリュームへの書き込みが遅くなる可能性があります。 BBWCを搭載したHW RAIDコントローラはこれを大幅に最適化できるため、はるかに優れたパフォーマンスが得られます。

  2. 前回確認したとき、SW RAIDボリュームは直接I / O(つまりゼロコピーDMA)を実行できませんでした。これは変更された可能性があり、実際には、rawパーティションを使用するデータベース管理者などのアプリケーションにのみ関連します。

  3. 最新のSAS RAIDコントローラは、特により大きな(たとえば256kb)ストライプサイズでフォーマットされている場合、ディスクアレイから1秒あたり1 GB以上のデータをプルまたはプッシュできます。年齢の人もベンチマークしました。Adaptec ASR-2200s速度は、ホストのCPU負荷がほとんどない状態で、両方のscsiチャネルが600MB / sec +(10 x 15kディスク)でほぼ飽和していることを示しています。最新のシステムでも、多くのCPUをロードせずに(まったく)ソフトウェアRAID-5がこれを取得できるかどうかはわかりません。おそらくすぐに読むことができます。

  4. ブートHW RAIDボリュームの設定は簡単です。 RAIDボリュームはオペレーティングシステムに透過的です。

Adaptecなどのプライマリベンダーの低コストRAIDコントローラは、小売価格が高価ではなく、eBayで安く購入できます。ただし、中古品を購入する場合は、プライマリベンダーを選択してモデル番号を知って、そのWebサイトでドライバの可用性を確認してください。

編集する:@psusiのコメントによると、fakeraid(ドライバに隠された透明なSW RAID)コントローラを使用していないことを確認してください。しかし、より大きなブランド(Adaptec、3Ware、またはLSI)が提供するほとんどの製品はfakeraidデバイスではありません。 BBUを受け取ることができるすべては偽のサポートではありません。

答え4

Linux mdadmソフトウェアRAIDは、バッテリ対応キャッシュを使用するハードウェアRAIDと同じくらい安定して設計されています。単一ディスクの突然の停電の問題を除いて、突然の停電の問題はありません。

停電後にシステムが再起動すると、アレイは再同期されます。これは、デフォルトでは、停電前に記録されたデータと一致するようにパリティを再計算することを意味します。これには時間がかかりますが、実際には大きな問題ではありません。書き込みビットマップを有効にすると、再同期時間を大幅に短縮できます。

関連情報