One Cloud、Any Applicationの実現(後編)

2015年4月10日(金)
渡邉 利和

Any Applicationの実現

Any Application、つまり、従来はこうした仮想環境では実行が難しかった種類のアプリケーションへの対応として挙げられるのは、スケールアップ型(ミッションクリティカルなビジネスアプリケーション)/スケールアウト型(Hadoopなどの分散処理アプリケーション)、デスクトップの仮想化、コンテナへの対応、OpenStackへの対応など、幅広いアプリケーションに対応することが標榜されています。

スケーラビリティの強化

vSphereの歴史は、そのまま仮想化できるアプリケーションの拡大の歴史であり、端的には仮想マシンの規模がバージョンアップのたびに拡大されるのが通例となっています。vSphere 6でも従来同様、仮想マシンのスペックの引き上げが行われましたvSphere 5.5との比較で言えば、図ように拡張されています。

ホストおよび仮想マシン構成の上限を最大で4倍以上に向上

図1:ホストおよび仮想マシン構成の上限を最大で4倍以上に向上

ホスト1台当たりの仮想マシン台数とクラスタ当たりのホスト台数を掛け合わせると、クラスタ当たりの総仮想マシン台数になります。サポートされているクラスタ当たりの仮想マシン台数は、最大で8,000台なので、現実にはサポート範囲いっぱいの1,024台の仮想マシン台数を設定したホストを、上限いっぱいの64台単一のクラスタ内に設置することは不可能ですが、現実の物理サーバーのスペックから考えれば、1台のホストで1,024台の仮想サーバーを運用するのは、ちょっとありそうもありません。また、仮想マシン1台当たりの仮想メモリ量の上限である4TBという値は、Windows Server 2012がサポートする最大物理メモリ量と一致しています。これ以上のメモリを割り当てても、OSが対応できないという上限まで拡大されています。同時に、一般的な物理サーバーのメモリ搭載量の上限をはるかに越えた数字です。一般のアプリケーションでは、ここまでのメモリ量を要求することはないはずですが、VMwareでは、最近注目を集めるインメモリデータベースなどを対象用途として挙げています。

ホスト1台当たりのメモリ量の最大は12TBまで拡大されていますが、これは特定のOEMパートナーのサーバーを使用した場合の上限値です。そもそも物理メモリを12TBも搭載可能なサーバーは、かなり特殊なモデルといえます。ホスト1台当たりのCPU数にしても、バージョン5.5の段階での最大数320でも、現実にこの上限値が制約となることはほとんどないかもしれません。いずれの上限値も、物理サーバーの現時点のスペックを大幅に上回るものだといってよいでしょう。つまり、事実上物理サーバーで実行可能なあらゆるワークロードを、仮想マシン上でも、実行可能な規模にすでに到達しているといえます。

Fault Toleranceの拡張

仮想マシンのスペック的には、すでにAny Applicationという目標は達成されているかに見えますが、それでも現実には仮想サーバーでの実行を避け、物理サーバーを占有で割り当てることが多いワークロードというものが存在します。よく言われるのは、I/O依存性の高いデータベースなどです。ストレージI/Oに関しては、vSphere 6と同時に発表されたVirtual SANなどの性能向上もあり、着実に進化していますが、加えてvSphere 6側で行われた対応にFT(Fault Tolerance)の機能向上も重要です。

vSphere 5.5までで提供されていたFTは、SMP構成の仮想サーバーには対応していなかったため、仮想CPUが1基の場合にのみ利用できる機能となっていました。これは、従来の同期方式では、マルチプロセッサには対応できなかったため、vSphere 6では新技術(Fast Check pointing)を開発して、アーキテクチャの変更を行い、これによってマルチプロセッサ(最大4仮想CPUまで)のサポートを可能にしたというものです。処理の重要性と負荷の重さは直接的な比例関係にあるわけではありませんが、FTで保護したくなるような重要な処理を実行しているサーバーの場合、やはり2~4 CPUが割り当てられる方が、むしろ一般的ではないかと思われます。そのため、この制約は「FTで保護したくなるようなワークロードに対してvSphere 5.5までのFTだけでは対応しきれない場合がある」という制約となっていたため、“Any Application”というコンセプトにそぐわないものでしたが、vSphere 6ではこの制約が解消され、従来は仮想化されていなかったミッションクリティカルアプリケーションの仮想化に踏み切りやすくなったといえるでしょう。

マルチプロセッサ仮想マシン対応のFault Tolerance

図2:マルチプロセッサ仮想マシン対応のFault Tolerance

スケールアウト型のデータ処理

従来は仮想化に向かない処理と考えられてきた、大規模なスケールアウト型のデータ処理、典型的にはHadoopによるビッグデータ処理があります。これに関してもvSphere 6ではパフォーマンス向上の取り組みを行っています。同社が発表したホワイトペーパー“Virtualized Hadoop Performance with VMware vSphere 6 on High-Performance Servers”では、特定の処理(TeraSort)においては、物理サーバー上で直接実行するよりもvSphere 6上で実行した場合の方が、12%高速という結果が得られたことを報告しています。

