このエントリーをはてなブックマークに追加

2.2.2. OpenStackコンポーネント連携パッケージのインストール

OpenStackのコンポーネント間で連携するためのパッケージをインストールします。
データベースのバックエンドにはNova、Glance、Keystone、Horizonその他も全てMySQLを利用します。
またMQにはRabbitMQを利用します。

2.2.2.1. MySQL、memcached、RabbitMQ、tgtのインストール

データベースとデータベースの負荷軽減の為のmemcached、MQのRabbitMQをインストールします。
先にMySQLのrootユーザのパスワードを設定してパッケージをインストールします。
パッケージからのインストールでは無いため依存関係のあるものも全てインストールします。
$MYSQL_PASS の箇所には適切なパスワードを設定してください。
とりあえずということであれば nova で問題ないでしょう。
$ MYSQL_PASS=nova
$ cat <<MYSQL_DEBCONF | sudo debconf-set-selections
mysql-server-5.5 mysql-server/root_password password $MYSQL_PASS
mysql-server-5.5 mysql-server/root_password_again password $MYSQL_PASS
mysql-server-5.5 mysql-server/start_on_boot boolean true
MYSQL_DEBCONF
$ sudo apt-get install -y python-dev python-pip python-mysqldb libxml2-dev libxslt1-dev
$ sudo apt-get install -y tgt memcached python-memcache                          \
                          dnsmasq-base dnsmasq-utils kpartx parted arping        \
                          iptables ebtables sqlite3 libsqlite3-dev lvm2 curl     \
                          mysql-server rabbitmq-server euca2ools curl vlan       \
                          apache2 libapache2-mod-wsgi python-numpy nodejs

2.2.2.1.1. MySQLの設定

MySQLへ外部から接続できるように設定します。反映させるために再起動もおこなっておきます。

$ sudo sed -i 's#127.0.0.1#0.0.0.0#g' /etc/mysql/my.cnf
$ sudo restart mysql

2.2.2.1.2. memcachedの設定

memcachedへ外部から接続出来る設定を行います。反映させるために再起動もおこなっておきます。
192.168.10.50はControllerNodeのIPアドレスです。適切なものを設定して下さい。
$ sudo sed -i "s/127.0.0.1/192.168.10.50/" /etc/memcached.conf
$ sudo service memcached restart

2.2.2.1.3. RabbitMQの設定

RabbitMQの設定を行います。
デフォルトではゲストユーザを利用されますがここではnovaユーザに変更します。
パスワードはpasswordにしていますが適切なものを設定して下さい。
$ sudo rabbitmqctl add_vhost /nova
$ sudo rabbitmqctl add_user nova password
$ sudo rabbitmqctl set_permissions -p /nova nova ".*" ".*" ".*"
$ sudo rabbitmqctl delete_user guest

2.2.2.2. 仮想化関連パッケージのインストール

KVMを利用するためKVMを利用するためのパッケージをインストールします。
またiscsiを利用するためのパッケージもインストールしておきます。
$ sudo apt-get install -y open-iscsi open-iscsi-utils kvm kvm-ipxe \
                          libvirt-bin bridge-utils python-libvirt

2.2.2.2.1. デフォルトネットワークの削除

特に必要なければ削除しておきます。
別に削除しなくてもおかしなことにはなりません。
$ sudo virsh net-destroy default
$ sudo virsh net-undefine default

2.2.2.2.2. ライブマイグレーション用の設定

KVMでライブマイグレーションを行う予定があるのであれば設定しておきます。
1台で実験などの場合や必要なければ設定する必要はありません。
$ sudo vi /etc/libvirt/libvirtd.conf

以下の部分を変更します。

listen_tls = 0
listen_tcp = 1
auth_tcp = "none"
$ vi /etc/init/libvirt-bin.conf

以下の部分を変更します。

env libvirtd_opts="-d -l"
$ vi /etc/default/libvirt-bin

以下の部分を変更します。

libvirtd_opts="-d -l"

設定が終了したのでlibvirt-binを再起動します。

$ service libvirt-bin restart

ここまでで、コンポーネント間連携などに必要なパッケージのインストールは終了です。