スケールアップとスケールアウトを高度に融合させたNetAppの最新ストレージOS「Data ONTAP 8.1」【後編】


 ネットアップ株式会社は、2011年12月27日に東京都内で技術者向けカンファレンス「NetApp Innovation 2011 Winter Tokyo」を開催した。このイベントでは、クラウドやビッグデータをキーワードとする同社のストレージ製品や管理系スイートなどが紹介された。

 今回、筆者が特に注目したのは、同社の最新ストレージOS「Data ONTAP 8.1」である。前編では、従来のData ONTAP 7Gと互換性を持つ7-modeの特徴を紹介したが、後編ではもう1つの目玉であるCluster-modeについて取り上げていく。

 

Always-ONのシステム運用を可能にするData ONTAPのCluster-mode

 Data ONTAP 8世代のCluster-modeは、これまでのNetApp FASシステムにはなかった新しい世界を切り開く動作モードである。Data ONTAP 8.0.1の時点でCluster-modeはすでに実装されていたが、あくまでもData ONTAP GXがターゲットとする特殊な顧客をそのまま引き継ぐにすぎなかった。しかし、Data ONTAP 8.1のCluster-modeは、エンタープライズITの環境でも十分に活用できる汎用性の高い仕様に改良されている。

 従来のData ONTAP 7GやData ONTAP 8の7-modeでは、1台(高可用構成の場合は2台1セット)のストレージコントローラがクライアント(ストレージシステムにアクセスするサーバーコンピューターやクライアントPC)からの接続口となる。ディスクシェルフの追加によってディスク容量の拡張は可能だが、仕様上の上限に達した場合には新たなストレージコントローラを用意しなければならない。

 また、パフォーマンス面での拡張も難しく、より高いアクセス性能を得るにはストレージコントローラを上位モデルに変更したり、新たなストレージシステムを横に並べて接続口を分散したりするしかない。この結果、ストレージシステムを拡張する際にサービスの一時停止を余儀なくされたり、システム構成の複雑化によってユーザーの運用負担が増大したりする。

 このような課題に応えるのが、Data ONTAP 8世代のCluster-modeである。Cluster-modeは、複数セットのNetApp FASシステムもしくはNetApp Vシリーズ(個々がノードとなる)を束ね、単一の巨大なNetApp FASシステムがあるかのように振る舞う。サービスを停止することなくノードを増やすことができ、ディスク容量とアクセス性能を同時に拡張可能だ。

 また、上位モデルと下位モデル、さらには古いモデルと新しいモデルの混在もサポートし、アクセス頻度や重要度に合わせたデータの最適配置(ストレージ階層化)、旧モデルから新モデルへのオンラインデータ移行などにも応用できる。

 なお、クライアントからの接続口はいずれかのノードになるが、後述するようにクライアントから見える接続口は単一の論理インターフェイス(LIF)として提供されるため、ユーザー自身が物理的な接続口を意識する必要はない。


スケールアウト型のストレージ基盤を実現するData ONTAP 8世代のCluster-mode(出典:ネットアップ株式会社、以下同様)

 

ノード間を緩く結合することで従来のNetApp製品と同等の利便性を継承

 一般に、7-modeのようなストレージアーキテクチャはスケールアップ型、Cluster-modeのようなストレージアーキテクチャはスケールアウト型と呼ばれる。

 スケールアウト型の汎用ストレージといえば、EMC IsilonスケールアウトNASやHP 3PARユーティリティーストレージが代表例として挙げられる。これらのストレージ製品は、データ全体を複数のノードに分散して配置し、個々のボリュームはノードをまたがる形で作られるのが特徴だ。

 一方、NetAppのCluster-modeは、ノードをまたがってボリュームを作ることはなく、各ノード内で独立したボリュームを作る。そして、ネームスペース上でこれらのボリュームをシンボリックリンクのような形で階層化することにより、ノード間をまたがるボリュームがあるかのような環境を作り上げている。

 このような違いから、EMC IsilonやHP 3PARはノードを増やせばアクセス性能がすぐさま向上するが、NetAppのCluster-modeは、ユーザーが各ノードの特性を理解し、積極的に使い分けなければアクセス性能の向上にはつなげにくい。コンピューティングクラスタのごとく分類すれば、EMC IsilonやHP 3PARは密結合ライク、NetAppのCluster-modeは疎結合ライクといったところか。

 ただし、あえて疎結合ライクな構成をとったことで、既存のNetApp FASシステムが提供するさまざまな機能やメリットをそのまま享受することができた。また、新旧さまざまなモデル(旧モデルは2世代前までを推奨)の混在さえも可能にしている。NetApp FASシステムは、とがったパフォーマンスを達成することよりも、むしろさまざまな用途で柔軟に使えることを優先して設計したのだと筆者は理解した。


Cluster-modeは、各ノードにボリュームを作成する。ネームスペース上でこれらのボリュームを階層的にリンクさせることで、ノード間をまたぐ大きなボリュームがあるかのように見せている

 

クライアントからの優れた利便性や無停止運用を実現する高度な論理レイヤ

 Cluster-modeは、2台のストレージコントローラによって可用性を高めたアクティブ・アクティブ構成のNetApp FASシステムもしくはNetApp Vシリーズを1つのノードとする。そして、これらのノードを2~24セット束ねて1つのストレージクラスタを構成する。ノード間は、10Gbps Ethernetによるクラスタ・インターコネクトを介して相互に接続される。

 こうして作られたクラスタは物理レイヤを提供するが、クライアントからの利便性やシステム全体の無停止運用を実現するため、クライアントには仮想的なストレージシステム(Vserver)を見せている。Vserverは、1ノードまたは複数ノードをまたがる形で構成され、ノードあたり125台まで作成可能だ。

 Vserverは仮想的なストレージシステムとして振る舞い、その上ではボリューム(FlexVol)やLUN、クライアントとの接続口になる論理インターフェイス(LIF)が割り当てられる。Vserverではネームスペースも提供され、Vserver上のボリュームを階層的にマウントしていける。これにより、システム無停止で数PBまでシームレスに拡張可能だ。

 LIFは、クラスタ内の任意の物理ポートを動的に割り当てた論理ポートである。クライアントはLIFを接続口とし、NFS、CIFS(SMB)、FCP、FCoE、iSCSIのいずれかを経由してVserverにアクセスする。Vserver側ではDNSルックアップの機能を提供し、データアクセスを維持しながら最も負荷の低い物理ポートとLIFをひも付ける。また、負荷の変化に応じて、手動または自動のどちらかによってノード間でのLIF再分配も可能だ。

 Vserver内では、データアクセスを中断することなくノード間でボリュームを移動できる。データ重複排除、ボリューム圧縮、SnapshotやSnapMirrorなどの設定を崩すことなく、バックグラウンドで差分コピーを実行し、トラフィックが少ないタイミングで新しい位置に切り替える。こうした透過的なボリューム移動は、RAID障害時のパフォーマンスインパクトを回避したり、きめ細かなパフォーマンスチューニングを行ったりするときに役立つ。


Cluster-modeで動作するストレージクラスタは、物理レイヤと論理レイヤから構成される。物理レイヤは、複数セットのNetApp FASシステムまたはNetApp Vシリーズを束ねることで作られるストレージのリソースプールである。論理レイヤは、このリソースプールを共有する形で、仮想的なストレージシステム(Vserver)、論理ボリューム(FlexVolやLUN)、接続口となる論理インターフェイス(LIF)などを提供するクラスタ内のどの場所にもボリュームをオンラインで移動できる。クライアントから見えるボリュームの姿は変わらないことから、アクセスを中断することのない透過的なボリューム移動を実現している

 