仮想化した方が物理サーバー上で直接実行するよりも速いというのは不思議な話のように聞こえますが、その理由は現在のサーバーがNUMA(Non-Uniform Memory Access)アーキテクチャを採用するようになってきているためです。NUMAでは、CPUとメモリの組(ノード)を複数配置し、ノード間をバスやインターコネクトで接続することから、同一ノード内(ローカル)で処理が完結する場合と、他ノードのメモリ(リモート)を参照する場合とでは、メモリアクセスに要する時間が違ってきます。vSphere 6の場合は、こうしたハードウェアの構成をハイパーバイザーが把握しており、可能な限り処理がローカルで完結するようにプロセスを実行するプロセッサを選択しているため、ローカルとリモートの差異を気にせずに実行した場合よりも、性能が高くなったということです。

nVidia GRID vGPU

従来は、仮想化に向かないと考えられてきたCADなどの3Dグラフィックスアプリケーションに関しても、nVidiaのnVidia GRID vGPU技術の活用によってGPUチップ側での仮想化支援機能を利用できるようになったことで、パフォーマンスが向上しています。

Any Applicationの現状

仮想環境で対応可能なアプリケーションの幅を拡げていく、という取り組みは過去のvSphereのバージョンアップでも一貫して追及されてきた基本的な要素です。vSphere 6では、ついに標準的なIAサーバーのスペックを大幅に凌駕する規模に達しており、一般的なアプリケーションに関しては「対応できない」という状況は考えられないほどになっています。今後は、クラウド環境を前提とした、大規模なアプリケーションや高速処理のために大量のメモリを活用するインメモリ型の処理が増加していく可能性がありますが、そうした新しいワークロードに関しても、十分余裕を持って対応できる状態になっているといえるでしょう。“Any Application”という表現が、単なる言葉の上でのことではなく、すでに仮想化できないアプリケーションを見つける方が困難になりつつあるという状況にまで来ていると言えるのではないでしょうか。

vSphere以外の展開

ここまで、vSphere 6の機能拡張について“One Cloud, Any Application”というメッセージに沿って紹介してきましたが、実際にはvSphere 6単体の機能拡張に留まらず、さまざまな製品群が足並みを揃えて一斉に機能強化を行っており、その組み合わせによって最終的な“One Cloud, Any Application”というコンセプトを実現する形になっています。ここでは、関連する部分を簡単に紹介しておこう。

Virtual SAN 6

ストレージに関して大幅な機能拡張が行われているのも今回の特徴となっています。具体的には“Virtual SAN 6”の発表がそれで、基本的にはvSphere側からコントロール可能な新たな“Software-Defined Storage”を作り出すというアプローチになっています。ハイパーバイザーに分散ストレージ機能が組み込まれたような形で使いやすいという点は従来と同様ですが、Virtual SAN 6では新たに「オールフラッシュ対応」「2倍のスケーラビリティ」(従来の32ノードから最大64ノードのクラスタに対応)、「4倍以上のパフォーマンス」(IOPSがハイブリッド構成で2倍、オールフラッシュ構成では4倍以上)、スナップショット機能やラックの認識などの「エンタープライズデータサービス」などが新機能として加わっており、実用性が大幅に高まっています。

VMware Integrated OpenStack

このほか、注目を集めた発表としてVMwareのOpenStackディストリビューションとして“VMware Integrated OpenStack”も発表されました。VMwareではクラウド管理のための製品としてVMware vCloud Suiteを用意しており、そこに含まれるVMware vRealize OperationsやVMware vRealize Automationといったツールを使えば、OpenStack以上にきめ細かなクラウド環境の運用管理が可能です。それにもかかわらず、OpenStackを製品化したのは、OpenStackに移行するといった話ではもちろんなく、さらに言えばOpenStackを武器に新規ユーザーを獲得するという取り組みですらないようです。

VMware Integrated OpenStackは、既存のvSphereユーザーをターゲットにしており、vSphere Enterprise Plusを契約しているユーザーに無償提供されます(サポートは有償)。製品投入の意味は「vSphereユーザーの中にも、クラウドアプリケーション開発のベースとしてOpenStack APIを使いたい」という声が高まってきたことに対応する」というものだそうです。いわば、既存のvSphereユーザーに対するサポート強化という意味合いだといえます。VMware製品に対応するドライバの提供タイミングなどが若干早くなることはあり得るものの、基本的にはVMware Integrated OpenStackに組み込まれる機能は、すべてオープンソースコミュニティにも提供される計画であり、他のOpenStackディストリビューションでは利用できないVMware Integrated OpenStack限定の独自機能といったものを実装する予定はないようです。

VMware Integrated OpenStack

図3:VMware Integrated OpenStack

某出版社で雑誌や書籍の編集者として勤務していたが、2000年に退職し、以後はフリーランス・ライターとして活動中。もともとはUNIXとTCP/IPに関心を持っていたが、UNIXマシンがワークステーションからエンタープライズ・サーバーへと市場をシフトするのに引きずられ、いつの間にかエンタープライズIT関連の仕事が増えてきた。最近は、SDNやビッグデータ対応がネットワーク/ストレージのアーキテクチャに与える影響について興味を持っている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています