Enterprise Watch
バックナンバー

SAN/NASを包括するEMCのストレージ仮想化ソリューション【SAN編】


EMCジャパン株式会社 マーケティング本部 プロダクト・マーケティング・マネージャの雨堤政昭氏
 企業のストレージ環境では、SAN(Storage Area Network)上のストレージとNAS(Network Attached Storage)が適材適所で活用されているが、近年ではSAN上のストレージ同士、もしくはNAS同士を論理的に統合し、ストレージ間でのデータ移行やストレージ全体の運用管理を改善しようとする動きも見受けられるようになった。そして、このような統合基盤を実現するのが、本連載でもたびたび紹介しているストレージ仮想化技術だ。

 当然、SANとNASの環境では異なる仮想化技術が求められることから、それぞれに適した仮想化ソリューションが各社から開発されつつある。EMCは、こうしたSANおよびNAS環境に適したストレージ仮想化ソリューションをどちらも提供している企業のひとつだ。前編となる今回は、EMCジャパン株式会社 マーケティング本部 プロダクト・マーケティング・マネージャの雨堤政昭氏に、SAN環境にストレージ仮想化が求められる背景と、その有力なソリューションとして同社が展開している「EMC Invista」のアーキテクチャーについてお話を伺った。


データ移行の手段として注目されているストレージ仮想化技術

 ストレージ仮想化技術が話題に上り始めた当時は、複数の物理的なストレージをひとつに束ねて巨大な仮想ストレージとして見せられることを前面にアピールしていた。社内に異なるベンダーの異なるストレージがいくつも分散していたとき、これらをひとつの仮想ストレージとして統合することができれば、1台のストレージを超えるサイズの仮想ボリュームを作成したり、それぞれのストレージで生じていた無駄を寄せ集めてさらに違う用途に活用したりできるようになる。このように、ストレージを論理的に統合することで、ストレージの利用効率を最大限に高められると考えたわけだ。

 しかし、現実の世界では、このような使い方はエンドユーザーにまったくといっていいほど支持されていない。複数台のストレージにまたがってデータが書き込まれるリスクを嫌うケースがほとんどだからだ。万が一、仮想ボリュームを構成するストレージのうち1台でも障害が発生したら、顧客は間違いなくパニックに陥ってしまう。複数のベンダー製品が混在しているような環境なら、もはやお手上げだ。そして、よほど強固なデータ冗長化でも行っていない限り、データそのものを損失してしまう可能性さえある。


ストレージ仮想化技術によって、サーバーから見えるストレージの姿は仮想化エンジンが提供する単一の仮想ストレージとなる(出典:EMCジャパン株式会社、以下同様)。その配下に接続されている物理的なストレージの種類や構成が完全に隠ぺいされることから、ストレージの使用効率を高めたり、ストレージ管理を一元化したり、動的なデータ再配置や柔軟なデータ移行を実現したりできる
 このような理由から、ストレージ仮想化によって複数のストレージをまたいだ仮想ボリュームを構成することはほとんどない。では、どのような用途で注目されているかというと、その多くは異なるストレージ間での「データ移行」だ。企業の重要なデータを何十年にもわたって安全・確実に保管できるストレージシステムを考えたとき、その間には何度もデータ移行が発生する。通常、どの企業でもストレージシステムのリース契約を締結しているのが一般的であり、おおむね4~6年ごとに古いストレージシステムから新しいストレージシステムへのデータ移行が発生する。

 「異なるストレージ間のデータ移行は、ストレージの世界で最後に残ったテーマといっても過言ではありません。データの容量は日々増大を続けていますが、データ移行作業はデータのサイズに比例して苦労の度合いも上昇します。データ移行をスムーズに実施するには、データのモビリティー(可搬性)を高めていくことが重要です。ストレージ間でサーバー(ホストコンピューター)から見れば透過的にデータが移動できるような仕組みを作ることができれば、データの移行作業もスムーズに行えます。そして、そのための技術として最も有力視されているのが、ストレージ仮想化なのです。」

 「ストレージ仮想化がもたらすもうひとつのメリットは、ストレージ全体の運用管理を一元化できることです。複数ベンダーのストレージ製品が混在するヘテロジニアスな環境では、ボリュームの作成やプロビジョニングなど、運用管理のための操作方法がベンダーごとに異なります。IT管理者が、これらの操作方法をすべて覚えるのは大変なことです。そこで、これらのストレージシステムを仮想化することにより、仮想化エンジン側の操作方法だけでストレージ全体の運用管理を行えるようになります。仮想化エンジンの配下にある各ストレージは、その全容量を仮想化エンジンから見えるように、あらかじめベンダーやシステムインテグレーターに設定してもらえば十分です。(以上、雨堤氏)」


