仮想化技術全般に共通する目標は、物理的なデバイスの詳細を隠ぺいし、制約を回避するために論理的なインターフェースを構築/提供すること、である。
ストレージの場合、基本となる物理的なデバイスとは、個々のHDDのドライブ単体ということになるだろう。
企業の情報システムでは、HDDの単体容量という制約を回避する技術は必須となる。
◆RAIDによるHDDの統合
HDDの場合、「分割」と「統合」という2つの方向の「仮想化」がどちらも長く利用されてきている。
まず分割は、パーティション分割としておなじみの手法だ。HDDの容量を分割し、それぞれを独立したHDDのように見せかけることができる。
一方、統合に関しては、主にRAID(Redundant Arrays of Inexpensive Disks)が用いられてきた。RAIDとは、安価で低信頼のHDDを複数組み合わせて信頼性を確保しようとする技術だが、結果的にHDDの単体容量を超える記憶領域をつくり出し、物理デバイスの制約を超えた運用を可能にする。
例えば、1TBのHDDを3台用意し、Dドライブ、Eドライブ、Fドライブとして接続したとする。この場合、ユーザーが利用可能な記憶容量は合計で3TBとなるが、この使い勝手は3TBのサイズのドライブが1台接続されている場合と同じにはならない。
どのデータをどのドライブに記憶したか、という情報をユーザーが正確に把握しておく必要があるという問題もあるが、
最大の問題は、1TBを超えるサイズのファイルを記録することができない、という点にある。
仮に、サイズが2.5TBの巨大ファイルがあったとしたら、このファイルを保存するためには最低でも3つの断片に分割して各ドライブに分散して記録し、使用する際にはこの断片をつなぎ合わせるという作業をユーザーが行うことになる。
一方、RAID-0によるストライピングを使う場合、ユーザーは3TBのドライブをDドライブとして使用することが可能になる。ここにはもちろん、2.5TBのサイズのファイルをそのまま記録することができる。物理的な実体としては1TBのドライブが3台あることに変わりはないが、これを統合して仮想的な3TBのドライブを創り出す
◆RAIDの限界
RAIDで複数のHDDを統合する場合、当然ながら統合対象となるHDDはすべてRAIDコントローラーの配下に接続されている。ユーザーの目から見える具体的なシステム・イメージとしては、外部ストレージの筐体(きょうたい)内に収納されたHDD群が1つのRAIDシステムを構成している、と見える。
逆に言えば、ストレージが複数台あれば、その数だけのRAIDシステムがあることになり、利用率の不均衡などの無駄が生じる可能性が高い。
仮想化されたストレージでは、仮想化システムが配下のRAIDシステムの容量を束ねて仮想的なボリュームを創り出し、これに対するインターフェースをサーバー側に提供する。これにより、ストレージ筐体(=RAIDシステム)の境界を越えてボリューム容量を拡張できる。
現在のエンタープライズ・ストレージでは筐体当たりの最大容量はPBレベルまで達しており、この容量では記録不可能な巨大サイズのファイルを扱うことがあるとは思えないので、筐体をまたがったボリュームの統合は、サイズ的な制約を理由としているわけではない。ここではむしろ、論理的な統合によって運用の効率化や簡素化が実現できることが主たるメリットとなる。
◆仮想化によって得られるメリット
ストレージ仮想化では、ストレージ・システムの筐体の境界をまたいだ容量の統合が可能になるため、容量を余らせているストレージ・システムの容量を別のストレージ・システムの容量とつなぎ合わせて活用する、といったことが可能になる。システム全体にわたる大規模なボリュームの整理統合を行うことなく、空き容量を活用することができるようになるため、ストレージ・システムを新たに追加購入しなくても当面の容量不足に対応可能となるわけだ。これは、IT投資の抑制にもつながるし、既存のITシステムの利用率を向上させることで投資効果を高めることにもなる。
また、ストレージ・システムの境界をまたいだ統合は、物理的なデバイスの詳細をサーバー側から隠ぺいすることと同義でもある。サーバー側では、仮想化システムが提供する仮想ボリュームに対してアクセスしており、仮想ボリュームが実際にどの物理デバイスにマッピングされているかについては全く知らされない。