クラスタ構成時に最適パスを選択できるSANアクセスとpNFS

 LIFは、負荷の低いノードの物理ポートにマッピングが可能だが、アクセスしたいデータがそのノードに直結されたディスク上にあるとは限らない。

 CIFSやNFSによるデータアクセスは、接続先ノード直下のディスク上にデータがない場合、ノード間を結ぶクラスタ・インターコネクト経由でリモートアクセスが行われる。当然、ローカルディスクへのアクセスと比べると、データ転送性能やレイテンシの面である程度の犠牲を払わなければならない。

 これに対し、FC、FCoE、iSCSIといったブロックベースのSANアクセスでは、SPC-3(SCSI Primary Command 3)で規定されているALUA(Asymmetric Logical Unit Access)を通じて最適パスの選択が行われる。クライアントはMPIO(Multi-Path I/O)を使用してLUNにアクセスするが、その最適経路はALUAによって判断される。データへのローカルアクセスが可能な経路には「アクティブ最適化済み」というステータスが付けられるため、このステータスをもとに最適パスが選定される。

 なお、Data ONTAP 8.1のCluster-modeは、pNFS(パラレルNFS)を新たにサポートしている。NetAppは、NFSの仕様策定に深く携わっており、他社に先駆けてpNFSの採用を決めた形となった。pNFSでは、クライアントがファイルにアクセスする際に、ファイルレイアウトの情報に基づいてファイルの保管位置を事前にチェックする。接続先と異なるノードにファイルがある場合には、最適パスへと切り替えてからファイル転送を行う。ALUAとは多少仕組みが異なるものの、常に最適パスでアクセスできる点は共通している。


通常のNFS、CIFSによるデータアクセスは、選択されたパスが必ずしもアクセスしたいデータ位置に対して最適なものであるという保証がない。このような課題に応えるのが、pNFS(パラレルNFS)である。Data ONTAP 8.1のCluster-modeは、業界に先駆けてpNFSをサポートしている。なお、FCP、FCoE、iSCSIといったSANアクセスは、ALUAの仕組みによって常に最適パスが選ばれる

 

クラスタ内やクラスタ間でのデータレプリケーションをサポート

 Cluster-modeでは、ボリュームレベルでのレプリケーションもサポートする。最も基本的なレプリケーションは、クラスタ内でのデータ保護ミラーである。同一のVserver、もしくは異なるVserverが管理するボリューム間でレプリケーションを実行する。データのコピーにはノード間のクラスタ・インターコネクトを使用する。

 Cluster-modeは、より強固なレプリケーションとしてクラスタ間のレプリケーションもサポートしている。これは、距離の離れたクラスタ同士でレプリケーションを実行し、災害対策(ディザスターリカバリー)環境を実現する場合などに使用される。個々のクラスタにレプリケーション専用のLIFを割り当て、WANを介してデータのコピーが行われる。仕組みそのものは、7-modeでもおなじみのSnapMirrorそのものだ。

 そして、変わり種のレプリケーション方式として負荷共有(Load Sharing)ミラーも用意されている。負荷共有ミラーは、クラスタ内のさまざまなノード内にFlexVolによる読み取り専用ミラーボリュームを作成する機能である。

 CIFSとNFSによるアクセスに限定されるが、多数のクライアントから同一ボリューム内のファイル群に対する読み出しが同時に行われるようなケースで、そのアクセス性能を飛躍的に高める効果がある。負荷共有ミラーの使いどころはなかなか難しいが、海外では高度な3Dグラフィックスを扱う大規模レンダリングファームで採用されているという。


負荷共有(LS)ミラーは、Cluster-modeの中でも変わり種となるレプリケーション方式である。多数のクライアントから同一ボリューム内のファイル群に対してアクセスが集中する環境で、読み出し性能を飛躍的に高める効果がある。NetAppのCluster-modeは、ノード数に比例して簡単にアクセス性能が高められない疎結合ライクなクラスタ構成をとっているが、このような弱点を補う機能にもなりそうだ

 Cluster-modeは、Data ONTAP 8.1でようやく本当の意味で「Ready」の状態となった。従来のData ONTAP GXが対象としていたHPCなどの限られた世界だけでなく、今後はシステム無停止での長期運用、ビッグデータへの対応など、エンタープライズITの新たなニーズにも応える強力なソリューションとなりうる。次回のイベントでCluster-modeの国内事例が報告されることをぜひとも期待したい。

関連情報