連載
» 2009年07月03日 00時00分 公開

ストレージ仮想化入門(1):ストレージ仮想化技術の基礎 (1/3)

サーバをはじめ、さまざまな仮想化技術が注目されるようになってきた。しかしストレージの仮想化はいまひとつイメージしにくく、認識が十分に浸透していないのが現状だ。本連載ではストレージ仮想化技術についての基礎を分かりやすく解説する

[小菅芳道,日本アイ・ビー・エム株式会社]

ストレージの仮想化とは

 近年、仮想化技術の有用性が市場で認められるようになり、特にサーバの仮想化は昨今のトレンドとなっています。その一方で、ストレージの仮想化に関する認識はまだ十分に市場に浸透していないのが現状です。今回の記事ではストレージ仮想化技術についての基礎を分かりやすく解説します。

 仮想化技術とは、物理構成とは異なる論理構成を提供する技術の総称です。現在主流となっているサーバの仮想化技術は、1台の物理サーバを複数の論理サーバとして提供するものです。今回取り上げるストレージの仮想化技術は、複数のディスク装置を単一のディスク装置としてサーバに提供する技術です。例えば、複数の物理ディスクドライブを単一のアレイとして扱い、そこから仮想的なディスクドライブを任意に作り出すRAID技術なども広義にはストレージの仮想化技術と考えられますが、今回の記事では対象とはしません。

ストレージの仮想化が求められる背景

 サーバに専用のディスク装置を直接接続する、「DAS」 (Direct Attached Storage) と呼ばれるディスク接続形態があります。これは、各サーバに専用のディスク装置を接続しなければならないため、1台のディスク装置を複数のサーバで使用することはできません。家庭用のUSBハードディスク装置は、使用するハードディスクドライブ(HDD)の数とサーバが認識するHDDの数は同じです。これに対して、企業用のディスク装置は、複数のHDDをRAIDアレイと呼ばれるグループにまとめ、そこから論理的なHDDを複数作成してサーバに使用させることができます。この論理的なHDDのことを一般的にLUN (Logical Unit Number)と呼びます。このように1台のディスク装置から複数のLUNを作ることはできますが、DAS接続である限り、それぞれのLUNを別個のサーバから利用する方法がないため、1台のサーバから利用するしかありません。

 1台のディスク装置を複数のサーバで共有できない問題を解決したのがSAN (Storage Area Network) と呼ばれる接続形態です。ストレージ・ネットワークを介して、1台のディスク装置を複数のサーバで共有できるため、ディスク装置の集約が可能となりました。

 しかし、SAN接続でも解決できない問題がいくつかあります。そして、これらの問題を解決するためにストレージの仮想化が求められています。

LUN再使用の問題

 システムを構築するときにLUNを作成し、システムのライフタイムが終了するまで、そのLUNを変更することなく使い続けられれば問題ないのですが、多くの場合、既存のLUNを削除して新たなLUNを再作成しなければならない必要が生じます。この作業は、使用中のLUNを含むRAIDアレイ全体を作り直す必要があったり、連続する大きな領域を作るために使用中のLUNを移動(再作成)する必要があったりするなど、既存のほかのLUNやRAIDアレイに影響を与える場合があります。ディスク装置によっては、ストレージベンダに再作成を依頼しなければならない場合もあります。また、ディスク装置が複数の場合は、各装置の空き容量をまとめて新たなLUNを作成することは不可能です。

 ストレージ仮想化技術は、複数のディスク装置で作成された多数のLUNをストレージ・プールとして一括管理し、必要に応じてそこから仮想的なLUNを作成し、サーバに使用させます。また、不必要になった仮想的なLUNはストレージ・プールに戻すことにより、簡単に再利用可能となります。複数のディスク装置の各空き容量をまとめて仮想的なLUNを作ることも可能です。

データ移行時の業務中断の問題

 扱わなければならない情報量は日々増え続け、導入時は十分な空容量があったディスク装置でも、さらに大容量のディスク装置に置き換えなければならない時期がいずれ訪れます。また、導入時は最新鋭のディスク装置でも、いずれはサポート切れの時期が訪れます。システムの移行の際に最も頭を悩ますのは、サーバのリプレースよりはむしろ貴重なデータが多量に蓄えられたディスク装置のリプレースです。

 ストレージ仮想化技術は仮想的なLUNをサーバに提供し、その中のデータの物理的な場所は仮想化装置が管理しているため、データの物理的な再配置はサーバからは隠蔽されます。従って、サーバからは仮想的なLUNにアクセスし続けながら、その中のデータは古いディスク装置から新しいディスク装置に移行できます。

デバイスドライバの問題

 ディスク装置のリプレースではなく増設の選択肢を選んだ場合に問題となるのが、サーバに導入しなければならないデバイスドライバの問題です。このデバイスドライバは各ディスクベンダが固有のものを提供している場合が多いです。そして、これらのデバイスドライバを1台のサーバに混在させた場合の動作保証は、各ディスクベンダとも難色を示すのが現状です。この問題を解決するにはディスク装置を単一ディスクベンダで統一する必要があります。

 ストレージ仮想化技術ではストレージ仮想化装置内部に複数ディスクベンダのディスク装置に対応した独自のデバイスドライバを既に内蔵しています。このため、サーバには仮想的なLUN(ストレージ仮想化装置)に対応するデバイスドライバのみを導入すれば済みます。実際にデータが格納されるディスク装置へアクセスするための差異はストレージ仮想化装置が全て吸収してくれます。

ディスク装置の操作方法不統一の問題

 何らかの方法で複数ディスクベンダのディスク装置を混在させる環境を実現できたとしても、ディスクベンダの種類あるいはモデルの種類が多くなれば、覚えなければならない操作方法も多くなります。また、ディスク装置の管理手法が各ディスクベンダやモデルで異なるため、管理の煩雑さも発生します。

 ストレージ仮想化技術では、導入時に一度、各ディスク装置でRAID、LUNを作成すれば、それ以降の運用はストレージ仮想化装置の操作、管理手法のみで運用することが可能になります。

ストレージ仮想化技術の実現

 ストレージ仮想化技術はさまざまなシステム・コンポーネントで実現することが可能です。例えば、OS、デバイスドライバ、HBA (Host Bus Adapter)、SANスイッチ、専用仮想化装置、ディスク装置などの部分にストレージ仮想化技術を実装することが考えられます。

 インテリジェンスを持ったSANスイッチで実装すれば、サーバとディスク装置間のSCSIコマンド(ディスク装置を制御するコマンド)を、仮想化環境に対応したSCSIコマンドに変換してサーバとディスク装置へ送ることができます。専用仮想化装置で実装すれば、サーバが専用仮想化装置をディスク装置だと思い込んで使用するSCSIコマンドを、仮想化環境に対応したSCSIコマンドに変換してディスク装置に対して使用することができます。ディスク装置で実装すれば、サーバとディスク装置は通常のSCSIコマンドを使用しますが、そのディスク装置は仮想化環境に対応したSCSIコマンドを使用してほかのディスク装置を使用することができます。

 また、ユーザーデータとそれを扱うために必要な制御データを一緒に扱うか、別々に扱うかで、イン・バウンド方式とアウト・バウンド方式に分けることもできます。イン・バウンド方式は仮想化を行うための制御情報とデータが同じルートを通ります。これに対して、アウト・バウンド方式は仮想化を行うための制御情報とデータが別のルートを通ります。このため、アウト・バウンド方式では、仮想化装置が独立して存在し、サーバあるいはSANスイッチとLANで接続されます。サーバあるいはSANスイッチは仮想化環境の情報を仮想化装置へLAN経由で問い合わせ、それに応じたデータをSAN経由でディスク装置へ送ります。

 今回の記事では、IBM System Storage SAN ボリューム・コントローラーを例に、ストレージの仮想化を紹介します。この製品は、ストレージ仮想化技術を専用仮想化装置、イン・バウンド方式で実装しています。他のストレージ仮想化製品に関しても、ストレージ仮想化技術の基本的な考え方は共通と考えてよいと思います。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。