VMware Virtual Volumes(VVOL)
2015年 仮想化プラットフォームの新事情
VMware vSphere 6.0、Microsoft Hyper-V、RHEV 3.5の仮想化プラットフォームについて、新機能と機能拡張を中心にその最新動向を探る。 この特集のまとめPDFを無料でダウンロードできるようになりました!vSphere 6.0で新規に機能追加された、Virtual Volumes(VVOL)について解説します。
VMware社が目指すSoftware-Defined Storageの方向性
Virtual Volumesの説明を始める前に、現在のVMware社のストレージ仮想化に関する取り組みについて、見ていきます。
従来までのvSphereとストレージの連携では、NetApp社のVSC(Virtual Storage Console)やEMC社のVSI(Virtual Storage Integrator)などのストレージベンダーが提供するプラグインをvCenter Serverに追加することで、vSphereとストレージの管理の統合を進めてきました。この方法は、ベンダーごとに独自の実装ができるため、さまざまなストレージベンダー独自機能との連携ができるというメリットがありますが、それと引き換えにいくつかの課題がありました。
課題の1つは、複数のストレージベンダーを管理する場合、運用管理がベンダーごとに異なってしまうという点です。管理画面こそ1つのユーザーインターフェイスから実行できますが、それぞれのストレージベンダーの知識がないと、設定ができません。
そしてもう1つの課題は、Horizon View 、vCloud DirectorやvRealize AutomationそしてOpenStackといった、vSphere基盤と連携する製品からストレージを利用するときには、プラグインから提供される機能を利用できないという点です。これは、ストレージベンダーが提供するプラグインによる拡張が、vCenter Serverのユーザーインターフェイス上からvCenter ServerのAPIを経由せず、各社のプラグインを経由して、ベンダーのストレージAPIを直接呼び出しているためです。
VMware vSphere Storage Policy Based Management (SPBM)とは?
こうした課題を解決するために、VMware社ではvCenter Serverが提供する仮想マシンストレージプロファイルの機能をコントロールプレーンとする、Storage Policy Based Management (SPBM)を提供するようになりました。Storage Policy Based Management(SPBM)はvSphereが持つ仮想マシンストレージポリシーの機能を使って、vSphereが利用するストレージと連携する機能です。
例えばvSphere 5.5から提供されているVMware Virtual SAN(VSAN)は、仮想マシンストレージプロファイルを用いて、ポリシーベースの管理機能を仮想マシン単位に提供します。そして、同様の管理機能をストレージベンダーが提供する外部ストレージで提供するために、VMware社は、Virtual Volumesと呼ばれる標準規格を提供しました。ストレージベンダーがVirtual Volumesの規格に準拠した実装を行うことで、各ベンダーの外部ストレージを、仮想マシンストレージプロファイルベースで管理することができるようになります。
vSphere APIs for IO Filtering
さらにStorage Policy Based Management (SPBM)では、Virtual VolumesだけでなくVAIO(vSphere APIs for IO Filtering)という、新たなAPIをサードパーティベンダーに提供することで、I/Oのキャッシュソリューションや、データレプリケーションのソリューションをVSANやVirtual Volumesと同じように、仮想マシンストレージプロファイルで、ポリシーベースの管理に対応する方向性を打ち出しています。
vSphere APIs for IO Filtering
http://blogs.vmware.com/vsphere/2015/02/vaio_filters.html
VMware vSphere Storage Policy Based Management (SPBM)のメリット
Virtual VolumesはvSphere 6.0の新機能ですが、そのコンセプトはvSphere 5.5 Update 1から利用することができるVMware Virtual SANのStorage Policy Based Management (SPBM)で実装されています。そのため、VMware Virtual SANの管理を理解することで、Virtual Volumesのメリットを理解しやすくなります。
VMware Virtual SANでは、仮想マシンストレージプロファイルから、以下のような設定項目をポリシーとして定義することができます。
実は、この仮想マシンストレージプロファイルでポリシーとして定義可能な設定項目は、VMware Virtual SANにおいてもVirtual Volumesと同じように、VASAプロバイダ経由でVMware Virtual SANが提供する機能を取得して、仮想マシンストレージプロファイルで利用可能にしているのです。
VASA(VMware vSphere Storage APIs for Storage Awareness)とは
vCenter Serverがストレージと連携し、ストレージ情報を取得するためのAPIです。これによりVMwareでのストレージの仮想インフラ統合や、DRS機能、ストレージのトラブルシューティングなどに対応できます。
VASAプロバイダとは?
VASAプロバイダとは、VASA機能を実現させるためのvCenter Serverと連携するプログラムです。仮想マシンストレージプロファイル同様、VASAプロバイダ自体はvSphere 6.0以前からサポートしており、VASAプロバイダは、3rd Partyストレージベンダーから提供されています。VASAプロバイダ自体は、ストレージとは別の管理サーバ経由で提供される場合もあれば、ストレージコントローラの機能として提供される場合もあります。
vSphere 5.5以前のVASAプロバイダは、ストレージの設定と仮想マシンストレージプロファイルが連携して「仮想マシンのストレージの機能要件を満たす設定がされたデータストアを自動選択する」機能だったということができます。例えば、ストレージのLUNのバックエンドがSASディスクで構成されるデータストアを自動選択したり、災害対策サイトへレプリケーションが設定されているデータストアを自動選択したりするような用途で使われていました。
それがvSphere 6.0のVirtual Volumesでは、VASAプロバイダが持つ役割が拡張され、仮想マシンのスナップショットや、仮想マシンのクローン処理の命令自体をVASAプロバイダ経由で実行することにより、vSphereの標準機能を(ストレージの機能に)置換する形で、各ストレージベンダーの提供するスナップショットやクローンを利用することができるようになりました。
Virtual Volumesではこれらの制御処理だけでなく、データ処理部分においても、ブロックストレージが抱えていたLUNの管理や上限数の問題を解決するべく、ストレージベンダーとの協業で開発されています。
Virtual Volumesのアーキテクチャ
Virtual Volumesのコントロールプレーン
前回も紹介したVirtual Volumesの管理を実現するコントロールプレーンを担当するコンポーネントには、「仮想マシンストレージプロファイル」と「VASAプロバイダ」があります。
「仮想マシンストレージプロファイル」は、vCenter Serverが提供する機能で、「VASAプロバイダ」経由でストレージの設定を取得して、管理者はストレージ機能を使ったポリシーとして作成することができます。作成した仮想マシンストレージプロファイルは、仮想マシン単位で適用することが可能です。
「VASAプロバイダ」はストレージベンダーが提供する機能で、ストレージベンダーにより別途管理サーバ経由が必要だったり、ストレージコントローラの機能の一部として提供されたりします。Virtual Volumesにおける「VASA プロバイダ」は、大きくわけて以下の2つの役割を持ちます。
- ストレージの機能と設定を取得して、仮想マシンストレージプロファイルとの連携
- 仮想マシンストレージプロファイルが適用された対象のデータ管理タスク(スナップショットやクローン)をストレージ側のタスクに変換して実行
Virtual Volumesのデータプレーン
それでは、肝心のVirtual Volumesのデータプレーンについて解説をしていきます。Virtual Volumesでは、「プロトコルエンドポイント」「ストレージコンテナ」として定義されたストレージの中に「Virtual Volumes」を作成します。
「プロトコルエンドポイント」は、ESX/ESXiから見たストレージの接続先になります。従来形式のストレージ接続における、ストレージコントローラということができます。そして「ストレージコンテナ」は、実際のデータ保存先となり、「プロトコルエンドポイント」と紐づいて仮想マシンのデータを保存する領域を提供します。「プロトコルエンドポイント」がストレージコントローラで、「ストレージコンテナ」がディスクシェルフと考えるとイメージしやすいかもしれません。
Virtual Volumesのサポートを提供しているストレージベンダー各社は、まったくゼロからVirtual Volumesに対応したストレージを設計しているわけではありません。ストレージベンダーが提供するVASAプロバイダから、各ストレージの管理オブジェクトの「どのレイヤをプロトコルエンドポイントとして扱って」、「どのレイヤをストレージコンテナとして扱うのか」といった対応付けを行うことで、今までのストレージ機能を生かしたVirtual Volumes連携を実現しているのです。そのため、Virtual Volumesと連携したときに、従来までのストレージで利用可能な機能がどのようにサポートされるかは、ストレージベンダーの実装に依存します。そのため、ストレージごとに、事前に動作を確認しておくことが重要になります。
Virtual Volumesのサポート状況
ここまでVirtual Volumesのアーキテクチャを解説してきました。Virtual Volumesは、vSphereで利用可能なすべてのストレージで利用できるというわけではありません。VMware社のWebサイトで公開されているVMware Compatibility Guideの「vSphere APIs for Virtual Volumes (VVOLs)」に掲載されている必要があります。Virtual Volumesに対応したVASAプロバイダの提供と、そのVASAプロバイダと連携するストレージが必要となるため当然ともいえます。
Virtual Volumesは、vSphere以外のVMware製品や、vSphere 6.0の機能との互換性を確認する必要があります。以下に示したVMware社のKB(Knowledge Base)が公開されていますので、必ず互換性があるかどうかを確認しておくことをお勧めします。
VMware Virtual Volumes (VVols) interoperability with other vSphere products and features
http://kb.vmware.com/kb/2112039
本稿執筆時点(2015年3月)では、4社のストレージベンダーがVirtual Volumesをサポートしています。Virtual Volumesのサポートを表明しているストレージベンダーは20社を超えているため、今後サポートされるストレージが増加していくことが予想されます。
Virtual Volumesでは、ストレージベンダーの外部ストレージとの連携を実現することで、柔軟性と機能を両立するVMware社のSoftware Defined Storageを実現していきます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- VMware vSphere 6.0 ストレージ技術の新機能
- Software-Defined Storageはストレージの何を変えるのか
- 2015年 仮想化プラットフォームの新事情
- VMware vSphere 6の新機能と用途
- VMware Virtual SANで実現するストレージ仮想化:Part1 構成とストレージポリシー
- VMware Virtual SAN 6.0の新機能
- サーバー仮想化でストレージ管理も統合
- vSANのアーキテクチャーと機能概要
- PureStorage、機械学習をベースにした予測分析で年間停止3秒という可用性を実現
- 仮想化の流れで勢いを見せるティントリの仮想化ストレージ