ネットワークベースの仮想化とは、ホストとストレージ装置の間に、通信を中継する傍ら仮想化を行う装置を導入する方式である。
ファイルシステムの仮想化で該当するのはファイルストレージ仮想化アプライアンスで、前回紹介したブロックストレージ仮想化アプライアンスのファイルシステム版である。ホストとストレージの間に入ってストレージリソースを仮想化するという意味では一緒だが、仮想化する対象はブロックストレージではなくNAS(もしくはファイルサーバ)になり、ホスト側からはNASとして見える。
仮想化アプライアンスの長所は、ファイルストレージから独立しているため、異機種のストレージを統合できるということである。例えば、A社のファイルストレージとB社のファイルストレージを組み合わせて仮想化し、その間で、オンラインでデータ移行したりするというようなことが可能になる。
また、ホストからも独立しているため、ホスト側に手を入れずに標準のNFS/CIFSプロトコルを使って統合が行えるのも大きなメリットだ。
一方で、仮想化アプライアンスの課題は、拡張性だ。仮想化アプライアンスでは、データが必ず仮想化アプライアンスを通るので、そこがボトルネックになりやすい。
これらの特徴から、ストレージ仮想化アプライアンスは、クラスタファイルシステムのように非常に高い性能が求められるケースでは使われない。それよりも、異機種のストレージを統合できる利点を生かし、高価なNASと安価なNASを組み合わせて階層ストレージを構成したり、ストレージ装置をリプレースしたりする際に使われることが多い。
ネットワークベース仮想化の実装で1つのポイントとなるのは、仮想化アプライアンスがボトルネックになることを防ぐために、仮想化処理をいかに「軽く」するかである。仮想化アプライアンスがどのような工夫を行っているのか、F5ネットワークスのARXシリーズの仕組みを1つの例として紹介しよう。
NFS/CIFSのリクエストは、read/writeなどのデータ処理と、rename(移動)のようなメタデータ操作処理に分けられる。データ処理は単純な仮想化処理でフォワーディング(転送)できるので、ARXシリーズでは前段のネットワークプロセッサでそれらの処理を高速に行う。そして、メタデータ操作処理のみ、複雑な処理が行える後段の汎用プロセッサに送られる仕組みになっている。こうすることで、リクエストの大部分を占めるread/writeが軽く、そして高速に処理されるようにしている。
仮想化アプライアンスは単一障害点になることを防ぐため、通常は2台配置される。物理パス名⇔仮想パス名のマッピングなど、仮想化に関する情報はその2台の間でコピーされ、万が一の故障時にもシステムが継続稼働できるようになっている。
ストレージベースの仮想化とは、ホストやネットワークには標準のものを使い、仮想化処理をストレージ装置側のみで行う方式である。
ファイルシステムの仮想化でストレージベースに該当するのは、スケールアウト型NASと呼ばれる方式である。この方式では、1台1台のストレージ装置はそれ自体ファイルストレージとして動く機能を備えながらも、複数台のストレージ装置が相互に連携して論理的な1つのファイルシステムを構成する。
他の2方式と比べた場合のスケールアウトNASの長所は、導入しやすさと拡張性を両立しているところにある。ホスト側からは独立しており、標準のNFS/CIFSプロトコルを使ってホストに手を入れずに統合ができるため導入がしやすい。かつ、仮想化アプライアンスのようにデータの通り道が1箇所に集中することもないので、拡張性に関しても優れている。クラスタファイルシステムのブロックアクセスと比べると、ホスト1台あたりの性能、ストリームあたりの性能では劣るケースが多いものの、システムとしてのトータルなスループットは優秀である。
スケールアウト型NASはこれらの用途を生かして、クラスタファイルシステムほどのスループットが求められないメディア・エンターテインメントや、クラウドストレージなどの用途で使われることが多い。
スケールアウト型NASの技術に関しては、また別途、異なる回でその詳細について説明する予定だ。
ここまで、ファイルシステムの仮想化について解説してきた。本節では、ファイルシステムの構成要素であるファイルの位置を仮想化する「ファイルの仮想化」について簡単に解説する。先に述べたように、ファイルの仮想化は、ファイルシステムの仮想化の一機能として実装されることが多い。
ファイルの仮想化の代表的な機能は、「HSM(Hierarchical Storage Management)」あるいは「階層化ストレージ管理」といわれる機能だ。HSMを持つシステムでは、アプリケーションからみたファイルのパス名は同じものに保たれたまま、複数のストレージ装置の間でファイルの移動が自動的に行われる。
ファイルの移動の主な目的は、通常、コストパフォーマンスを向上させることにある。多くのファイルストレージでは、作成から数週間も経つとファイルはほとんどアクセスされなくなる。このような使われなくなったファイルをHSMにより二次ストレージに移動する。高性能だが高価な一次ストレージから、容量単価に優れる二次ストレージにファイルを移動することで、システムとしての容量単価を改善するのである。ファイルのパス名は同じものに保たれているので、アプリケーション側の設定変更は必要ない。
HSMは通常、ポリシーベースの管理が行われる。例えば、変更がある一定期間行われなかったファイルを二次ストレージに移動するとか、このファイル拡張子の場合には移行はしないとか、ファイルサイズがいくつ以上のファイルのみを移動対象とするとか(ファイルサイズが小さすぎると移行しても容量単価の効果が薄いため)、そういったポリシーの設定が可能である。
本記事では、仮想化対象がファイルシステムであるかファイルであるかに基づいて、仮想化技術を2つの種類に分類した。しかし、いつもこのような分類がされるとも限らない。「ファイルの仮想化」という言葉が、本記事でいう「ファイルシステムの仮想化」と同じ意味で使われていることもある。また、これらを1つにまとめた意味でファイルアクセスの仮想化ということもあるし、NASの仮想化という言葉を使うこともある。
ストレージ仮想化について議論する際には、どういった意味でその言葉を使っているのか、お互いに確認したほうがよいだろう。その際に、紹介した「What」「Where」の2つのフレームワークが役に立てば幸いである。
次回以降では、スケールアウト型ブロックストレージ等のストレージ仮想化技術の新しいトレンドを掘り下げていく予定だ。
Copyright © ITmedia, Inc. All Rights Reserved.