第4回 Mirantis OpenStack と VMware との連携実現!


第4回 Fuel DVSプラグインの動作確認

  1. まえがき
  2. 状態確認
  3. 動作確認:ESXi上インスタンスとCompute上インスタンスの疎通確認
    1. インスタンス起動
    2. PINGとSSHで疎通確認
    3. HTTPの疎通確認

まえがき

前回はFuelによるOpenStack環境のDeployが完了するところまでご説明しました。

第1回概要:http://qiita.com/MakitaTatsuro/items/6812bbaa0d7c82654374
第2回vSphere環境構築:http://qiita.com/MakitaTatsuro/items/813c85f45f51367912c4
第3回OpenStack環境構築:http://qiita.com/MakitaTatsuro/items/aacd20869ddb4348645f

今回は、Deploy後、正常に動作することを確認していきます。

まず、Deployが終わった状態のNetworkから確認してみましょう。

状況確認

さっそくHorizonのDashbordにアクセスしてみましょう。

FuelのDeploy完了した画面からHorizonへリンクされています。
便利ですね。

★Horizonのアクセスはデフォルトでは、ユーザがadmin、パスワードはadmin、で設定されています。

「プロジェクト」→「ネットワーク」→「ネットワーク」
デフォルトで「admin_floating_net」と「admin_internal_net」のネットワークができています。

この「admin_internal_net」のUUIDを確認しましょう。

「9d66cbc5-86ae-4b13-8394-8e58b9fe386f」でした。

このネットワークが、VMware環境側の「DSwitch_compute」にアタッチされているか確認してみましょう。
vCenterにブラウザアクセスしてログインします。
「ホーム」→「ネットワーク」→「管理」タブの「トポロジ」を確認します。

「DSwitch_Compute9d66cbc5-86ae-4b13-8394-8e58b9fe386f」というスイッチがアタッチされていることがわかります。

それと、Novaが各サービスを正しく認識しているか確認してみましょう。

Controllerノードにログインします。

コマンドは

. openrc
nova service-list

です。(画面キャプチャし忘れました)

上記でわかるのは、nova-computeが2つあるように見えますが、Zoneがvcenter用とnova用に分かれていて、vcernter用については、ホスト名がvcenter-sn1で登録されていることがわかります。
このvcenter用のホスト上にインスタンスが起動するわけではなく、そのホスト(compute_vmware)からvCenterにAPIが飛ばされて操作されます。

なので、Hypervisor list してもVMware環境側の空き容量などは確認することはできません。

それでは「admin_internal_net」をアタッチしたインスタンスを起動してみましょう。

インスタンス起動

「admin_internal_net」ネットワークにアタッチしたインスタンスを2台起動します。
1つはAvailability Zoneをnova、もう一つはAvailability Zoneをvcenterで作成します。
手順は省略するので、下記の指定のとおり作成します。

Incetance Name : osvm01
Availability Zone : nova
ブートイメージ:TestVM(デフォルトで登録されているQCOW2のイメージ)
フレーバ:m1.micro
ネットワーク:admin_internal_netのみアタッチ

→起動します。

Incetance Name : osvm02
Availability Zone : vcenter
ブートイメージ:TestVM-VMDK(デフォルトで登録されているVMDKのイメージ。VMDKでないとESXiで起動しません。)
フレーバ:m1.micro
ネットワーク:admin_internal_netのみアタッチ

→起動します。

両機ともステータスが稼働中になることを確認したら、vCenter側でどう認識されているか確認してみましょう。

起動前:

起動後:

vcenterのZoneを指定したインスタンスが「DSwitch_Compute9d66...」のDistributed Switch にアタッチされていることがわかります。

では、noVNC接続してPINGとSSHを確認します。

PINGとSSHで疎通確認

ブラウザでHorizonにアクセスして、インスタンスのコンソール画面を開いてみましょう。

【注意】AvailavirlityZoneをvcenterで指定したインスタンスは、HorizonのDashbordのnoVNCでアクセスすることはできません。

ですので、ここでみるインスタンスは、「 osvm01 」のコンソール画面になります。

もし、「 osvm02 」のコンソールにアクセスしたい場合は、vCenterのブラウザにアクセスして、vCenter経由でコンソールを確認してください。

それではifconfigコマンドでIPアドレスが自動取得できていることを確認のうえ、PINGを飛ばします。

通っていますね。

sshで接続してみましょう。


通りました。

応答がない場合、セキュリティグループを追加しましょう。
今回は、追加方法の説明は省略します。(Horizonのブラウザから「プロジェクト」→「コンピュート」→「アクセスとセキュリティー」の画面で追加できます)

SSHと同様にHTTPについても許可しておいてください。次はHTTPで疎通を試みます。

HTTPの疎通確認

SSHが通っていれば疎通は確認できていると思いますが、
ここではHTTPでも疎通できていることを明示的に確認しておきます。

インスタンスの1つ目にて、ncコマンドで簡易HTTPサーバを起動しておきます。

ブラウザでvCenterにアクセスしてコンソールを開きます。(インスタンスのページを開いて「アクション」→「コンソールを開く」をクリック)

下記のコマンドで80ポートでLISETENモードで常駐状態にします。

while true ; do (echo -ne "HTTP/1.0 200 OK"; echo; echo "Hello!") | sudo nc -l -p 80; done

もう一つのブラウザで、OpenStackのHorizon(Dashbord)にアクセスします。
該当のインスタンスのコンソールを開いて、curlでHTTPリクエストを飛ばして、応答があるか確認してみましょう。

通りますね。

以上でデータ連携が可能なことを証明しました。

所感

いかがでしたでしょうか。

4回に渡って、OpenStackベースのクラウド環境と VMwareベースのクラウド環境のネットワーク接続を、
Fule プラグインの「 VMware Fuel DVS Plugin 」を使って構築するご紹介をいたしました。

比較的簡単に VMware環境とデータ連携できる OpenStackベースのクラウド環境を構築することができました。
VMware環境とOpenStack環境間でデータ連携できるクラウド環境が容易に構築できることは、非常にメリットが高いですね。