VIO について

最近、オープンソース型の仮想化プラットフォームとして OpenStack が注目されています。

オープンソースで無料でクラウド基盤を構築できるのが OpenStack の大きなメリットですが、環境構築がものすごく難しい (+学習コストが高い) ことでもよく知られています。

まさにその通りでちょっと苦戦した覚えがあります。

OpenStack って何かすごいらしいぞ という声もあるし、セミナー、事例紹介なども頻繁に行われるようになり、最近最も注目されているのではないかと思います。

そのおかげで、HP、Brocade、VMware のような大手企業も今までより積極的に OpenStack 対応製品開発に取り組むようになったのではないかと思います。

今回は、その取り組みの中の一つと思われる VMware Integrated OpenStack (以下、VIO) と OpenStack の話をしてみようと思います。

まず、VIO は VMware の OpenStack ディストリビューションです。

先ほど言ったように環境構築が難しいと言われる OpenStack ですが、VIO を使うと本番環境向けの OpenStack をテンプレートをデプロイする感覚で簡単に構築することができます

vCenter : VMware Integrated OpenStack アプライアンス

ちなみに、VIO は vSphere Enterprise Plus Edition ライセンスであれば無償で利用可能です。

VIO の概要、機能説明とダウンロードについては、以下の URL を参照してください。

VIO は本番・商用環境向け

VIO を使うと 本番環境向け の OpenStack を簡単に構築可能です。 (検証環境向けではない)

この記事を書いた時点での最新版は、VIO 2.x です。

VIO 2.0 のリリースノート(2015/09/10) は、こちらを参照してください。

ちなみに、VIO 1.0 は、OpenStack Icehouse ベース。 VIO 2.0 は、OpenStack Kilo ベースです。

VIO は本番環境を意識しているので、仮想マシンの数も多く、それなりのスペック・リソースが求められます。

次は、VIO のハードウェア要件です。

参考資料 : VMware Integrated OpenStack インストールおよび構成ガイド

コンポーネント VM 数 CPU メモリ(GB) 容量(GB)
Integrated OpenStack Manager 1 2(2) 4(4) 25(25)
ロードバランシングサービス 2 2(4) 4(8) 20(40)
データベースサービス 3 4(12) 16(48) 80(240)
メモリキャッシュサービス 2 2(4) 16(32) 20(40)
メッセージキューサービス 2 4(8) 16(32) 20(40)
コントローラ 2 8(16) 16(32) 80(160)
Compute サービス 1 2(2) 4(4) 20(20)
Ceilometer データベース 3 2(6) 4(12) 20(60)
合計 18 54 172 625

NSX に関しては、後ほどもう少し詳しく説明します。

上記のリソースに加え、NSX-V コントローラ、NSX-V Manager、NSX-V Edge といった NSX-V コンポーネント 用のリソースを足すと少なくとも 22台の仮想マシンと最低以下の合計リソースが必要になります。

OpenStack の Object Storage である Swift を構築する際には、さらにリソースが必要になります。

  • 22 VM
  • 70 CPU
  • メモリ 196 GB
  • ディスク 745 GB

一番気になったのはメモリでした。

ちなみに、私が運用している検証環境のスペックはこんな感じです。

vCenter サマリ : HP DL360 Gen9

ソケットごとのコア数が 10で 2CPU = 20CPU

ハイパースレッディングで * 2 = 論理プロセッサ 40CPU になります。

メモリは、(16GB * 8枚) + (8GB * 8枚) = 192GB になります。

ということは、ESXi ホスト 1台あたり論理 CPU 40、メモリ 192GB になります。

ESXi ホストは、4台構成でクラスタを組んでいますが、メンテナンス・縮退運転を考え、n-1 で運用しているので、実際には 3台分のリソース (閾値 80%) を使っています。

興味半分で私が運用している検証環境クラスタで試してみよと思ったんですが、全部デプロイしてしまうと逆にリソースが足りなくなり、他の検証ができなくなってしまう恐れがあったので、こりゃ VIO 専用のクラスタが必要だな。。ということで途中で止めました。