既存ストレージのメリットを生かしながら仮想化できるネットワーク型

ストレージ直結型や専用サーバー/アプライアンス型は、すべてのI/Oが仮想化エンジンによって処理されるため、I/Oの遅延が発生しやすい。実際の製品では、こうした問題に対処するために、高性能プロセッサーや大容量のキャッシュメモリーを搭載しているが、結果として内部構成の複雑化につながってしまっている。これに対し、ネットワーク型は、仮想化エンジンが制御系とデータ系をいったん分離し、データ系だけはFibre Channelスイッチで今まで通り処理させる。こうすることで、I/Oの遅延を最小化できる
 ストレージ仮想化の世界では、仮想化エンジンの配下に新旧ストレージを置き、そこで作られた仮想ボリュームをサーバー側から見えるようにする。こうすることで、サーバーからは物理的なストレージの姿を完全に隠ぺいし、常に一定の姿をした仮想ボリュームだけを見せられる。このため、サーバーと仮想ストレージ間のデータアクセスをそのまま維持したまま、古いストレージシステムから新しいストレージシステムへのデータ移行を実施できるようになる。

 ただし、ここで重要になるのがストレージ仮想化ソリューションのアーキテクチャーだ。ここでは、既存のストレージがもともと持っているメリットをそのまま残しながら、同時にパフォーマンスや信頼性を落とすことなく仮想化できる能力が求められる。各社は、こうした要件を踏まえながら、さまざまなストレージ仮想化ソリューションを提供しているが、ストレージ仮想化を実装する場所に基づいて分類すると大きく3つの方式がある。

 1つ目は、ストレージ本体に仮想化エンジンを搭載し、そのストレージ配下にほかのストレージを接続するものだ。この方式は、日立のSANRISE Universal Storage Platformで採用されている。2つ目は、独立して設けられた専用サーバーやアプライアンスによってストレージ仮想化を行うものだ。この方式は、FalconStorのNetwork Storage Server(NSS)アプライアンスやDataCore SoftwareのSANmelody、IBMのSAN Volume Controller(SVC)などで採用されている。そして3つ目が、Fibre Channelスイッチの中でストレージ仮想化を実現するもので、これがEMC Invistaなどで採用されている方式となる。

 1番目の物理ストレージに直結するタイプと、2番目の専用サーバーやアプライアンスを利用するタイプは、サーバーとストレージ間でやり取りされるすべてのコマンドをいったん仮想化エンジン内部のメモリーに格納する。そして、物理-仮想アドレス変換を行い、再び物理ストレージやサーバーに対してこれらのコマンドを引き渡す。基本的に、仮想化エンジンのハードウェアとして高性能プロセッサーや大容量メモリなどを搭載すれば、高いパフォーマンスを引き出すことは可能だ。また、データ保護のための機能を充実させることで、信頼性や可用性も同時に高められる。しかし、このようにして仮想化エンジンのアーキテクチャーを高度化していくと、結局のところ高価なディスクストレージのアーキテクチャーとあまり変わらない構成になってしまう。


 「Symmetrix DMXやCLARIXに代表されるように、EMCはすでに高度なアーキテクチャーを備えたストレージ製品をいくつも発売しています。ストレージ単体で十二分に高いアクセス性能と可用性、データ保護性能などを兼ね備えていながら、それをストレージ仮想化ソリューションによって隠ぺいしてしまうのはもったいないことです。やはり、ストレージが本来持っているメリットをそのまま残しながら、ストレージ仮想化環境を構築することだ大事だと思いますし、それを実現するにはネットワークレイヤーで仮想化を実施するのが自然といえます。そこで、当社はFibre Channelスイッチの中でストレージ仮想化を実施する『EMC Invista』を開発しました。(雨堤氏)」


