Nutanix Meetup #10 で、Nutanix + OpenStack 連携のデモをしてみました。
Ravello 環境で、Nutanix CE を OpenStack から操作してみました。
Nutanix + OpenStack の概要
- Nutanix CE のハイパーバイザは、KVMベースのAcropolis Hypervisor(AHV)です。
- OpenStack からは、AHV ではなく Nutanix クラスタ単位で管理されます。
- OpenStack が Nutanix を操作する場合、Prism (Nutanix の CVM)経由になります。AHV に直接アクセスされるわけではありません。
詳しい仕組みについては、Nutanix Bible の「OpenStack」の項目を参照。
最近、OpenStack 連携の説明も日本語訳されました。
OPCEL 認定エンジニアが語る! Nutanix x OpenStack・・・
写真には音声も動作も含まれないのでちゃんとやっている風。
.@gowatana さんによる Nutanix × OpenStack 連携解説&デモ! pic.twitter.com/DrrNF3kfHo
— Satoshi SHIMAZAKI (@smzksts) 2016年4月20日
Nutanix の OpenStack Service VM (OVM)について
Nutanix から、Acropolis OpenStack Driver がインストール済みの、OVM とよばれる VM イメージが提供されています。OVM 自体を OpenStack Controller として使用することも可能です。OVM の実態については下記をどうぞ。
OVM の配置について
OVM を使用した Nutanix + OpenStack 連携での構成は、All-in-one 構成か、Remote OpenStack Controller と OVM が連携する、OVM-service と呼ばれる構成になります。
All-in-one 構成
All-in-one 構成の場合は、「OVM 1台+Nutanix クラスタ」の構成になり、OVM には OpenStack Controller のサービス群と、Acropolis OpenStack Driver の両方が含まれます。
ちなみに Meetup では紹介できませんでしたが、環境構築はこのようになります。
OVM-services
今回のデモ環境はこちらの構成で、OpenStack Controller は Acropolis OpenStack Driver の OVM とは別の VM にしていました。
下図での OVM#1 は、Driver-Only モードとしてセットアップして、OVM#2 は OpenStack Controller としてセットアップします。
このデモ環境は、このように構築しました。
OVM は、Nutanix 上の VM として稼働させることも、まったく別サーバとして稼働させることもできます。通常は Nutanix 上の VM として配置するはずですが、今回は Ravello の制限上、独立した VM にしました。
本当に Ravello でデモ環境を用意しました。
OpenStack × Nutanix CE on Ravello!! pic.twitter.com/UisQP1CBu9
— Satoshi SHIMAZAKI (@smzksts) 2016年4月20日
デモ内容
Horizon ダッシュボードから、Nutanix を操作してみました。
下記のような感じです。
Meetup ではデモできませんでしたが、当然ながら CLI でも同様の操作が可能です。
OpenStack 連携した Nutanix の特徴
API の共通化
Nutanix の Prism は十分操作が簡単なため、OpenStack 連携することで作業者による運用が簡素化できるかというと、微妙な気がします。しかし、Horizon や CLI から Nutanix を操作できることからわかるように、Nutanix の API のかわりに OpenStack の API によって、Nutanix を操作することができるようになります。クラウド管理ツールや運用自動化システムのようなものを導入して Nuanix 環境を操作するようなときに、API の共通化が期待できます。
Compute Host の拡張性について
OpenStack の Compute サービス(Nova)から見ると、Acropolis OpenStack Driver をもつ OVM が、Compute Host として見えます。そのため、Nova の Compute Host として管理されるのは、Nutanix のクラスタ単位になります。
つまり、Nutanix クラスタにハイパーバイザが追加されても、OpenStack 側での設定変更なくキャパシティを拡張することが可能な仕組みになっています。
マルチテナント化
素の Nutanix クラスタの場合は、シングルテナント状態です。
たとえば Prism からログインすると、クラスタ内の VM、Volume(Volume Group)、Network、VM Image はすべて見える状態です。
OpenStack を経由してアクセスした利用者に対しては、自分のテナントに所属する VM、Volume・・・ だけが見える状態にできるようになります。
たとえば、「t01」テナントに所属する「user01」ユーザの VM や Network などは、別テナント「t02」のユーザ「user02」から見えないように(アクセスできないように)することができます。そしてセキュリティを確保したり、同名、同アドレスのオブジェクトを作成したりしやすくなります。
以上。