OpenStack 環境を簡単に構築できるようになるのでかなり便利ですが、私個人的には懸念点として以下がありました。

  • vSphere 基盤上で OpenStack 環境を動かすメリットがよく分からない
  • VIO を使うと結局、VMware に依存するしかない
  • OpenStack 環境は、自分たちで構築して運用した方が良い?

vSphere 基盤上で OpenStack 環境を動かすメリットがよく分からない。。

純粋な OpenStack 環境を構築する際には、全部物理で行くか、もしくは必要に応じて物理の中で動いている大事なコンポネント (例えば、RabbitMQ) は仮想マシン 3台で冗長を組んで物理マシンと仮想マシンを併用して使うとかいろいろやり方があると思います。

ネックになりやすく、パフォーマンスが求められるところは、OpenStack の外に出して、別途物理化する必要もありますが、それを全部 vSphere 基盤上に乗せて動かすメリットがよく分かりませんでした。

vSphere 上で動くので、vSphere の強みである DRS、HA、FT、スナップショット、クローンなどの機能や vCenter の運用管理機能がそのまま使えるというメリットはありますが、vSphere・OpenStack 2重管理になってしまうのと仮想の仮想になってて逆にややこしいのでないかと少し心配になりました。

VIO を使うと結局、VMware に依存するしかない

ここはちょっとお金の話になりますが、VIO のサポートは、オプションとして別途購入する必要があります

つまり、サポートを受けるためには、お金がかかります。

OpenStack 環境でトラブルが起きたとします。

OpenStack 環境を自分たちで一から構築した場合、仕組み・内部構造についてもある程度理解が出来ているので、トラブルシューティングできるはずです。

その反面、VIO で構築した OpenStack 環境の場合、知識がある人なら調べられるかもしれませんが、おそらく大半は VMware サポートに依存するしかないと思います。

また、VIO で構築した OpenStack 環境のネットワーク機能を全て無理なく使うためには、NSX (有料+値段もそこそこ) を導入する必要があります

NSX とは

NSX は、VMware の仮想化技術と VMware が買収した SDN(Software Defined Networking)ベンチャー企業である Nicira の技術をベースに開発されたアーキテクチャでです。 また、SDDC (Software-Defined Data Center) を実現するためのネットワーク仮想化プラットフォームとして、L2 から L7 のネットワークを仮想化します。

NSX についてもっと知りたい方は、以下の URL を確認してください。

VMware : NSX

クラウド Watch : 世界を新たにつなぎ直す~ネットワーク仮想化プラットフォーム「VMware NSX」とは

NSX じゃなくて VDS(vSphere Distributed Switch : 分散スイッチ) も使えますが、機能が限定されてしまいます。

以下をご覧ください。

参考資料 : VMware Integrated OpenStack インストールおよび構成ガイド

サポートされる機能 VDS モード NSX モード 備考
VLAN を活用するプロバイダ ネットワーク
API/管理プレーンの高可用
DC 規模の制御プレーン スケール 制限あり
レイヤ 3/NAT 高可用性とスケール ×
vRealize Operations と Log Insight のコンテンツ パック ×
VLAN から独立した専用論理ネットワーク識別子 × Neutron 機能セット
高可用性の DHCP サービス
セキュリティ グループ
メタデータ サービスの統合とサポート
L3(一元化、分散)
NAT および浮動 IP のサポート
ライン レートのステートフル分散ファイアウォールを備えたマイクロセグメンテーション × エンタープライズ機能
サービス挿入を介したプロバイダ側のセキュリティ
カーネル内の分散ルーティング

NSX 単体で購入することも可能ですが、VMware vCloud Suite エディションライセンスを持っている場合には、割引価格で購入できます。

また、既存の vSphere ライセンスを vCloud Suite へアップグレードすることも可能です。(有料)

VMware vCloud Suite 6.0 に含まれている製品は、以下の通りです。

Standard Advanced Enterprise
vRealize Automation Standard vRealize Automation Advanced vRealize Automation Enterprise
vRealize Operations Standard vRealize Operations Advanced vRealize Operations Enterprise
vSphere Enterprise Plus vSphere Enterprise Plus vSphere Enterprise Plus
vRealize Business Standard vRealize Business Standard
vCenter Site Recovery Manager Enterprise

