web-dev-qa-db-ja.com

SW SSD Raid 1 over HW RAID 10

プロバイダー(データセンター)は、メカニカルドライブを備えたHW RAID10よりもソフトウェアRAID1で1TBSSDを使用することを推奨しました。

彼らの引用:

通常、SSDはRAIDカードよりも信頼性が高く、部品が少ないため、障害点が少なくなります。 RAID1は非常にシンプルなストレージであるため、CPU負荷はそれほど大きくありません。

それはどれほど真実であり、仮想マシンを実行している場合、RAID 1 SWは理想的ですか?彼らはそう言います。

詳細: XEN/XEN-HvM/KVMを実行する予定です-つまり、ホストとしてLinuxを実行し、ゲストがWindowsをLinuxにホストできるセットアップが必要です。独自のカーネルをコンパイルできます。

私が達成したいこと:ドライブの障害をすばやく認識し、ダウンタイムやパフォーマンスへの影響をほとんどまたはまったく発生させずに交換品を投入できるようにするため。

6
Jason

RAID10では、RAID1と同じように、ドライブのいずれかが故障してもアレイは存続します。 RAID10は6つの「2つのドライブが同時に故障した」状況のうち4つに耐えることができますが、2つのR1ではなく4つのドライブでR10を使用する主な理由は、信頼性の向上ではなくパフォーマンスであり、SSDによってパフォーマンスが大幅に向上します。

初期のSSDには信頼性の問題がありましたが、私が見た中で最も適切に実行されたテストは、当時は古く、金属ベースのドライブを回転させるよりも失敗する可能性が低いことを示唆しています-全体的な信頼性が向上し、ウェアレベリングのトリックが非常に高まっていますインテリジェント。

仮想マシンを実行している場合、RAID 1 SWは理想的ですか?

ホストでRAIDアレイを実行していると仮定します。その場合、VMに特定の負荷パターンがない限り(直接の物理ハードウェアでも問題になります)、ソフトRAIDとハードRAIDの違いはありません。 VMの使用に依存すること。 VM内でRAIDを実行している場合は、何かがおかしくなっている可能性があります(VMがRAID管理を学習またはテストするためのものでない限り)。

ハードウェアRAIDの主な利点は次のとおりです。

  • 多重書き込みによる潜在的な速度向上:ソフトウェアRAID1は、各ドライブに順番に書き込みます。ハードウェアRAID1では、OSは一度だけ書き込み、ハードウェアは両方に同時に書き込みます。理論的には、これはピークのバルク転送速度を2倍にすることができます(ただし、実際にはその差はそれよりはるかに小さい可能性があります)が、ランダム書き込みにはほとんどまたはまったく差がありません(スピニングメタルでは主なボトルネックはヘッドの動きであり、SSDでは主な違いです)ボトルネックは、小さな書き込みでも大きなブロックを書き込む必要があり、準備ができているブロックがない場合はブロックのクリア時間です)。
  • バッテリーバックアップ(またはソリッドステート)キャッシュによる安全性(これはハイスペックコントローラーでのみ可能です)により、突然の電力損失の状況でもコントローラーがヒットしていない書き込みブロックを維持できるため、コントローラーでキャッシュを安全に実行できますドライブはまだドライブしていて、電源が戻ったときに書き込みます。
  • ホットスワップがサポートされる可能性が高くなります(DCキットはホットスワップをより一般的にサポートしている可能性があるため、SW RAIDでも使用できる場合があります)。

優れたソフトウェアRAID(つまり、Linuxのmdadmマネージドアレイ)の主な利点は次のとおりです。

  • アレイが特定のコントローラー(またはさらに悪いことに、特定のコントローラーの特定のバージョン)にロックされることはありません。つまり、他のすべてのハードウェアに障害が発生してもアレイは存続する場合、アレイを新しいキットに移動できます。これを使用して、マザーボードが故障したファイルサーバーを保存しました。ドライブを新しいボックスに移植しただけで、手動による介入なしですべてが復旧しました(最近のバックアップに対してドライブを検証し、できるだけ早く交換しました。死亡は、ドライブに影響を与えたがすぐには停止しなかった電源の問題でしたが、この簡単な移植により、メンテナンスウィンドウの外でのダウンタイムが大幅に短縮されました)。もちろん、DCにスペアパーツがすぐに手元にある場合、これはそれほど問題にはなりません。

SSDの信頼性とパフォーマンスについて:

SSDのオーバープロビジョニングスペースには、2つの理由があります。ブロックが不良になった場合に再マップできるブロックをたくさん残し(従来のドライブもこれを行います)、TRIMが余分なブロックは他のすべてのブロックと一緒にウェアレベリングプールを循環できるため、使用されません(コントローラーは、余暇に次の使用に備えて事前にワイプできます)。民生用グレードのドライブは、再マッピングの使用と少量のパフォーマンス保護に十分なだけ実際に割り当て不足であるため、同様の効果を持つ手動で割り当て不足(たとえば、240GBドライブの200GiBのみをパーティション化)すると便利です。詳細については、 これ のようなレポートを参照してください(このレポートはコントローラーの製造元によってリリースされていますが、売り込みではなく問題の一般的な説明のようです。製造元に依存しないレポートが見つかることは間違いありません。あなたがそれらを探すなら同じ主題)。エンタープライズグレードのドライブは、はるかに大量にオーバープロビジョニングされる傾向があります(上記の両方の理由:信頼性とパフォーマンス)。

3
David Spillett

ドライブ、ディスクコントローラー、SSDの種類、RAIDの実装、関係するオペレーティングシステム、サーバー、監視機能、サーバーへの帯域外アクセスの有無などによって異なります。

編集:Linux + KVMを使用します。

  • 1つのディスクを取り出すハードウェアRAIDソリューションのドライブ障害を想定します。アラートを受信し、ドライブをホットスワップします。簡単です。

  • ソフトウェアRAID SSDドライブの障害が検出されず(明示的な監視が行われず)、ダウンタイムが必要になるか、または修正するのに複雑なプロセスになる可能性があると想像してください。

  • ハードウェアRAIDでSSDを使用することを妨げるものはありませんか?

しかし、それはすべて異なります...

SSDのパフォーマンスが必要な場合は、ハードウェアRAIDを備えたSSDをプッシュします。私は必ずしもソフトウェアRAIDから起動する必要はありませんが、それはあなたの選択です。仮想化の場合、おそらくランダムな読み取り/書き込みアクティビティが混在することになります。 ハードウェアRAIDのキャッシュが役立つ場合があります 。ただし、これがデータセンターである場合は、突然の停電を心配する必要はありません。

10
ewwhite

スピードvs信頼性

ほとんどのレイドコントローラーはSSDを完全にはサポートしていないか、特定のブランドのssdのみをサポートしています(Dell perc 6xxを参照)。また、友だちは友だちにSRを許可しません...そのホームゲームシステムでない限り。

(HWレイド+ ssdレイド1)vs(HWレイド+物理ディスクレイド10)

SSD(レイドコントローラーで完全にサポートされている場合)とHDの速度の違いは、フロッピードライブのフォーマットとUSBスティックのフォーマットを比較するようなものです。 1つは3分、もう1つは3秒かかります。したがって、そのような速度が必要な場合は、SSDを使用してください...そして、適切なバックアップがあることを確認してください。そうでない場合は、物理ディスクを使用し、適切なバックアップを作成してください。 ;-)

1
CoffeeBlack

どのソリューションを使いましたか?はい、SSDは高速であり、SSDを特定の目的に使用すると、パフォーマンスが大幅に向上します。ホストデータベースサーバー。 LinuxソフトウェアRAID1でSSDを使用して実行されている多数のサーバーをサポートしています。 1つを除いてすべて問題なく動作します。その1つのサーバーで、RAIDはSSDの1つについてディスク障害を繰り返し報告します(ランダムに、常に同じディスク(disk1/disk2)とは限りません)。これまでのところ、その理由を特定することはできませんでした。また、ディスクの交換に問題がある可能性があるため、ホストOSがこれら2つのSSDをどのように認識するかを検討してください(ホットスワップを実行できません)。ディスクがOSにも使用されている場合、ソフトウェアレイドでディスクをホットスワップできますか?

一方、エンクロージャー、優れたRAIDコントローラー、および多数のディスク(RAD10)を備えた旧式のネットワークストレージは、安心を提供します。障害が発生したディスクのホットスワップは、運用サーバーにとって必須です。

何をするにせよ、別のハードウェアに定期的にバックアップをとることを忘れないでください。 「RAIDはバックアップの代わりにはならない」と何度も言われていました。

1
Vojkan

Linux上のZFS を見たことはありますか?

クラウドプロバイダーのJoyentは、ZFSの下でKVM on custom OpenSolaris kernel を使用しています。速度のためにすべてのSSDを使用する必要があります。

0
Ausmith1