最も簡単に、OpenStackトライアル(1:インストールまで)


今更ながら、OpenStackの構築を体験してみたのでメモ程度に残します。

次回:最も簡単に、OpenStackトライアル(2:イメージの登録・作成・起動)

OpenStack

"OpenStackとはなんぞや"という方のために何が出来るようになるか簡単に。
結論:AWSのEC2的な事が出来るようになります。
ググると"クラウド環境を構築する"などと書かれていますが、具体的には、サーバ上に仮想化された複数のマシン(インスタンス)をGUIから立ち上げて、あたかも普通にサーバやPCを操作しているかのように利用できます。
もちろん、仮想のネットワーク構成やストレージの設定も可能です。

前提

VirtualBoxにCentOS7の最新版(2017/06/14現在)をインストールし、その上にOpenStack及び各インスタンスを立ち上げていきたいと思います。
本来であればそれなりのサーバ複数台で構成するべき所ですが、より気軽に体験したかったので、このような構成になっています。
※.なので、(スペック的に)実用には耐えられません。

早速試してみる

環境について

【PC】
PC:Core i7 7500U
RAM:12GB
OS:Windows10 Pro 64bit

【VirtualBox設定】
OS:CentOS7
Red Hat(64bit)
RAM:8,192MB
プロセッサ: 2
VT-x/AMD-V, ネステッドページング, PAE/NX, KVM 準仮想化
ビデオメモリ:128M
SATA0: vdi 100GB
NIC1:NAT
NIC2:ホストオンリーアダプタ
お世辞にも「良い環境」とは言えませんが、動いてはくれました。

導入手順

CentOSをMinimalでインストール後、以下の手順で"とりあえず"動作しました。
下手に機能を追加選択すると、ネットワークの設定がややこしくなるのでおすすめしません。
【インストール時補足】
インストールを行う際、NIC1,NIC2はそれぞれ固定のIPアドレスを指定してください。
DHCPで万が一IPが変わってしまうと厄介です。

// SELinux無効化
$ sudo setenforce 0
$ sudo vi /etc/selinux/config

修正前: SELINUX=enforcing
修正後: SELINUX=disabled
// OpenSSLが入っていないと"Testing if puppet apply..."の後エラーになる。
$ sudo yum install -y openssl-devel
// 最新版のrpmをダウンロード
$ sudo yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-ocata/rdo-release-ocata-3.noarch.rpm
$ sudo yum install -y openstack-packstack

// インストール(スペックによって、凄く時間がかかる。所要時間:15min~2h)
// Testing if puppet apply~でかなり待たされると思いますが、ちゃんと動いていますので待ちましょう。
$ packstack --allinone

もし、NetworkManager云々といった警告が出た場合には

$ sudo systemctl stop NetworkManager
$ sudo systemctl disable NetworkManager
$ sudo systemctl start network
$ sudo systemctl enable network

として、NetworkManagerを無効化してください。同時に
/etc/sysconfig/network-scripts/
以下のifcfg~ファイルを以下のように変更してください。

$ sudo cd /etc/sysconfig/network-scripts
$ sudo vi ifcfg<インタフェース名>
以下を追記
NM_CONTROLLED="no"

// ブリッジの作成
// 参考:http://qiita.com/mfujita/items/ee2da9d1e241926fc790
// 以下のように設定

$ sudo cp ifcfg-enp0s3 ifcfg-br-ex
$ sudo vi ifcfg-enp0s3
TYPE=OVSPort
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

$ sudo vi ifcfg-br-ex
 TYPE=OVSBridge
 OVSBOOTPROTO=dhcp
 OVSDHCPINTERFACES=enp0s3
 NAME=br-ex
 DEVICE=br-ex
 DEVICETYPE=ovs

// 終わったら以下を実行。
$ sudo systemctl restart network

以上でインストール自体は完了していますので、以下のファイルを参照してログインに必要なID/PASSを確認してください。
【ログイン情報】
/root/keystonerc_admin

上記の設定が完了した段階で、OpenStackをセットアップした仮想PCへアクセスすると、以下の画面が表示されるはずです。

ここで、先ほど確認したID/PASSを入力して、ログイン出来れば成功です。


いろいろ見て頂くと、AWSとよく似た設定項目がちらほらあることがわかります。

以上、簡単に一瞬で終わりそうに見えますが、ここにたどり着くまでに何度もハマってしまいました・・。
ハマリポイントについては後の記事でまとめて記載します。

次回は、実際にイメージ・インスタンスの作成~起動までを書きたいと思います。