Skip navigation
2015

「vSphere と OpenStack どっちがいいの」と聞かれることがあるので、簡単に絵をかいてみました。

それぞれ役割が違うので「どちらが」とは言えない感じだと思います。


まず、一般的な vSphere の使われ方ですが、サーバ仮想化をこんな感じで実現しています。

hv-openstack-01.png

ESXi ハイパーバイザを、管理サーバ(vCenter)で管理します。

vSphere の主要な機能は、基本的に vCenter がある前提となっています。


vSphere の対抗となるサーバ仮想化製品は色々あります。

直接ハイパーバイザを操作することもありますが、

大規模向けの製品(構成)では、だいたい vSphere と同様に管理サーバが必須だと思います。

hv-openstack-02.png


OpenStack と vSphere の関係を絵にしてみました。

OpenStack はサーバ仮想化をするものではなく、クラウド管理をするためのものとされています。

そのため、OpenStack は「vSphere と連携する」関係であって、

vSphere と直接的に対抗するものではないと考えられます。

また、絵には記載していませんが、OpenStack がクラウド管理を実現するために連携するのは

ハイパーバイザだけでなく、ストレージやネットワーク機器などとも連携します。

hv-openstack-03.png


OpenStack を介することで

vSphere に限らず、クラウド環境を構成するハイパーバイザを

共通の API や共通の UI で管理することができるようになるはずです。

たとえば、ハイパーバイザが違っても、

Horizon Dashboard や nova glance CLI、なにか「内製ツール」的なもの等で

同じように管理できるようになるはずです。(理想的には・・・)

hv-openstack-04.png


あえて OpenStack と対抗する VMware 製品を上げるとすると、

vRealize Automation(旧称 vCloud Automation Center。vCAC)あたりのようです。


以上、vSphere 等のサーバ仮想化製品と OpenStack の関係についてでした。

最近、自宅の vCenter Server Appliance (VCSA) の Web Client が不調でした。


ログインや操作は一応できるのですが、

vCenter のインベントリ情報が正しく表示されなくなっていました。

たとえば、

  • VM を作成しても、表示されない。(そのため起動もできない)
  • 既にある VM を起動しても、停止したままのように見える。(しかし起動はしている)
  • VM を停止しても、起動したままのように見える。
  • クラスタの名前を変更しても、反映されない。

など


Web Client のこのあたりの表示です。

vcsa-inventory-reset-1.png


ただし、vSphere Client や PowerCLI では

問題なくインベントリ オブジェクトが表示も操作もできます。

 

しかし、vSphere 5.1 以降の新機能は基本的に Web Client からしか使用できないので

このままでは困ります。

何となく Inventory Service が怪しい気がしたので、かねてから気になっていた、

VCSA での Inventory Service データベースのリセットをしてみました。

vCenter Server Appliance 5.x で vCenter Inventory Service の開始に失敗する

http://kb.vmware.com/kb/2093001


ちなみに、VCSA ではない Windows 版の vCenter だと、これにあたります。

VMware vCenter Server 5.x Inventory Service データベースのリセット

http://kb.vmware.com/kb/2093004


今回は、VCSA 5.5 Update 1 で実施しています。

リセットのためのコマンドラインで、何回か VCSA のホスト名を指定しているので

最初に vcenterhost 変数にホスト名を設定しています。

vc55u1-1:~ # uname -n

vc55u1-1.vmad.local

vc55u1-1:~ # vcenterhost=`uname -n`

vc55u1-1:~ # echo $vcenterhost

vc55u1-1.vmad.local

 

今回の VCSA には、Single Sign-On インスタンスが同居しているので、

KB にあるとおりコマンドラインを実行します。

※大抵の VCSA 環境では、SSO インスタンスは同居だと思います。

※最初の赤文字部分(部分的に青く表示されているかもしれませんが)を、1行で実行します。

