Hyper-V上へのOpenStackインストール

OpenStackのPOC環境でOpenStackの動作を確認する場合に、物理マシンを使うのが正解ですが再インストールを繰り返すなら仮想化環境上の仮想マシンにインストールすると色々便利です。仮想化環境はKVMやVMwareを利用しても良いですが、今回はHyper-Vを利用してみます。KVMやVMwareはよく利用されますがHyper-Vはあまり経験が無かったので共有します。

仮想マシンの作成とインストール

今回は、OpenStackの外部接続用とマネジメント+Data用の2つのNWを用意します。仮想スイッチは外部で作成するため、Hyper-Vのホストに2つのNICを用意しておきます。まずは仮想マシンをマネジメント+Data用のNWに接続して起動します。仮想マシンは第1世代で作りました。またメモリはOpenStackを動作させるなら最低でも4G以上の設定をしておきます。今回はRDOでPackstackを使ってインストールするのでCentOS7.1のISOをマウントして、仮想マシンへのインストールを行います。2台目を用意して、複数のComputeを試してみたい場合は同様の設定の仮想マシンをもう一台用意します。

Network Managerの停止

CentOS7.1をインストール後にまずやるのはNWの設定ですが、CentOS7からNetworkの設定を管理しているNetworkManagerはOpenStack環境では利用しない為、停止と起動を防ぎます。

# systemctl stop NetworkManager
# systemctl disable NetworkManager

この設定の後にネットワークの設定を行います。OSインストール時に追加したインターフェースには通常の手順でStaticIPを振ってください。

OpenStackのインストール

OpenStackをインストールします。今回はRDOのPackStackを利用します。

# sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
# sudo yum update -y
# sudo yum install -y openstack-packstack
# packstack --gen-answer-file=answer.txt

2台目の仮想マシンをCompute専用とするなら、作成されているアンサーファイルを編集します。CONFIG_COMPUTE_HOSTSの値に2台目の仮想マシンのIPを追記します。その後Answer Fileを利用してOpenStackを構成します。

# packstack --answer-file=answer.txt

場合によっては2台目のPasswordの入力が促されますので入力します。無事完了すればディレクトリにkeystonerc_adminが出来ます。これでOpenStackがインストールできました。

外部接続の構成

OpenStackのインスタンスが外部のNWに接続するための設定を行います。まずは今回インストールを行った、Controller用の仮想マシンをシャットダウンします。シャットダウン後に、外部接続用のネットワークアダプターを追加します。仮想マシンを右クリック > 設定>ハードウェアの追加画面から追加出来ます。新しく作成したネットワークアダプターを選択して[高度な機能]を選択します。[MACアドレスのスプーフィングを有効にする]に以下のようにチェックを入れます。

160220-0001

この設定はbr-ex以下の仮想マシンや仮想ルータのトラフィックがHyper-Vの仮想スイッチ側で意図せずに落とされるのを防ぐ為に必須です。

br-exの設定

上記で追加したeth1として認識されたとして、eth1とbr-exを接続するために/etc/sysconfig/network-script配下のifcfg-eth1 / ifcfg-br-exに以下の設定をします。両方とも既存でない場合は新規作成してください。

  • ifcfg-eth1
TYPE=OVS-Port
DEVICETYPE=ovs
DEVICE=eth1
BOOTPROTO=none
OVS_BRIDGE=br-ex
ONBOOT=yes
  • ifcfg-br-ex
TYPE=OVSBridge
DEVICETYPE=ovs
DEVICE=br-ex
BOOTPROTO=static
IPADDR= IPアドレス
NETMASK= サブネットマスク
ONBOOT=yes

Subnetの設定変更を行う

新しく作った外部接続用のNWとPackstackを作ってくれたPublic NWが違う場合はSubnetの設定を変更します。以下手順です。

  1. Publicに接続されている既存Routerのインターフェースを削除します。
  2. Horizonを利用する場合はAdminでログイン後、[管理]>[ネットワーク}でpublicのNWを選択する
  3. 既存のSubnetを削除する
  4. 新しいSubnetを作成する

以上の設定をすれば疎通は出来るはずです。

まとめ

Hyper-V上にOpenStackを作成する経験はありまり無いです、ちょっとしたハマりどころを書いてみました。Hyper-Vにそこまで詳しくないので間違っている部分や、Nested-Hypervisor用のお勧め設定があればコメントでご指摘ください。修正します。

広告
Hyper-V上へのOpenStackインストール

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中