前の記事で始まったストレージシステムに適用される入力/出力操作を加速する技術の検討を続けると、Auto Tieringなどの非常に人気のあるオプションについて詳しく調べるしかありません。 この機能のイデオロギーは、さまざまなストレージシステムメーカーのイデオロギーに非常に似ていますが、例としてQsan ストレージシステムを使用した実装のティアリングの機能を検討します。
ストレージにはさまざまなデータが保存されていますが、これらの同じデータは、関連性(使用頻度)に基づいていくつかのグループに分類できます。 最も人気のある(「ホット」)データは最速のアクセスを編成するために非常に重要ですが、あまり人気のない(「コールド」)データの処理は低い優先度で実行できます。
そのようなスキームを整理するために、ティアリング機能が使用されます。 この場合のデータアレイは、同じタイプのディスクではなく、異なる階層ストレージレベルを形成するドライブのいくつかのグループで構成されています。 特別なアルゴリズムを使用して、最終的なパフォーマンスを最大限に高めるために、レベル間でデータが自動的に移動されます。
Qsanストレージシステムは、最大3つのストレージ層をサポートしています。
- ティア1:SSD、最大パフォーマンス
- ティア2:HDD SAS 10K / 15K、高性能
- ティア3:HDD NL-SAS 7.2K、最大容量
自動階層化プールには、3つのレベルすべてを含めることができ、任意の組み合わせで2つのみを含めることができます。 各層内で、ドライブは使い慣れたRAIDグループに結合されます。 最大限の柔軟性を得るために、各層のRAIDレベルは異なる場合があります。 つまり、たとえば、4x SSD RAID10 + 6x HDD 10K RAID5 + 12 HDD 7.2K RAID6のような構造を整理することを妨げるものは何もありません
その上の自動階層プールにボリューム(仮想ディスク)を作成した後、すべてのI / O操作に関する統計のバックグラウンド収集が開始されます。 これを行うには、スペースを1GBブロック(いわゆるサブLUN)に「カット」します。 このようなブロックにアクセスするたびに、係数1が割り当てられます。その後、時間の経過とともに、この係数は減少します。 24時間後、このユニットの入力/出力要求がない場合は、すでに0.5に等しくなり、後続の各時間の後に低下し続けます。
特定の時点(デフォルトでは毎日午前0時)で、収集された結果は、係数に基づいてサブLUNアクティビティごとにランク付けされます。 これに基づいて、移動するブロックと方向を決定します。 その後、実際には、レベル間でデータが再配置されます。
Qsanストレージシステムは、さまざまなパラメーターを使用してティアリングプロセスの制御を完全に実装します。これにより、最終的なアレイパフォーマンスを非常に柔軟に構成できます。
データの初期位置とその移動の優先方向を決定するために、ボリュームごとに個別に設定されるポリシーが使用されます。
- 自動階層化 -デフォルトポリシー、動きの初期配置および方向は自動的に決定されます。 「ホット」データは最高レベルになる傾向があり、「コールド」データは下に移動します。 初期配置は、各レベルで使用可能なスペースに基づいて選択されます。 ただし、システムは主に最速のドライブの使用を最大化しようとしていることを理解する必要があります。 したがって、空き領域がある場合、データは上位レベルに配置されます。 このポリシーは、データ需要を事前に予測できないほとんどのシナリオに適しています。
- 高いところから始めて、自動階層化 -前のものとの違いは元のデータの場所のみです(最速レベルで)
- 可能な限り最高のレベル -データは常に最速のレベルを占めるように努めます。 処理中に下に移動した場合、できるだけ早く元に戻ります。 このポリシーは、最速のアクセスが必要なデータに適しています。
- 最小レベル -データは常に最低レベルを占有しようとします。 このポリシーは、めったに使用されないデータ(アーカイブなど)に最適です。
- 移動なし -システムはデータの初期位置を自動的に決定し、移動しません。 ただし、後で再配置が必要になった場合に備えて、統計は引き続き収集されます。
各ボリュームの作成時にポリシーが定義されているという事実にもかかわらず、システムのライフサイクル中にポリシーをオンザフライで繰り返し変更できることに注意してください。
ティアリングメカニズムのポリシーに加えて、レベル間のデータ移動の頻度とペースも構成されます。 特定の移動時間(毎日または特定の曜日)を設定し、統計の収集間隔を数時間(最小頻度は2時間)に短縮することもできます。 データ移動操作の実行時間を制限する必要がある場合は、時間枠(移動のウィンドウ)を設定できます。 さらに、再配置の速度も示されます-3つのモード:高速、中、低速。
すぐにデータを再配置する必要がある場合は、管理者のコマンドでいつでも手動モードで実行できます。
レベル間でデータをより頻繁に、より高速に移動するほど、ストレージシステムが現在の動作条件により柔軟に適応することは明らかです。 しかし同時に、移動は追加の負荷(主にディスク上)であることに注意する必要があります。したがって、極端な必要なしにデータを「駆動」する価値はありません。 最小負荷の瞬間の動きを計画することをお勧めします。 ストレージシステムの運用に常に高パフォーマンスが必要な場合は、再配置の速度を最小限に抑えることをお勧めします。
豊富なティアリング設定は、間違いなく上級ユーザーを満足させるでしょう。 ただし、このような技術に初めて直面する人にとっては、心配する必要はありません。 デフォルト設定(夜間に1日に1回最大速度で移動する自動階層化ポリシー)を信頼し、統計が蓄積されると、特定のパラメーターを調整して目的の結果を得ることができます。
ピアリングとSSDキャッシングのような生産性を高める人気の高いテクノロジーとを比較すると、アルゴリズムの異なる原則に留意する必要があります。
| SSDキャッシング | 自動階層化 |
---|
効果発現率 | ほぼ瞬時に。 しかし、顕著な効果は、キャッシュが「ウォームアップ」した後(分-時間) | 統計を収集した後(2時間から、理想的には1日)、さらにデータを移動する時間 |
効果持続時間 | データが新しい部分に置き換えられるまで(分-時間) | データの需要が関連している間(日以上) |
使用の適応 | 短時間で生産性を瞬時に向上(データベース、仮想化環境) | 長期にわたる生産性の向上(ファイル、Web、メールサーバー) |
また、ティアリングの機能の1つは、「SSD + HDD」のようなシナリオだけでなく、「高速HDD +低速HDD」または一般的に3つのレベルすべてで使用できる可能性です。
テスト中
ティアリングアルゴリズムの動作をテストするために、簡単なテストを実施しました。 2つのレベルのSSD(RAID 1)+ HDD 7.2K(RAID1)のプールが作成され、その上に「最小レベル」ポリシーを持つボリュームが配置されました。 つまり データは常に低速のディスクに配置する必要があります。
制御インターフェースは、レベル間のデータの配置を明確に示します
ボリュームをデータで満たした後、配置ポリシーを自動階層化に変更し、IOmeterテストを実行しました。
数時間のテストの後、システムが統計を蓄積できるようになると、再配置プロセスが開始されました。
データの移動が終了すると、テストボリュームは完全に上位レベル(SSD)にクロールされました。
評決
自動階層化は、高速ドライブをより集中的に使用することにより、最小限の材料と時間のコストでストレージシステムの生産性を向上できる素晴らしいテクノロジーです。 Qsanに関しては、唯一の投資はライセンスです。ライセンスは、ボリューム/ディスク数/シェルフ/などに制限なく一度だけ取得されます。 この機能には、ほぼすべてのビジネスタスクを満たすことができる豊富な設定が備わっています。 また、インターフェイスでプロセスを視覚化すると、デバイスを効果的に管理できます。