この投稿では、パフォーマンスを最適化するために ftScalableTM ストレージアレイ(以下 ftScalable と略す)を構成する方法についてのアドバイスを提供します。I/O ワークロードとパターンを理解し、いくつかの簡単なガイドラインに従うことで、 ftScalable を構成して可用性とパフォーマンスの要件を達成することができます。
専門用語
論理ディスク」という用語は、1つまたは複数のメンバディスクで構成されるVOS論理ディスクを指す。VOS は、メンバーディスクのすべてのデータをストライプ化します。ftScalable の導入前は、各メンバーディスクは物理ディスクドライブのペアでした。ftScalable の登場により、各メンバディスクは単一の LUN に関連付けられました。LUN または「論理ユニット」は、ftScalable 上の仮想ディスク ("VDISK") のサブディビジョンです。
VDISK は、特定の RAID タイプを使用して仮想ディスクに編成された 1 台以上の物理ディスクドライブの集合体です。
"デグレードモードとは、VDISK の物理ディスクドライブが故障した後、リカバリー動作が開始される前の動作を指します。
"リカバリーモード"とは、ドライブ故障後にVDISKを再構築している間の動作を指します。
RAIDタイプ
ftScalable がサポートする RAID タイプは多数ありますが、ここでは一般的に使用されているものだけを説明します。
RAID-0: RAID-0 VDISK は、セット内のすべての物理ディスクドライブにデータをストライプ状に配置します。最高レベルの I/O パフォーマンスを提供しますが、フォールトトレランスはありません。どの物理ディスクドライブも喪失すると、データは完全に失われます。さらに、ftScalable は、限界のある物理ドライブを自動的にサービスから外し、スペアドライブを使用してデータをプロアクティブに再構築することはできません。このRAIDタイプは、ミッションクリティカルな環境では決して使用しないでください。
RAID-1: RAID-1 VDISK は、ミラーリングされた物理ディスクドライブのシンプルなペアです。読み取りと書き込みのパフォーマンスが良く、1台のドライブの損失に耐えることができます。リードはどちらかの物理ドライブで処理でき、ライトは両方のドライブに書き込まなければなりません。 障害が発生したドライブからの復旧は簡単で、生き残ったパートナーからの再ミラーリングだけで済みます。通常、デグレードモードまたはリカバリモードで実行しても、パフォーマンスへの影響は最小限に抑えられます。
RAID-10: RAID-10 VDISK は複数の RAID-1 ディスクのセットで構成されており、データをすべての RAID-1 ペアにまたがってストライピングすることができます。RAID-10 VDISK は、高いパフォーマンスと、複数の物理ドライブの故障にもデータを失うことなく耐えられる能力を提供します。デグレードモードまたはリカバリーモードでのパフォーマンスへの影響は、RAID-1 VDISK のそれと似ています。
RAID-5/RAID-6: これらの RAID タイプは、パリティベースのアルゴリズムとストライピングを使用し、ミラーリングと比較して低コストで高可用性を提供します。RAID-5 VDISK はパリティのために 1 台の物理ディスクドライブ容量に相当する容量を使用し、RAID-6 は 2 台のドライブに相当する容量を使用します。RAID-5 VDISK は 1 台のディスクドライブが故障してもデータを失うことなく、RAID-6 VDISK は 2 台のドライブが故障しても生き延びることができます。 どちらのタイプも優れた読取り性能を提供しますが、書込み性能はデータブロックだけでなく、パリティブロックに必要な読取り/変更/再書込み操作の影響を受けます。ドライブ障害(デグレードモード)はスループットに中程度の影響を与え、リカバリーモードはスループットに高い影響を与えます。
RAIDタイプの選択
それぞれのRAIDタイプには、特定の利点と欠点があります。これらを理解することで、環境に最適なRAIDタイプを選択することができます。
書き込み速度が重要ではないデータやアプリケーション、あるいはアクセス速度を最大化することが重要ではない場合、RAID-5 は良い選択です。 低い書き込みスループット性能と高いレイテンシを許容する代わりに、与えられた容量に対してより少ないディスクを使用することができ、高い耐障害性を達成することができます。しかし、劣化した RAID セット(つまり、故障したディスクドライブ)で実行した場合のアプリケーションへの影響も考慮する必要があります。 パリティベースのRAIDタイプのI/Oパフォーマンスとレイテンシは、ミラーベースのRAIDタイプと比較して、デグレードモードとリカバリーモードの間、より多くの問題が発生します。
書き込みの速度とレイテンシを最適化することにパフォーマンスが依存するデータやアプリケーション、読み取りよりも書き込みの方が多いデータや、ドライブの故障時にパフォーマンスが低下しないようにする必要があるデータやアプリケーションには、ミラーベースのRAIDタイプ(RAID-1またはRAID-10)がより良い解決策を提供します。これらの RAID タイプはどちらも RAID-5 や RAID-6 のようなリード・ビフォー・ライトのペナルティを排除しているため、データの書き込みは簡単な操作で済みます。RAID-10は一般的にRAID-1よりも良い選択です。なぜなら、複数の物理ドライブ上にデータをストライプ化することができ、全体的な読み取りと書き込みのパフォーマンスを大幅に向上させることができるからです。(ただし、後述の「VOS マルチメンバー論理ディスク対 ftScalable RAID-10 VDISKs」の項をお読みください)。
パリティベースとミラーベースのどちらを選択するか決められない場合は、ミラーベースのRAIDタイプのいずれかを使用するのが最も安全な選択です。
VDISKSへのLUNの割り当て
レビューするために、1つまたは複数の物理ディスクはVDISKを構成します。VDISKは、1つ以上のLUNに分割することができる。各LUNは、特定のVOSメンバディスクに割り当てられる。 つ以上のメンバディスクは、1つのVOS論理ディスクに結合される。
VDISK には単一の LUN を割り当てることを強くお勧めします。 ftScalable は VDISK を複数の LUN に分割することをサポートしていますが、このオプションを使用すると、I/O スループットとレイテンシの両方に影響する大きなパフォーマンスの低下が発生する可能性があります。
これらのペナルティの理由はいくつかありますが、基本的なものは簡単に理解できます。ftScalable は、VDISK あたりの複数の LUN 構成で LUN の 1 つにアクセスするたびに、ディスクドライブのヘッドをシークしなければなりません。VDISK を構成する LUN が多ければ多いほど、ヘッドの動きが大きくなります。ヘッドの動きが大きくなればなるほど、レイテンシも大きくなります。すべてのI/Oは最終的にVDISKを構成する物理ドライブによって処理されなければならないことを覚えておいてください。
Stratusは、4-LUN VDISKの総I/Oスループットは、1つのLUNとして構成された同じVDISKの約半分の性能であり、レイテンシは4倍以上にもなることを実証するベンチマークを実施しました。
VOSの論理ディスクをLUNに割り当てる
最も単純な方法は、各 LUN に 1 つの VOS 論理ディスクを割り当てることです。1つのLUNよりも大きなVOS論理ディスクが必要な場合や、ストライピングのパフォーマンスの利点を利用したい場合は、各メンバーディスクが1つのLUNであるVOSマルチメンバー論理ディスクを作成することができます。
VOS マルチメンバー論理ディスクと ftScalable RAID-10 VDISK の比較
ストライピングは、VOS レベル(VOS マルチメンバ論理ディスクを作成することで)、または ftScalable レベル(RAID-10 VDISK を作成することで)、または両方の方法の組み合わせ(例えば、複数の LUN を RAID-5 VDISK に組み合わせて 1 つの VOS マルチメンバ論理ディスクを作成すること)で実装することができます。ストライピングを使用したい場合は、VDISKS に RAID-1 または RAID-5 を使用し、VDISK あたり 1 つの LUN を使用し、これらの LUN を VOS マルチメンバー論理ディスクに結合することをお勧めします。 VOSは各LUNに対してディスクリクエストの個別のキューを使用するため、LUNの数を最大化することでスループットを最大化し、レイテンシを最小限に抑えることができます。
VOS論理ディスクへのファイルの割り当て
可能であれば、ランダムアクセスされたファイルとシーケンシャルアクセスされたファイルを別々の論理ディスクに割り当てます。同じ論理ディスク上で 2 種類のファイルアクセス方法を混在させると、ランダムアクセスファイルにアクセスするのに必要なワーストケースの時間が長くなり、シーケンシャルファイルの最大可能なスループットが低下します。
概要
これらのシンプルなガイドラインを使用することで、信頼性の高い、ハイスループット、低レイテンシのディスクアクセスを実現できます。
ここで推奨している構成とは異なる構成を使用する正当な理由があると思われる場合は、アカウントチームにご連絡ください。私たちはいつでも既存の ftScalable 構成をレビューし、お客様の特定の状況に合わせたガイダンスを提供することができます。
この情報が役に立つことを願っています。質問やコメントがあれば、この投稿に返信してください。
謝辞
この記事の執筆にあたり、ジョー・サンツィオ氏には大変貴重なご協力をいただきました。残った誤りはすべて私のものです。