ストレージ仮想化の基礎知識
アクセス頻度によってストレージを使い分ける「ILM」
ストレージ仮想化を使った応用的な機能として、ILM(Information Lifecycle Management)がある。ILMは、情報(データ)が生成され、利用され、最終的に破棄されるまでのライフサイクルを、主にアクセス頻度に注目して数段階に分類し、それぞれの段階で適切なストレージ・デバイスを使い分けようという発想だ。
通常、生成されて間もない「新鮮な」情報は参照/更新ともに高頻度で行われる。この段階の情報は、アクセスが高速なストレージ・デバイスに格納しておかないと業務効率を低下させる要因にもなる。このため、通常は手持ちのストレージ・デバイスの中でも最も新しく最も高速なシステムがこうした用途に充てられる。
とはいえ、こうしたデータも時間の経過と共に古くなっていく。通常はまず更新が途絶え、時々参照されるだけになってくるため、最新最速のストレージ・デバイスに格納されている意味は薄れてくる。
むしろ安価で大容量のストレージ・デバイスに移動したいところだが、通常の運用では、データの格納場所を移動するのはアプリケーション側での設定変更など、面倒な作業が伴うため、あまり行われていない。
そして、さらに古くなったデータは、最終的に参照されることすらまれとなり、いわば「歴史的記録」として保存されるだけの状態になる。企業に対して業務活動の記録を長期にわたって保存するよう求める圧力が高まっているという事情もあって、データが廃棄される機会は減っているようだが、めったに参照されないデータはオンライン・ストレージに格納されている必要すらないことが大半だろう。
例えば決算期にのみ参照されるデータであれば、保存用のアーカイブ・ストレージに移動しておき、決算期にはそこから取り出してくる、という運用でも効率面での悪影響は軽微にとどまるだろう。むしろ、オンライン・ストレージからめったに参照されないデータを排除することができれば、そのメリットがデメリットをはるかに上回ることが期待できる。
こうしたデータの移動は、残念ながら人力で実施することが極めて困難だ。日ごと/週ごと/月ごとといった形で定期的に生成されるファイルであれば、ちょっとしたスクリプトを書く程度の手間で半自動化も可能かもしれない。しかし、通常はファイルに対してどの程度の頻度でアクセスが発生しているかの情報を把握することすら困難であり、データを移動してしまうとアプリケーションからデータを見つけることができなくなるなど、さまざまな弊害が出てくる。そのため、ILMはコンセプトとしては分かりやすいものの、実装は簡単ではないソリューションとなっている。
現実のILMソリューションでは、仮想化技術と組み合わせることで実装上の困難を解消している例が大半だ。これには、仮想ボリュームと物理デバイスのマッピングをアプリケーションからは隠ぺいされた形で動的に変更できるという仮想化の特長が生かされている。データをその鮮度とアクセス頻度に応じた物理デバイスに移動しつつ、アプリケーションから見た場合のパスは不変に保つ、といった実装が可能なのは、仮想化技術ならではと言ってよいだろう。
シン・プロビジョニング ~ストレージ仮想化のこれから
シン・プロビジョニングは、ストレージ仮想化の中でも特に注目される機能である。シンプロビジョニングでは、将来的に必要となる容量を確保したようにサーバー側に見せかける一方で、実際の物理デバイスのマッピングは当面必要な分量だけにとどめる、といった運用を実現する。将来的にはデータベースのサイズが10TBに拡大すると見込まれるが、現時点ではまだ2TBしかない、といった場合、従来は最初に10TBの容量を確保してしまい、当面は使われていない8TB分は空き容量として眠らせておく、というやり方を採るしかなかった。これはもちろん、サーバーに対して割り当てるボリュームのサイズを運用中に変更するのが面倒な作業であるという理由が大きい。
シンプロビジョニングでは、サーバーに対しては10TBの仮想ボリュームを見せる一方で、実際の物理デバイスは2TB分だけを確保しておく、ということができる。
この場合、データが増えてきたら物理デバイスを新たに確保して実容量を追加することになるが、サーバー側ではその変化は全く分からない。シンプロビジョニングを利用すると、必要となった時点で必要な分だけこまめに容量を追加する、という運用が可能になるため、ストレージ容量の利用効率が大きく改善される。小さく始めて大きく育てる、といった段階的な成長が可能になるわけだ。データ量の増加が見込まれるが、どのくらいのペースでどこまで増加するか見通しが立たない、という状況にも容易に対応できるようになるため、事前に緻密なサイジングを行わなくても、破たんしないシステム設計が可能になるのだ。
シンプロビジョニングは無駄なIT投資の抑制にも効果があるが、最近注目を集めるIT分野での電力消費量の削減にも貢献する。ストレージ・システムの電力消費量の多くは、HDDを回転させるために使われているからだ。
シン・プロビジョニングでは、当面必要のない容量分に関しては、HDDが存在している必要すらない。あらかじめ想定量を割り当てておく従来の手法では、空き容量分のHDDもあらかじめ確保しておく必要があり、このHDDは格納されるべきデータが存在していないにも関わらずシステムの運用中はずっと無駄に回転していることになる。この状態は電力の浪費でもあり、削減できれば環境問題の観点からも好ましいということになる。
存在しないHDDがあたかもあるかのように見せかける、という意味ではまさしく「仮想ストレージ」であり、仮想化技術のメリットを最も分かりやすい形で体現している応用例だと言えるだろう。
ストレージの仮想化では、仮想化機能をどこに実装するかでさまざまなアプローチがある。ハイエンド・ストレージでは、ストレージ・デバイス自体に仮想化機能が組み込まれているのが一般的だが、ネットワーク・レイヤーでの実装として、SANスイッチに仮想化機能を持たせる例もある。また、仮想化のための専用デバイスをアプライアンスとして用意する例もあれば、サーバー側で稼働するソフトウエアで実装する例もある。
それぞれの実装手法にはそれぞれ得手不得手があるが、一般的な選択手法としては、既存のストレージ・デバイスを有効活用できるのはどの手法か、という点から考えることになるだろう。ストレージ・デバイスは相対的に高価なリソースであり、かつその変更はシステム・デザイン全体に大きなインパクトを与えるため、既存環境との整合性が重要になる。
もちろん、過去の不合理な構成を丸ごと残してしまっては意味がないため、仮想化の導入に合わせてその効果を最大限に享受できるよう変えるべきところは適切に変更すべきなのは言うまでもないが、現在の経済状況では既存資産をすべて捨て去るような決断は困難だろう。
また、仮想化に関連した最新動向としては、サーバーの仮想化の普及がストレージ側にも波及しつつあることがポイントとなる。ライブマイグレーションなどを活用し、仮想サーバーが複数の物理サーバー間を自由に動き回るような環境が一般化しつつあるため、ストレージ側でも、仮想サーバーが移動しても問題なく追従できるような運用面での柔軟性をこれまで以上に求められるようになってきている。
データセンター環境でのワイヤリングの効率化や運用管理面でのさらなるアドバンテージの達成を狙った新規格として、FCoEの標準化にも注目されるところだ。これまではサーバーの仮想化とストレージの仮想化はそれぞれ別個に進化してきた感があったが、いよいよ両者が歩調を合わせ、統合された環境として新たな段階に進む兆しが見えてきた、という辺りが現在の状況であろう。
次回からは実際にベンダーが取り組んでいるストレージの仮想化について解説していく。