標準化されたFAISベースのストレージ仮想化ソリューション

EMC Invistaがストレージ仮想化の基盤技術として採用しているFAIS(Fabric Application Interface Standard)のブロックダイアグラム。FAISは、ANSI/INCITS T11.5タスクグループによって策定されたストレージネットワーク環境向けのAPIフレームワークだ。詳細は後述するが、FAISベースのストレージ仮想化エンジンは、CPP(Control Path Processor)とDPC(Data Path Controller)という2つのコンポーネントから構成される
 ネットワークレイヤーでの仮想化は、TCP/IPの世界であればごく当たり前のことだ。一般にIPネットワークの構成要素にはルーターがあり、そのルーターにインテリジェンスを持たせることでネットワークレイヤーでの仮想化が実現される。EMC Invistaは、それと同じようなことをストレージの世界でも実現する。ストレージの世界では、ネットワークを構築する要素としてFibre Channelスイッチ(特に大規模なものはダイレクターと呼ばれる)が用いられ、その中では末端のサーバーとストレージ間がやり取りするデータ系コマンドや制御系コマンドが絶え間なくルーティングされている。

 EMC Invistaは、ネットワークレイヤーで仮想化を実現する基盤技術として、ANSI/INCITS T11.5タスクグループによって策定されたストレージネットワーク環境向けのAPIフレームワーク「FAIS(Fabric Application Interface Standard)」を採用している。時間の経過からいえば、EMC Invistaを開発している過程で業界標準の技術としてFAISの原型となる仕様が提出され、それがANSIによって標準化された。当時は、数々のストレージベンダーが参加するSNIA(Storage Networking Industry Association)によってけん引され、EMCはその中のメンバーとしてFAISの標準化作業に貢献してきた。

 「ストレージ直結型やアプライアンス型のストレージ仮想化ソリューションは、一般的にそのアーキテクチャーがクローズド(閉鎖的なもの)になります。ベンダーがそれぞれ独自のアーキテクチャーを開発し、それを自身の製品に実装しているわけです。実は、サーバー仮想化技術も、当初はベンダー独自のアーキテクチャーによって実現されていました。それが、現在ではハイパーバイザーに基づくタイプとなり、ある意味ではサーバー仮想化のためのアーキテクチャーが部分的に標準化されつつあります。仮想化レイヤーというものは、どこかのベンダーにすべてを委ねるよりも、さまざまなベンダーが参入できる広がりを持たせるべきです。このような理由から、ストレージ仮想化を実現する方式も、標準化されたFAISベースのソリューションが適していると考えます。(雨堤氏)」


シスコとブロケードの大型FCスイッチと組み合わせるEMC Invista

 FAISは、もともと単独のストレージファブリックまたは複数連結されたストレージファブリック群に何らかの「インテリジェンス」を持たせるものとして登場したものだ。当然、インテリジェンスの中核となる部分はソフトウェアによって制御することになることから、このソフトウェアを開発する際のAPIを標準化することでオープンな基盤を構築できるわけだ。つまり、EMC Invistaが提供するストレージ仮想化機能は、FAISによって実現されるインテリジェンスのうちの一例ということになる。

 FAISは、ストレージファブリックにインテリジェンスを持たせるプロセッシング・エレメントとして、CPP(Control Path Processor)とDPC(Data Path Controller)という2つのコンポーネントを規定している。サーバーとストレージ間でやり取りされるトラフィックは、制御系とデータ系の2つに大きく分かれるが、CPPが制御系、DPCがデータ系のトラフィックをそれぞれ担当する。


