OpenStack Juno on SoftLayer by RDO
[PR]
OpenStackをご存知ですか?OpenStackはオープンソースのクラウドOSとして2010年に開発の始まったオープンソースプロジェクトです。OpenStackの開発にはHP、Redhat、IBM、Ciscoなどといった企業が名を連ねており、これだけを見ても注目度の高さが伺えます。リリースは半年毎に行われており、最新版は2014年10月にリリースされたJunoとなっています。今回はRedhat系OSを使用してOpenStackをインストールするためのRPMパッケージ群RDOを使用してSoftLayer上にOpenStack環境を構築していきます。
構成
物理構成
サーバー | ベアメタル(Xeon 1270 4 Cores メモリ 8GB) サーバ × 2台 |
---|---|
グローバルIP | Portable Public IP 16個 |
論理構成
- コントローラー兼ネットワークノード
OpenStack全体の操作を行うコンポーネント群と、外部からの通信を仮想マシンへルーティングするノードです。 - コンピュートノード
仮想マシンを配置、実行するノードです。
SoftLayerでのOrder
- ベアメタル2台のOrder
OSはCentOS 6.x(64bit)を選択します。
※執筆段階ではCentOS7がSoftLayer上で選択できなかったため、CentOS6から7へアップグレードを実施しております。アップグレードには若干コツが必要なので最後に紹介するビットアイル総合研究所ブログに掲載いたします。 - Portable Public IPのOrder
SoftLayerのダッシュボードから「Network->IP Management->Subnets」の画面を開き「Order IP Addresses」をクリック、「Portable Public」を選択し、16個のIPアドレスをOrderします。RDOのインストール
インストールはPackStackというPuppetをベースとして作られたデプロイツールを利用して行います。基本的な手順は下記URLの公式インストール手順に従っています。
https://openstack.redhat.com/Quickstart
操作は全てコントローラノードのプライベートIPから行います。予めVPN接続し、プライベートIPアドレスでSSH接続を行ってください。
1. インストール準備
(1)RDOリポジトリのインストール # yum install -y https://rdo.fedorapeople.org/rdo-release.rpm (2)Packstackのインストール # yum install -y openstack-packstack (3)answerファイルの作成 # packstack --gen-answer-file=answers (4)viを起動 # vi answers
2. インストールパラメータの変更
PackstackによるOpenStackインストールのパラメータを指定します。今回は最低限の設定としてネットワーク関連パラメータのみを指定しています。
CONFIG_COMPUTE_HOSTS=(*1) CONFIG_NOVA_COMPUTE_PRIVIF=bond0 CONFIG_NOVA_NETWORK_PUBIF=bond1 CONFIG_NOVA_NETWORK_PRIVIF=bond0 CONFIG_PROVISION_DEMO_FLOATRANGE=(*2)
(*1)コンピュートノードのプライベートIPアドレス
(*2)Portable Public IPで取得したレンジ3. インストールの実行
インストールパラメータを設定したら、Packstackによるインストールを実行します。実行すると最初に各ノードのrootパスワードを聞かれるので入力します。
(5)インストール実行 # packstack --answer-file=answers Welcome to Installer setup utility Installing: Clean Up [ DONE ] root@xx.xx.xx.xx's password: root@xx.xx.xx.xy's password: (中略) * To use Nagios, browse to http://10.64.141.201/nagios username: nagiosadmin, password: 159e445f287048c3
最後にネットワークデバイスの設定を変更し再起動します。
(6)ブリッジデバイスの設定 # cd /etc/sysconfig/network-scripts/ # vi ifcfg-br-ex (~~ファイル編集) DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static NAME=br-ex DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no DNS1=8.8.8.8 IPADDR= {ifcfg-bond1から転記} NETMASK={ifcfg-bond1から転記} GATEWAY={ifcfg-bond1から転記} (7)ネットワークデバイスの設定 # vi ifcfg-bond1 (~~ファイル編集) DEVICE=bond1 BOOTPROTO=none ONBOOT=yes USERCTL=no BONDING_OPTS="mode=4 miimon=100 downdelay=0 updelay=0 lacp_rate=fast xmit_hash_policy=1" #------ここから削除------ # IPADDR= xxx.xxx.xxx.xxx # NETMASK= xxx.xxx.xxx.xxx # GATEWAY= xxx.xxx.xxx.xxx #------ここまで削除------ #------ここから追加------ TYPE=OVSPort NAME=bond1 DEVICETYPE=ovs OVS_BRIDGE=br-ex #------ここまで追加------ (8)再起動 # reboot
これで2台構成のOpenStack環境が構築されデモ用のユーザとネットワークが設定されました。