OpenStackのインストール
第二回となる今回は、OpenStackのインストールについて説明します。
OpenStackのインストール方法については、様々なサイトでも紹介されておりますが、
つまずきやすいポイントにはフォローを入れながら説明していきます。
今回はRDOを使用してOpenStack Icehouse環境を構築します。
RDOとは
RDOとはRedhat系OS上でOpenStackを動かす人々のコミュニティのことです。
公式サイト(https://openstack.redhat.com/Main_Page)
また、コミュニティ「RDO」が提供しているOpenStackパッケージ名称も同様に「RDO」という名称です。
パッケージ「RDO」はRHELやFedora、CentOSなどRedhat系Linux全てに対応しており、誰でも無償で利用できます。
このパッケージには、インストール作業や設定作業を自動化するインストーラ「Packstack」も提供されています。
今回はこの「Packstack」を利用して、2014年4月にリリースされたOpenStackのバージョン「Icehouse」の環境を構築しました。
構成
まずは構成の紹介です。
今回は、VirtualBox内に作成した仮想マシン内にOpenStack環境を構築しています。
・デスクトップPC
– CPU:Intel Core i3-3220 (3.30GHz )
– Memory:8GB
– HDD:320GB
– OS:Windows 8.1 Pro(64bit)
– IPアドレス:192.168.1.55/24
・VirtualBox
– GuestOS:CentOS 6.6 x86_64
– Memory:3GB
– HDD:60GB
※RDO & packstackを利用するにはx86_64版が必須条件となります
・OpenStack
– 2014.1 Icehouse ※
– RDO & packstak
※最新版のJunoは、CentOS7向けにしかリポジトリが用意されていないようなので、
CentOS 6.6 にインストール出来るIcehouse を選択しています。
ネットワークの事前準備
VirtualBoxに空の仮想マシンを新規作成した後に、HostOnlyNetworkを追加しておきます。
対象の仮想マシンを選択した状態で、VirtualBox メニューの 設定 を押します。
続いてネットワーク → アダプタ-1 と進み下記の設定を行います。
割り当て : NAT から ホストオンリーアダプターに変更
高度 をクリックし、
プロキャスモード:拒否 から すべて許可 に変更
アダプター2のタブをクリックし、
ネットワークアダプターを有効化:チェックを入れる
割り当て : NAT から ホストオンリーアダプターに変更
高度 をクリックし、
プロキャスモード:拒否 から すべて許可 に変更
アダプター3のタブをクリックし、
ネットワークアダプターを有効化:チェックを入れる
割り当て : NATのままでOK
続いて ファイル → 環境設定 → ネットワーク → ホストオンリーネットワーク と進み、
右側のプラスボタンを押して、ホストオンリーネットワークを1つ追加した後、
下図のようになるように設定します。
環境設定を終了し再度、設定→ネットワークと進み、アダプター2の名前を変更します。
ポイント!
先程追加したホストオンリーネットワーク2を選択します。
先にホストオンリーアダプターを追加をしていないと選択が出来ません。
上記の設定を行うことでHostOS(192.168.1.55)に下記のIPアドレスが追加されます。
VirtualBox net0:192.168.0.240 (FloatingIP通信用)
VirtualBox net1:172.16.0.240 (プライベートIP通信用)
各インスタンス(OpenStack クラウドの中で実行中の仮想マシン)は、プライベートな固定IPアドレスを持ちます。
また、パブリックな Floating IP アドレスも持てます。
プライベートIPアドレスは、インスタンス間の通信に使用され、パブリックアドレスは、インターネットなどのクラウド外のネットワークと通信するために使用されます。
後は、仮想マシンを起動して、CentOs6.6をインストールしてください。
ネットワークを含めた仮想マシンのスペックは以下の通りです。
・CPU x 1
・HDD 60GB
・メモリ 3GB
・NetWork
– アダプター1
– ネットワーク→プロキャスモード→「全て許可」
– DHCP off
– アダプター2
– ネットワーク→プロキャスモード→「全て許可」
– DHCP off
– アダプター3 (NAT)
CentOS は minimal インストールで構いません。
また、ホスト名はopenstackとしました。
最後に今回構築する構成図がこちらです。
ポイント!
現在使用している全てのネットワーク帯と異なるネットワーク帯を使用する必要があります。
先程設定したホストオンリーアダプタを利用することで、普段 HostOSが使用しているIP 192.168.1.55 のIPアドレスから、192.168.0.240 や、172.16.0.1との通信が出来るようになります。
但し、通信が可能なのはHostOSからのみです。
仮想マシンへのインストールが完了したら、VirtualBox のコンソールからログインしてください。
続いてOSの基本設定を行います。
rootユーザでログインし、下記の設定を行ってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# vi /etc/hosts 127.0.0.1 localhost 172.16.0.1 openstack ※ ※ホスト名をopenstack 以外にしている場合は読み替えて下さい。 # vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=openstack # vi /etc/sysconfig/network-scropts/ifcfg-eht0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static # vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=172.16.0.1 PREFIX=16 # vi /etc/sysconfig/network-scripts/ifcfg-eth2 DEVICE=eth2 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp |
OpenStack用のユーザを追加します。
1 2 3 4 5 6 7 8 9 10 11 |
# useradd -G wheel stack # passwd stack # vi /etc/sudoers コメントアウトを解除 %wheel ALL=(ALL) ALL # /etc/init.d/network restart |
この時点でデスクトップPCから 172.16.0.1 にpingが通るようになりますので、以降はVirtualBoxのコンソールではなくSSHクライアントを使用してSSHで接続すると良いでしょう。
1 |
# yum update -y |
yum updateが終わったら、一度再起動します。
1 |
# shutdown -r now |
stackユーザでログインします。
RDOのリポジトリをインストールします。
1 2 3 4 5 |
$ sudo yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm $ sudo yum update -y $ sudo reboot |
packstackをインストールします。
1 |
$ sudo yum install -y openstack-packstack |
Answer Fileの作成
answer.txtという名前でAnswer File(設定ファイル)を作成します。
1 |
$ packstack --gen-answer-file answer.txt |
今回の環境に合わせるために以下の部分を変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# vi answer.txt CONFIG_HEAT_INSTALL=y CONFIG_CONTROLLER_HOST=172.16.0.1 CONFIG_COMPUTE_HOSTS=172.16.0.1 CONFIG_NETWORK_HOSTS=172.16.0.1 CONFIG_AMQP_HOST=172.16.0.1 CONFIG_AMQP_NSS_CERTDB_PW=changeme CONFIG_AMQP_AUTH_PASSWORD=changeme CONFIG_MYSQL_HOST=172.16.0.1 CONFIG_MYSQL_PW=changeme CONFIG_KEYSTONE_DB_PW=changeme CONFIG_KEYSTONE_ADMIN_TOKEN=changeme CONFIG_KEYSTONE_ADMIN_PW=changeme CONFIG_KEYSTONE_DEMO_PW=changeme CONFIG_KEYSTONE_TOKEN_FORMAT=UUID CONFIG_GLANCE_DB_PW=changeme CONFIG_GLANCE_KS_PW=changeme CONFIG_CINDER_DB_PW=changeme CONFIG_CINDER_KS_PW=changeme CONFIG_CINDER_VOLUMES_SIZE=8G CONFIG_NOVA_DB_PW=changeme CONFIG_NOVA_KS_PW=changeme CONFIG_NOVA_NETWORK_PUBIF= CONFIG_NOVA_NETWORK_PRIVIF= CONFIG_NOVA_NETWORK_FIXEDRANGE= CONFIG_NOVA_NETWORK_FLOATRANGE= CONFIG_NOVA_NETWORK_VLAN_START= CONFIG_NOVA_NETWORK_NUMBER= CONFIG_NOVA_NETWORK_SIZE= CONFIG_NEUTRON_KS_PW=changeme CONFIG_NEUTRON_DB_PW=changeme CONFIG_NEUTRON_METADATA_PW=changeme CONFIG_SWIFT_KS_PW=changeme CONFIG_SWIFT_HASH=changeme CONFIG_PROVISION_TEMPEST_USER_PW=changeme CONFIG_PROVISION_DEMO_FLOATRANGE=192.168.0.0/24 CONFIG_HEAT_DB_PW=changeme CONFIG_HEAT_AUTH_ENC_KEY=changeme CONFIG_HEAT_KS_PW=changeme CONFIG_HEAT_DOMAIN_PASSWORD=changeme CONFIG_CEILOMETER_SECRET=changeme CONFIG_CEILOMETER_KS_PW=changeme CONFIG_MONGODB_HOST=172.16.0.1 CONFIG_NAGIOS_PW=changeme |
PackStackの実行
作成したAnswer Fileを利用してPackStackを実行します。
1 |
$ packstack --answer-file answer.txt |
マシンのスペックにもよりますが1時間程でインストールが完了し、
下記のようなメッセージが表示されるはずです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
172.16.0.1_postscript.pp: [ DONE ] Applying Puppet manifests [ DONE ] Finalizing [ DONE ] **** Installation completed successfully ****** Additional information: * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * File /root/keystonerc_admin has been created on OpenStack client host 172.16.0.1. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://172.16.0.1/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * To use Nagios, browse to http://172.16.0.1/nagios username: nagiosadmin, password: 96b674f2ffad4914 * The installation log file is available at: /var/tmp/packstack/20141210-095614-3UqXNt/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20141210-095614-3UqXNt/manifests |
PackStackインストール後の作業
/etc/nova/nova.confの修正
VirtualBox環境では、kvmを利用することが出来ないので、qemuに変更します。
1 2 3 |
$ sudo vi /etc/nova/nova.conf #virt_type=kvm virt_type=qemu |
認証にkeystone※を使用する設定を追加する
※keystone については第一回を参照のこと
1 2 3 |
$ sudo vi /etc/ceilometer/ceilometer.conf auth_strategy=keystone ←コメントアウトを解除して有効化します。 |
/etc/sysconfig/network-scripts/ifcfg-eth0の修正
eth0をbr-exに接続するよう修正します。
1 2 3 4 5 6 7 |
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=OVSPort ONBOOT=yes BOOTPROTO=static DEVICETYPE=ovs OVS_BRIDGE=br-ex |
br-exにeth0を割り当てて仮想マシンを外部と通信させるための経路を確保します。
1 |
$ sudo ovs-vsctl add-port br-ex eth0 |
再起動して、インストール作業を完了させます。
再起動が終わったら、下記の情報で管理画面にアクセス出来ることを確認してください。
http://172.16.0.1/dashboard
ユーザID:admin
パスワード:changeme
ユーザID:demo
パスワード:changeme
adminとdemoユーザのパスワードはchangemeになっているので下記の方法で変更しておきます。
adminユーザのパスワード変更
1 2 3 4 5 6 7 8 9 10 11 |
# source /root/keystonerc_admin # keystone user-password-update admin New Password: XXXXXXX Repeat New Password: XXXXXXX # vi /root/keystonerc_admin export OS_USERNAME=admin export OS_TENANT_NAME=admin export OS_PASSWORD=XXXXXXX ←ここを変更後のパスワードに変更 export OS_AUTH_URL=http://ipaddress:35357/v2.0/ export PS1='[\u@\h \W(keystone_admin)]\$ ' |
demoユーザのパスワード変更
1 2 3 4 5 6 7 8 9 10 |
# source /root/keystonerc_admin # keystone user-password-update demo New Password: XXXXXXX Repeat New Password: XXXXXXX # vi /root/keystonerc_demo export OS_USERNAME=demo export OS_TENANT_NAME=demo export OS_PASSWORD=XXXXXXX ←ここを変更後のパスワードに変更 export OS_AUTH_URL=http://ipaddress:35357/v2.0/ |
OpenStackのインストールの説明は以上となります。
次回はOpenStackの使い方について紹介します。