vc55u1-1:~ # /usr/lib/vmware-vpx/inventoryservice-registration/vcregtool.sh -Dvim.logdir=/var/log/vmware/vpx/inventoryservice-registration com.vmware.vim.dataservices.vcregtool.RegisterVC -action register -lookupserviceurl https://$vcenterhost:7444/lookupservice/sdk -isurl https://$vcenterhost:10443 -vcurl https://$vcenterhost/sdk/vimService -vccert /etc/vmware-vpx/ssl/rui.crt -vcprivkey /etc/vmware-vpx/ssl/rui.key -vcinstancecfg /etc/vmware-vpx/instance.cfg -vcendpointsdir /usr/lib/vmware-vpx/endpoints -vcextensionsdir /usr/lib/vmware-vpx/extensions

(色々出力されるが、省略)

Client was disposed successfully

Registration completed

Finished performing register action ★処理おわり

vc55u1-1:~ #

 

この時点でも vCenter は起動中ですが・・・

vc55u1-1:~ # service vmware-vpxd status

vmware-vpxd is running

tomcat is running

 

VCSA の vCenter サービス(vmware-vpxd)を再起動します。

vc55u1-1:~ # service vmware-vpxd restart

Stopping VMware vSphere Profile-Driven Storage Service...

Stopped VMware vSphere Profile-Driven Storage Service.

Stopping tomcat: success

Stopping vmware-vpxd: success

Shutting down ldap-server..done

Waiting for the embedded database to start up: success

Verifying EULA acceptance: success

Executing pre-startup scripts...

Updating the vCenter endpoint in the Lookup Service.

Intializing registration provider...

Getting SSL certificates for https://vc55u1-1.vmad.local:7444/lookupservice/sdk

Service with name 'vpxd-vc55u1-1.vmad.local-f3a732c6-22bb-489b-9d9e-5906b78e4bfa' and ID 'local:27633d4d-5111-42f8-a32e-b081d173bedb' was updated.

Return code is: Success

Starting ldap-server..done

Starting vmware-vpxd: success

Waiting for vpxd to initialize: .success

Starting tomcat: success

Executing startup scripts...

Autodeploy service is disabled, skipping registration.

Starting VMware vSphere Profile-Driven Storage Service...Waiting for VMware vSphere Profile-Driven Storage Service.......

VMware vSphere Profile-Driven Storage Service started. ★再起動完了。

vc55u1-1:~ #

 

 

再起動されました。

vc55u1-1:~ # service vmware-vpxd status

vmware-vpxd is running

tomcat is running

vc55u1-1:~ #


Web Client にログインしたままだと、インベントリの情報がそのままなので、

一旦ログアウトします。

vcsa-inventory-reset-2.png


ログインしなおすと、インベントリの情報が正しく表示されるようになりました。

 

vSphere 検証環境を作る時になどには、VCSA を使うことが多いと思います。

たまたま Web Client の情報表示がおかしくなったら、

VCSA を再デプロイする前に試してみると良いと思いました。


以上、VCSA の Inventory Service データベースのリセットでした。


VOVA について、前回このような感想を残しましたが、

これについて、ちょっと補足をしておこうと思います。

 

vSphere と OpenStack。第3回 VOVA でボリューム作成。(Cinder)

「OpenStack 管理による vSphere 環境の自動化が~」といった感じではなく、

OpenStack から操作される vSphere の動作を見るために使っていきたいと思いました。

 

vSphere と OpenStack を組み合わせる場合、

OpenStack で管理するコンピュートノードとして(ハイパーバイザとして)

vSphere(ESXi + vCenter)を使うことになります。

 

この時、OpenStack は vCenter を操作するドライバ(プラグイン)を使用します。

このドライバは、vSphere driver、VMDK driver と呼ばれていて、

これは、自力でゼロから OpenStack + vSphere の環境を構築しても、

VIO もしくは VOVA を使用しても変わらない部分だと思います。

vsphere-openstack-01.png


ただ、VOVA と VIO では対応しているコンポーネントや

OpenStack 環境の構築手順が異なるようです。


たとえば VOVA では、仮想アプライアンスをデプロイすれば

簡易的な OpneStack 環境が構築できます。

しかし Neutron は使用できるようにはなっていません。

vsphere-openstack-02.png


一方 VIO では、仮想アプライアンスをデプロイすると

VIO Manager と VM のテンプレート が展開され、

そこから更に OpenStack 管理用の VM(20 VM くらい?)を展開することで

OpenStack 環境となるようです。

Newtron も NSX との連携により、使用できるようになっているようです。

