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

1.2.3. Openstackを構成するコンポーネントのインストール

Openstackを利用するためのコンポーネントをインストールします。

1.2.3.1. 依存関連パッケージのインストール

まず、Openstackを構成するために必要なパッケージをインストールします。ComputeNodeだけに必要なものもインストールしてます。

MYSQL_PASS=nova
NOVA_PASS=password
cat <<MYSQL_DEBCONF | sudo debconf-set-selections
mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
mysql-server-5.1 mysql-server/start_on_boot boolean true
MYSQL_DEBCONF

$ sudo apt-get install -y dnsmasq-base dnsmasq-utils kpartx arping kvm gawk iptables ebtables \
user-mode-linux kvm kvm-pxe libvirt-bin lvm2 open-iscsi socat unzip sqlite3 vlan mysql-server \
gcc rabbitmq-server python-dev libsqlite3-dev apache2 libapache2-mod-wsgi euca2ools curl \
iscsitarget iscsitarget-source iscsitarget-dkms
$ sudo modprobe kvm
$ sudo /etc/init.d/libvirt-bin restart
$ sudo sed -i 's/false/true/' /etc/default/iscsitarget
$ sudo /etc/init.d/iscsitarget restart
$ sudo modprobe nbd
$ sudo apt-get install -y python-mox python-ipy python-paste python-migrate \
python-gflags python-greenlet python-libvirt memcached python-memcache\
python-libxml2 python-routes python-netaddr \
python-pastedeploy python-eventlet python-carrot \
python-tempita python-sqlalchemy python-suds python-lxml \
python-kombu python-lockfile python-M2Crypto python-xattr \
python-boto python-cheetah python-mysqldb python-ldap  python-pip python-numpy

1.2.3.2. memcached

データベースから読み出しを行う回数を減少させて高速化を行います。

Swiftではプロキシサーバが利用しNovaのやり取りでも利用できるためインストールしておきます。Novaでも利用するため損することはありません。

ComputeNodeにはnova-confへの設定とpython-memcachedのインストールは必要ですがmemcached本体はインストールする必要はありません。

$ sudo sed -i "s/127.0.0.1/192.168.10.30" /etc/memcached.conf
$ sudo /etc/init.d/memcached restart

1.2.3.3. Nova

仮想マシンを管理するためのコンポーネントです。

$ cd /opt/nova && sudo python setup.py develop

1.2.3.4. python-novaclient

NovaのAPIをスクリプトで利用するためのコンポーネントです。

$ cd /opt/python-novaclient && sudo python setup.py develop

1.2.3.5. Glance

仮想マシンのイメージを管理します。イメージの登録なども glance コマンドで行います。

$ cd /opt/glance && sudo python setup.py develop

1.2.3.6. Keystone

Nova,Glance,SwiftなどOpenstackに関する認証をイッテに引き受けるコンポーネントです。 EssexではKeystone-clientも必要みたいです。

$ sudo pip install -r /opt/keystone/tools/pip-requires
$ cd /opt/keystone && sudo python setup.py develop

1.2.3.7. Horizon

Openstackの管理をブラウザから行うためのコンポーネントです。djangoのバージョン、quantumに関する文句の対処を行なっています。利用するためのAPIなども一緒にインストールします。

$ sudo apt-get install libmysqlclient-dev python2.6-dev python2.7-dev -y
$ sudo sed -i -e 's/\(^Django==\).*/\11\.3\.1/g' -e 's/^-e/#-e/g' /opt/horizon/openstack-dashboard/tools/pip-requires
$ sudo sed -i '4a\mysql-python' /opt/horizon/openstack-dashboard/tools/pip-requires
$ sudo pip install -r /opt/horizon/openstack-dashboard/tools/pip-requires
$ cd /opt/horizon/openstack-dashboard/
$ sudo python setup.py develop
$ cd ../django-openstack ; sudo python setup.py develop
$ cd ../openstack-dashboard; sudo python setup.py develop
$ cd /opt/horizon/openstack-dashboard
$ sudo mkdir quantum
$ sudo touch quantum/__init__.py quantum/client.py
$ cd /opt/openstackx
$ sudo python setup.py build
$ sudo python setup.py develop
$ sudo cp -a /opt/openstack.compute/openstack /opt/horizon/openstack-dashboard/

1.2.3.8. noVNC

インストール作業は特に必要ありません。