サーバーとストレージ間でやり取りされるI/O情報は、制御系とデータ系の2つの大きく分類される。両者をいったん受け取ったDPCは、制御系コマンドだけをCPPに引き渡し、データ系コマンドのみを従来通りに処理する。CPPによって処理された制御系コマンドやマッピング情報は、DPCに適宜戻される。このように、制御系とデータ系を完全に分離して処理する仕組みにしたことが高パフォーマンスの秘訣(ひけつ)なのだ
 CPP上にOSと共通のAPIを実装し、その上で仮想化に必要なアプリケーションを動作させる。そして、DPCでは、専用のCPUまたはASICによって、データ系のRead/Writeオペレーションを高速に処理する。CPPは、専用の制御パスを経由し、DPCに対してマッピング情報などを伝送し、DPCは制御系のトラフィックをCPPにリダイレクトする。ほかのストレージ仮想化ソリューションは、すべてのトラフィックを単一の仮想化エンジン内で一緒に処理するが、FAISベースのソリューションは、あえて両者を分離して処理している。こうすることで、パフォーマンスの劣化や遅延の発生を最小限に抑えられるのだ。

 EMC Invistaでは、CPPとして専用のアプライアンスを用意している。これは、IAサーバーをベースとしたものであり、その中にはFAISに準拠するソフトウェア環境がプリインストールされている。一方のDPCは、CiscoのMDSシリーズまたはBrocadeのBシリーズに搭載される。Cisco MDSシリーズでは、本体の拡張スロットにStorage Service Module(SSM)を装着、Brocade Bシリーズでは、本体の拡張スロットにApplication Platform Bladeを装着するか、ボックス型のハードウェア(AP-6700B)を接続することで、CPPとの通信が可能になる。ストレージ仮想化に必要なマッピング情報は、CPP内部で作られ、スイッチ側のDPCに対して随時プッシュされる。当然、CPPの信頼性が要求されることから、CPP間を相互に接続してクラスタ構成をとることも可能だ。CPP間は、実用的な遅延範囲内に収まる300メートルまでの長距離接続をサポートしている。

 「EMC Invistaは、業界標準のFAISに基づくアーキテクチャーによって実現されたストレージ仮想化ソリューションです。ストレージを仮想化するという部分だけを見れば、何か特殊なことをしているわけではありません。しかし、ソリューション全体としてみた場合のパフォーマンスや信頼性、運用管理のしやすさなどを追求するために、CPPアプライアンス内のソフトウェアを徹底的に作り込んだり、スイッチベンダーとの協業体制を強化したりしています。また、当社が持つ豊富なストレージ製品群と組み合わせることで、データ移行だけにとどまらず、ストレージ筐体間ミラーリングやレプリケーション、本格的な災害対策などにも柔軟に拡張していけます。単なるストレージ仮想化にとどまらない、お客さま志向のストレージソリューションをトータルに提供できる点がEMCの大きな強みといえるでしょう。(雨堤氏)」


EMC Invistaによって実現されるストレージソリューションの例。第一の活用例としては、古いストレージシステムから新しいストレージシステムへのデータ移行となるが、ストレージ仮想化のメリットを上手に活用し、異機種ストレージ間のレプリケーションやストレージ筐体間ミラーリング、ストレージプール管理などに広げていくことが可能だ

 後編となる次回は、NAS環境に対するストレージ仮想化を実現する「EMC Rainfinity Global File Virtualization」について取り上げていく。



URL
  EMCジャパン株式会社
  http://japan.emc.com/

関連記事
  ・ SAN/NASを包括するEMCのストレージ仮想化ソリューション【NAS編】(2008/12/12)


( 伊勢 雅英 )
2008/12/02 00:00

Enterprise Watch ホームページ
Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.