2012年5月21日月曜日

ストレージ技術 覚書2

◆アクセス頻度によってストレージを使い分ける「ILM」

 ストレージ仮想化を使った応用的な機能として、ILM(Information Lifecycle Management)がある。ILMは、情報(データ)が生成され、利用され、最終的に破棄されるまでのライフサイクルを、主にアクセス頻度に注目して数段階に分類し、それぞれの段階で適切なストレージ・デバイスを使い分けようという発想だ。

 通常、生成されて間もない「新鮮な」情報は参照/更新ともに高頻度で行われる。この段階の情報は、アクセスが高速なストレージ・デバイスに格納しておかないと業務効率を低下させる要因にもなる。このため、通常は手持ちのストレージ・デバイスの中でも最も新しく最も高速なシステムがこうした用途に充てられる。

 例えば決算期にのみ参照されるデータであれば、保存用のアーカイブ・ストレージに移動しておき、決算期にはそこから取り出してくる、という運用でも効率面での悪影響は軽微にとどまるだろう。むしろ、オンライン・ストレージからめったに参照されないデータを排除することができれば、そのメリットがデメリットをはるかに上回ることが期待できる。

 こうしたデータの移動は、残念ながら人力で実施することが極めて困難だ。日ごと/週ごと/月ごとといった形で定期的に生成されるファイルであれば、ちょっとしたスクリプトを書く程度の手間で半自動化も可能かもしれない。しかし、通常はファイルに対してどの程度の頻度でアクセスが発生しているかの情報を把握することすら困難であり、データを移動してしまうとアプリケーションからデータを見つけることができなくなるなど、さまざまな弊害が出てくる。そのため、ILMはコンセプトとしては分かりやすいものの、実装は簡単ではないソリューションとなっている。

 現実のILMソリューションでは、仮想化技術と組み合わせることで実装上の困難を解消している例が大半だ。

 これには、仮想ボリュームと物理デバイスのマッピングをアプリケーションからは隠ぺいされた形で動的に変更できるという仮想化の特長が生かされている。データをその鮮度とアクセス頻度に応じた物理デバイスに移動しつつ、アプリケーションから見た場合のパスは不変に保つ、といった実装が可能なのは、仮想化技術ならではと言ってよいだろう。