vsphere-openstack-03.png


vCetner を経由した連携方法や、使用するドライバの動作、

vSphere 環境には実際どのようなオブジェクトができるのか、といったことの確認は VOVA で可能です。

そのため、とりあえず OpenStack 連携がどのようなものなのか見てみたい場合は

VOVA を使用してみるとよいと思います。


ただ、本番環境での OpenStack + vSphere を検討するときは

VIO(のベータプログラム)を使わざるを得ない気がしました。

そもそも、OpenStack 込みで製品サポートを得られるのは VIO の方のみで、

しかも VIO は管理用 VM の構成が相当ちがう(VM 構成が本気すぎる気も・・・)ので

VOVA だと PoC しきれない気がしました。NSX 連携も必要でしょう・・・

 

ということで、もう少し VOVA を使ってみようと思います。

以上、VOVA の用途についての所感でした。

今回は、VOVA での Cinder ボリュームの見え方についてです。

Cinder は、ブロックデバイス ストレージを管理する OpenStack コンポーネントです。

 

OpenStack + vSphere と vSphere OpenStack Virtual Appliance(VOVA)

のコミュニティ ページはこちら。

OpenStack

 

これまでの VOVA。

vSphere と OpenStack。第1回 VOVA のデプロイについて。

vSphere と OpenStack。第2回 VOVA でインスタンス起動。

 

概要。

OpenStack + vSphere 環境の Cinder は、

データストアに VMDK ファイルを自動作成します。

ただし、VMDK ファイルを作成するだけでなく「Shell VM」と呼ばれる、VMDK 管理用の

「ただ VMDK ファイルを接続されているだけの VM」とセットで作成されます。

この VM は、PowerON されたりせず、vNIC も割り当てられていません。

vova-cinder-volume-1.png


Cinder で、Nova インスタンス(VM)に Cinder のボリュームを割り当てると、

Shell VM に接続されている VMDK ファイルが、その VM からも接続されます。

このとき、Shell VM には、常に接続されたままになるので、

VMDK ファイルは共有されている状態になっています。

vova-cinder-volume-2.PNG

 

実際の画面を見てみる。

 

VOVA での Cinder のボリューム作成も、OpenStack ダッシュボードからです。

vova-vol-01.png


ボリューム名、容量 等を入力します。

今回は、ボリューム名を「vova-vol01」、容量は 2GB にしています。

vova-vol-02.png

 

作成されたボリュームを VM に割り当てるには、「接続の編集」を開きます。

vova-vol-03.png

 

「インスタンスへの接続」で、

接続する VM(Nova インスタンス)を選択します。

vova-vol-04.png


少し待つと・・・

vova-vol-05.png

 

「接続先」に、接続したインスタンス名と、

そのインスタンスでのデバイス名(例だと /dev/sdb)が表示されます。

vova-vol-06.png

 

ちなみに、VOVA に SSH ログインしてみると

「cinder list」コマンドで同様に確認できます。

vova-vol-07.png

 

OpenStack ダッシュボードから、

インスタンスのコンソールを画面をひらいて確認してみました。

/dev/sdb として、2GB のディスクが認識されています。

ただし、ただのブロックデバイスとして認識されるので

この領域にファイルを配置したりするためには、

ファイルシステム作成や、マウントが必要です。

vova-vol-08.png

 

vSphere Web Client からの見え方。


Cinder ボリュームが、

「volume-UUID」という名前の VM(Shell VM)と一緒に作成されています。

VMDK ファイルが作成されたデータストアは、VOVA のデプロイ時に

「VMware Driver Configuration」で指定したデータストアです。

vova-vol-09.png

 

PowerOff 状態の、Shell VM の「ハード ディスク 1」の VMDK ファイル名と・・・

vova-vol-10.png


Cinder ボリュームを割り当てた VM の

「ハード ディスク 2」の VMDK ファイル名が同じです。

vova-vol-11.png

 

vSphere の世界だと、

どの VM にも割り当てられていない ノラ VMDK ファイルは

扱いにくいのかな、と思いました。

 

以上、VOVA でのボリューム作成でした。

つづく。

vSphere と OpenStack。第4回 VOVA の用途について。