ストレージ階層化を活用するために知っておくべき5つのポイント:深刻なトラブルを引き起こす可能性も
データの使用頻度や用途に応じて適切なストレージメディアにデータを配置するストレージ階層化。コストとパフォーマンスを両立する機能だが、その特性を理解しておかないとトラブルが生じる可能性がある。
ストレージソリューションを正しく実装するには、常に容量、パフォーマンス、コストのバランスを取る必要がある。リソースに制限がなければ、可能な限り高速なメディアに全てのデータを配置するだろう。今ならNVDIMM(不揮発性DIMM)またはNANDフラッシュを使用することになる。
だが、そんなぜいたくが許されるのは資金豊富な組織に限られる。実際には、容量とパフォーマンスのニーズをうまく両立させるために、ストレージ階層化のような手法が必要だ。
階層化すれば、待ち時間やスループットなどのパフォーマンス要件に応じて、ほぼ適切といえる種類のストレージにデータを配置できるようになる。例えば、アクセス頻度が低いデータは大容量のSATAドライブに配置し、高いパフォーマンスが求められるトランザクションデータベースはNANDフラッシュに配置する。
1 階層化とキャッシュは別物
階層化に踏み込む前に、キャッシュと階層化の違いを示しておくべきだろう。サプライヤーの階層化を利用する場合は、この差を理解しておくことが重要だ。
階層化とは、永続化したデータのコピーを1つ用意し、それを複数種類のストレージ間で移動させることだ。これに対してキャッシュとは、データの一時的なコピーをパフォーマンスの高いストレージに置くことだ。どちらも目的はパフォーマンスを向上することだが、キャッシュの場合はストレージアレイに容量を追加する必要はない。ただし、キャッシュにはコスト面のオーバーヘッドが生じる。
階層化のプロセスは長い年月をかけて進化を重ね、成熟してきた。初期の実装は、LUN(Logical Unit Number:論理ユニット番号)全体(ボリューム全体)を別の階層に配置することを基礎とし、通常はフラッシュではなく複数レベルのHDDを備えたシステムに組み込まれていた。どちらかといえば静的なこのアプローチはコストを幾分低減するが、データのアクティビティーレベルが変化するとデータの移動に問題が生じる。つまり、ボリューム全体を別のストレージ層に移さなくてはならず、移動のための空き容量が必要になる。
ストレージアレイ間でのデータ移動には多大なコストが掛かる。ホスト要求に使用するI/Oが移動によって妨げられたり、移動中にデータへのアクセスができなくなったりする恐れもある。
階層化が次の段階に進むと、サブボリューム単位に細分化するアプローチが取られるようになる。この方式は、各LUNを小さな単位に分け、複数階層のストレージ(フラッシュも含む)に割り当てる。この単位は、ブロックやページなど、サプライヤーによって呼び方が異なる。このブロックレベルのアプローチによって柔軟性が大きく向上し、高価なストレージが最適なデータには、そうしたストレージを割り当てることも可能になった。以前はデータベース全体をLUNと共に移動する必要があったが、データベースの中でも使用頻度の高い部分だけをフラッシュに移動することもできる。
自動ストレージ階層化は、データの配置プロセスを一歩進め、各ストレージ層へのデータブロックの配置に関する決定を管理する。こうしたプロセスの自動化は大規模ストレージアレイにとっては自然な進化といえる。アクティブなデータを全て監視することは、システム管理者には負担が大き過ぎる。
2 階層化との相性が良いフラッシュストレージ
フラッシュストレージは特に階層化ソリューションに適している。これは一般に、I/Oアクティビティーがデータの各ボリュームに分散されるためだ。通常、アプリケーション内で行われるI/Oの大半に関係するデータは少量だ。この考え方はボリュームレベルにも当てはまる。
この現象を「パレートの法則」(通称:「80対20の法則」)と呼ぶ。つまり、少量の高価なリソース(例えばフラッシュ)を、大半のI/Oワークロードで使用されるデータに割り当てることができる。当然ながら、フラッシュストレージと従来のストレージの厳密な比率は、アプリケーションのデータを分析した結果によって決まる。
階層化はフラッシュとHDDの組み合わせで行われると決まっているわけではない。NANDフラッシュ市場は多様化が始まっており、耐久性、容量、パフォーマンス、コストの要件を満たすさまざまな製品に枝分かれしている。
ストレージアレイのサプライヤーが、同じ装置内で複数層のフラッシュを使用するソリューションを提供する日もそう遠くない。例えば、書き込み操作が多いデータは耐久性の高いフラッシュに配置し、残りのデータは低コストの3D NANDフラッシュやTLCフラッシュに置くこともできる。
3 サプライヤーによって異なる階層化の実装
サプライヤー固有の階層化実装について詳しく見てみる場合、考慮すべき点が2つある。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
関連記事
ストレージ階層化を活用するために知っておくべき5つのポイント
ストレージのI/Oパフォーマンスを低下させる「ミスアライメント」問題
3D XPoint、Z-NAND、TLC、QLC……ユースケースに最適なSSDとは
Copyright © ITmedia, Inc. All Rights Reserved.