以下、ご興味のある方は軽く目を通してみてはいかがでしょうか。

NSX for vSphere の具体的な値段は公開できませんが、1CPU あたり ○十万です。 (担当営業さんに見積書を出してもらってご確認ください)

ちょっと計算してみましょうか。

例えば、2CPU 搭載の ESXi ホストが 4台あるとします。

NSX のオープン価格は ¥1,000,000 だとします。 (あくまでも例です)

NSX の保守費は、24H 365D 対応で ¥200,000 とします。 (これも例です)

企業でものを買う時には仕切が入るので、計算しやすくするために、NSX と保守費の仕切率を両方とも 50% とします。

上記の例で言うと NSX を導入する場合、1CPU あたり かかる費用は、以下になります。

(1,000,000 * 0.5) + (200,000 * 0.5) = 600,000万/1CPU

2CPU の ESXi 4台で 8CPU なので、トータル費用は、

600,000 * 8 = 4,800,000万円 になります。

Standard・Advanced・Enterprise の価格差もあるので、ライセンスによって費用も大きく変わります。

実際に NSX は結構いい値段しますが、セキュリティを含め、スイッチ、ルータ、ロードバランサー、ファイアウォール、VPN、NAT 装置等を簡単に作れてしますので、個々の機能を物理で建てた場合の費用・人件費・開発スピードを考えると逆にうまく活用すればコスト削減につながるかもしれません。

NSX 管理画面

NSX ホーム

NSX Edge 画面

NSX ホーム - NSX Edge 管理画面 : Edge を作成し、ルータ・NAT・ロードバランサーなどの機能を有効にし、役割を与えます。 (Edge は複数作成可能・二つの Edge を冗長化することも可能)

上記の Edge 管理画面は、NSX の中のごく一部の機能です。 NSX は使える機能も多くて評判もいいです。 最近導入する企業・実績も増えてきているので、VIO の話に関係なく素晴らしい製品だと思います。

少し寄り道したのですが、VIO を使うと VMware サポートだったり NSX を導入することによって発生するライセンス・保守契約費用だったり、結局 VMware に依存せざるを得なくなります。

運用・保守・開発費は別として オープンソースで無料でクラウド基盤が作れるベンダーロックされない のが OpenStack のメリットでもありますが、そこを打ち消してしまう可能性があるので、ちょっと真剣に考えて見る必要があります。

終わりに

苦戦しながら構築したからこそ OpenStack 専用のコマンドは勿論のこと。 OpenStack を支える様々なコンポネント (Keystone・Neutron・Nova・Cinder・Swift・Glance 等) の役割とコンポネント間の連携性を理解できるようになるのは言うまでもなく、OpenStack の内部構造・仕様がどうなっているかある程度理解できるようになります。

環境構築が難しい OpenStack を VIO を使うと簡単に構築できてしまうところは便利ですが、OpenStack の基本構成や内部動作を理解するためにも実際に一つ一つ構築してみるのもいいかなと思いました。

VMware 仮想マシンで構築中の OpenStack 環境

仕事の合間に構築中の OpenStack 検証環境 (検証のため、仮想マシンで構築しています)

VIO に関しては、国内導入事例がいろいろ出てきてほしいのともっと低いスペックで簡単に試せる「ミニ VIO」がリリースされたら嬉しいなーと個人的には思いました。

そうなると最近話題の OpenStack をちょっと触って見たいんだけど構築は難しいし。。と悩んでる人とか。 とりあえず検証してみて、オリジナルの OpenStack と比較した結果、VIO でも良さそうだったら本番環境での利用を検討するきっかけになるかもしれませんし。

VIO についてご興味のある方は、以下の URL をご確認ください。 (インストールおよび構成ガイド、管理者ガイド、ユーザー ガイド)

リソースに余裕があれば、試して見るのもいいかなと思います。

以上、VMware Integrated OpenStack について でした。