EPEL版OpenStack folsomインストール
OpenStackのfolsom(2012.2)のrpmパッケージがEPELで配布(まだtesting)され始めたのでインストールしてみました。
Quantumを使用しなかったこともあり、essex(2012.1)とほとんど変わらず、いまのところ問題なく動いているようです。
構成
OSバージョン
CentOS6.3 x86_64 (minimalインストール)
Network
CloudController用にeth0を、GuestOSのためにeth1を利用。
eth1は、VlanManagerを使用してテナント毎に仮想マシンをアイソレーションする。
[CloudController] hostname: folsol00 eth0: 172.16.100.100/24 eth1: 10.0.0.1/24 (VLAN1000) -+--------- management network for cc | 172.16.100.0/24 | -+----- internal vlan network for vm | | 10.0.0.0/24 | | | | .100| |.1 eth0| |eth1 (vlan1000-nnnn) +-+---+---------------------+ | | <dhcp> | | -+-------+-------+- | | |eth0 |eth0 | | +--+--+ +--+--+ | | sv04 |vm#00| |vm#nn| | | +-----+ +-----+ | | | | | | | +---------------------------+
事前準備
パッケージグループ(Development Tools)追加
# yum groupinstall "Development Tools"
一般ユーザ(stack)を作成
以降の作業用に一般ユーザ(stack)を作成する。
# useradd stack # passwd stack 新しいパスワード: ******** 新しいパスワードを再入力してください: ********
sudoers設定
stackユーザがsudo可能としておく。
# echo "stack ALL=(ALL) ALL" > /etc/sudoers.d/openstack # chmod 400 /etc/sudoers.d/openstack
stackユーザ用環境変数設定
環境変数設定(~/stackrc)
stackユーザでログインし、OpenStackのコマンドライン用の環境変数を設定する。
#!/bin/sh OS_USERNAME=admin OS_PASSWORD=adminpassword OS_TENANT_NAME=openstackDemo OS_AUTH_URL=http://172.16.100.100:5000/v2.0 OS_REGION_NAME=RegionOne export OS_USERNAME OS_PASSWORD OS_TENANT_NAME OS_AUTH_URL OS_REGION_NAME ## ## [EOF] ##
iptablesに設定追加(/etc/sysconfig/iptables)
OpenStack関連サービスを許可しておく。
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT ## ## Begin: for OpenStack Service ## -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 3260 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 3306 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 3333 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 5672 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 6080 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 5000 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 8773 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 8774 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 8775 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 8776 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 8888 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 9191 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 9292 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 35357 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 35739 -j ACCEPT -A INPUT -p tcp -i eth0 --dport 39787 -j ACCEPT ## ## End: for OpenStack Service ## -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j LOG --log-prefix "IPTABLES_INPUT_DROPLOG: " --log-level 6 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j LOG --log-prefix "IPTABLES_FORWARD_DROPLOG: " --log-level 6 -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
- iptablesをリスタート
$ sudo /etc/init.d/iptables restart [sudo] password for stack: iptables: ファイアウォールルールを消去中: [ OK ] iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: モジュールを取り外し中: [ OK ] iptables: ファイアウォールルールを適用中: [ OK ]
EPELパッケージリポジトリ追加
- EPELリポジトリ追加
※testingではなく、公式にEPEL版folsomが提供されるようになったので以下のパスに修正しました。
$ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
epel-testing有効化(/etc/yum.repos.d/epel-testing.repo)
/etc/yum.repos.d/epel-testing.repoを編集し[epel-testing]のenabledを1に設定する。
正式版が提供されるようになったので、testingの有効化設定は不要です。
[epel-testing] name=Extra Packages for Enterprise Linux 6 - Testing - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/testing/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
qpidのインストールと設定
nova/glanceが利用するAMQP実装であるqpidをインストール&設定する。
- qpidをインストール
$ sudo yum install qpid-cpp-server qpid-tools
- /etc/quidd.conf に以下の設定を追加
realm=folsom
- nova用ユーザを作成
$ sudo saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -u folsom nova Password: novapassword Again (for verification): novapassword
- glance用ユーザを作成
$ sudo saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -u folsom glance Password: glancepassword Again (for verification): glancepassword
- qpiddの自動起動設定
$ sudo chkconfig --level 3 qpidd on
- qpiddの起動
$ sudo service qpidd start Starting Qpid AMQP daemon: [ OK ]
mysqlのインストールと設定
構成管理データベース用にmysqlとそれが依存するパッケージ群をインストールする。
※データベースの作成はopenstack-utilsに含まれるopenstack-dbコマンドを利用して作成する。
- mysqlをインストール
$ sudo yum install mysql mysql-server MySQL-python
- mysqlの自動起動設定
$ sudo chkconfig --level 3 mysqld on
- mysqlの起動
$ sudo service mysqld start Starting mysqld: [ OK ]
- mysqlのrootパスワード設定
$ mysqladmin -u root password '<新パスワード>'
- 不要なtest用データベースを削除
$ mysql -u root -p mysql> drop database test; mysql> exit Bye
openstack-utilsインストール
OpenStack関連のユーティリティコマンド群(db作成やデモ環境インストール用コマンドなど)をインストールする。
OpenStackの各コンポーネント類の設定はopenstack-configコマンドで、データベースの作成はopenstack-dbコマンドで行う。
$ sudo yum install openstack-utils
インストールされるコマンド群は以下の通り。
- /usr/bin/openstack-config
- /usr/bin/openstack-db
- /usr/bin/openstack-demo-install
- /usr/bin/openstack-status
openstack-keystoneのインストールと設定
openstack-keystoneインストール
openstack-keystone(OpenStack Identity)とそれが依存するパッケージ群をインストールする。
$ sudo yum install openstack-keystone python-keystoneclient
keystone用データベース作成
openstack-dbコマンドでkeystone用データベースを作成する。
※mysql上にkeystoneユーザも作成される。
$ sudo openstack-db --init --service keystone Please enter the password for the 'root' MySQL user: <your password> Verified connectivity to MySQL. Creating 'keystone' database. Asking openstack-keystone to sync the database. Complete!
keystoneデータベース確認
- keystone用データベースが作成されていることを確認
$ mysql -u root -p mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | keystone | <--keystoneデータベースが作成されている | mysql | +--------------------+ 4 rows in set (0.00 sec)
- keystone用テーブルが作成されていることを確認
mysql> use keystone; mysql> show tables; +------------------------+ | Tables_in_keystone | +------------------------+ | ec2_credential | | endpoint | | metadata | | migrate_version | | role | | service | | tenant | | token | | user | | user_tenant_membership | +------------------------+ 10 rows in set (0.00 sec)
- keystoneユーザ権限設定
mysql> grant all on keystone.* to 'keystone'@'localhost' identified by 'keystonepassword'; mysql> grant all on keystone.* to 'keystone'@'172.16.100.100' identified by 'keystonepassword'; mysql> flush privileges;
keystone設定
- keystone.confにMySQLへの接続文字列を設定
keystone管理者用のtokenをkeystone.confに登録する。
$ sudo openstack-config --set /etc/keystone/keystone.conf sql connection 'mysql://keystone:keystonepassword@172.16.100.100/keystone'
- keystone.confへのtoken登録
keystone管理者用のtokenをkeystone.confに登録する。
$ sudo openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token 'admintoken'
- keystoneの自動起動設定
$ sudo chkconfig --level 3 openstack-keystone on
- keystoneの起動
$ sudo service openstack-keystone start Starting keystone: [ OK ]
- keystone用デフォルト情報登録
keystone-init.pyをgit cloneして設定ファイル(config.yamlをカスタマイズする。
keystone-init.pyにはPyYAMLが必要であるため事前にパッケージを追加しておく。
$ sudo yum install PyYAML $ cd $HOME && mkdir -p work/openstack && cd work/openstack $ git clone https://github.com/nimbis/keystone-init.git $ cd keystone-init
endpointのIPアドレスを変更する。
$ sed -i.bak 's/192.168.206.130/172.16.100.100/g' config.yaml
config.yamlのtokenをkeystone.confに設定した管理者用tokenに修正しておくこと。
修正箇所は以下の通り。
# token is the admin_token in keystone.conf token: admintoken endpoint: http://172.16.100.100:35357/v2.0 default tenant: name: openstackDemo description: Default Tenant # This is the admin user default user: name: admin password: adminpassword service users: - name: glance password: glancepassword - name: nova password: novapassword - name: ec2 password: ec2password - name: swift password: swiftpassword
修正したconfig.yamlでkeystone-init.pyを実行する。
$ ./keystone-init.py config.yaml
デフォルト情報が登録されたことを確認する。
$ source ~/stackrc $ keystone --token admintoken --endpoint http://172.16.100.100:35357/v2.0 user-list +----------------------------------+---------+-------+-----------+ | id | enabled | email | name | +----------------------------------+---------+-------+-----------+ | 0e5ab461b4e7482b999d61bb09aa22e9 | True | None | glance | | 4e21e70a5cac4b84a7871ceeece6959e | True | None | nova | | 7da9b1dce47a4e69af1e6c336cb1bfd1 | True | None | ec2 | | 813bfba2a53044c38f1479f32bfbcd58 | True | None | adminUser | | bfdaac6aadb4416b8460a1ca91db5347 | True | None | swift | +----------------------------------+---------+-------+-----------+
endpoint情報も確認する。
$ source ~/stackrc $ keystone --token admintoken --endpoint http://172.16.100.100:35357/v2.0 endpoint-list +----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+ | id | region | publicurl | internalurl | adminurl | +----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+ | 65402a076f96472693e91de96bfc6b86 | RegionOne | http://172.16.100.14:8776/v1/%(tenant_id)s | http://172.16.100.14:8776/v1/%(tenant_id)s | http://172.16.100.14:8776/v1/%(tenant_id)s | | a99da6f7bd364a439c0134e615f64973 | RegionOne | http://172.16.100.14:8888/v1/AUTH_%(tenant_id)s | http://172.16.100.14:8888/v1/AUTH_%(tenant_id)s | http://172.16.100.14:8888/v1 | | b5a3eaa963a14488b9a0d141ec7d673c | RegionOne | http://172.16.100.14:5000/v2.0 | http://172.16.100.14:5000/v2.0 | http://172.16.100.14:35357/v2.0 | | c0e76fa0ac4745b3843db13077b08a21 | RegionOne | http://172.16.100.14:8774/v2/%(tenant_id)s | http://172.16.100.14:8774/v2/%(tenant_id)s | http://172.16.100.14:8774/v2/%(tenant_id)s | | ebf3772ce3d741229144156b86ebe20f | RegionOne | http://172.16.100.14:9292/v1 | http://172.16.100.14:9292/v1 | http://172.16.100.14:9292/v1 | | ec58f9f42468414aaa25fe0bc7063239 | RegionOne | http://172.16.100.14:8773/services/Cloud | http://172.16.100.14:8773/services/Cloud | http://172.16.100.14:8773/services/Admin | +----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+
openstack-glanceインストールと設定
openstack imageserviceとそれが依存するパッケージ群をインストールする。
openstack-glanceのインストール
$ sudo yum install openstack-glance
glance用データベース作成
openstack-dbコマンドでglance用データベースを作成する。
$ sudo openstack-db --init --service glance ※mysql上にglanceユーザも作成される。 Creating 'glance' database. Complete!
glanceデータベース確認
- glance用データベースが作成されていることを確認
$ mysql -u root -p mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | glance | | keystone | | mysql | | test | +--------------------+ 5 rows in set (0.00 sec)
- glance用テーブルが作成されていることを確認
mysql> use glance; mysql> show tables; +------------------+ | Tables_in_glance | +------------------+ | image_members | | image_properties | | image_tags | <-- folsomで増えた! | images | | migrate_version | +------------------+ 4 rows in set (0.00 sec)
- glanceユーザ権限設定
mysql> grant all on glance.* to 'glance'@'localhost' identified by 'glancepassword'; mysql> grant all on glance.* to 'glance'@'172.16.100.100' identified by 'glancepassword'; mysql> flush privileges;
glance設定
- /etc/glance/glance-api.conf設定
$ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT enable_v1_api True $ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT enable_v2_api True $ sudo openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_host 172.16.100.100 $ sudo openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_port 35357 $ sudo openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_tenant_name service $ sudo openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_user glance $ sudo openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_password glancepassword $ sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy config_file /etc/glance/glance-api-paste.ini $ sudo openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone $ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT sql_connection 'mysql://glance:glancepassword@172.16.100.100/glance' $ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT qpid_username glance $ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT qpid_password glancepassword $ sudo openstack-config --set /etc/glance/glance-api.conf DEFAULT qpid_host 172.16.100.100
- /etc/glance/glance-registry.conf設定
$ sudo openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_host 172.16.100.100 $ sudo openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_port 35357 $ sudo openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_tenant_name service $ sudo openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_user glance $ sudo openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_password glancepassword $ sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone $ sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy config_file /etc/glance/glance-registry-paste.ini $ sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone $ sudo openstack-config --set /etc/glance/glance-registry.conf DEFAULT sql_connection 'mysql://glance:glancepassword@172.16.100.100/glance'
- glance自動起動設定
$ sudo chkconfig --level 3 openstack-glance-api on $ sudo chkconfig --level 3 openstack-glance-registry on
- glance起動
$ sudo service openstack-glance-api start Starting openstack-glance-api: [ OK ] $ sudo service openstack-glance-registry start Starting openstack-glance-registry: [ OK ]
VM用イメージファイル登録
- 検証用ttylinuxダウンロード/展開
$ mkdir $HOME/images && cd $HOME/images $ wget http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz $ mkdir amd64 && cd amd64 && tar zxvf ../ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
- kernel登録
$ source ~/stackrc $ glance image-create --name="tty-linux-kernel" --disk-format=aki --container-format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 3ed2965d3f8d877a3ee3e061fd648e9a | | container_format | aki | | created_at | 2012-11-11T02:13:15 | | deleted | False | | deleted_at | None | | disk_format | aki | | id | 732ccc6c-093f-4ff3-88ec-d2c97df45014 | | is_public | False | | min_disk | 0 | | min_ram | 0 | | name | tty-linux-kernel | | owner | 7695c8332c1b4450a6be1376b3a1f5c4 | | protected | False | | size | 4404752 | | status | active | | updated_at | 2012-11-11T02:13:16 | +------------------+--------------------------------------+
- initrd登録
$ source ./stackrc $ glance image-create --name="tty-linux-ramdisk" --disk-format=ari --container-format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader +------------------+--------------------------------------+ | Property | Value | +------------------+--------------------------------------+ | checksum | 644cf7d6d9e7b41d527e30e8e8c685a4 | | container_format | ari | | created_at | 2012-11-11T02:15:42 | | deleted | False | | deleted_at | None | | disk_format | ari | | id | 1d51d35e-cd1f-4205-9e62-d249e439536b | | is_public | False | | min_disk | 0 | | min_ram | 0 | | name | tty-linux-ramdisk | | owner | 7695c8332c1b4450a6be1376b3a1f5c4 | | protected | False | | size | 96629 | | status | active | | updated_at | 2012-11-11T02:15:42 | +------------------+--------------------------------------+
- image登録
$ source ~/stackrc $ glance image-create --name="tty-linux" --disk-format=ami --container-format=ami --property kernel_id=732ccc6c-093f-4ff3-88ec-d2c97df45014 --property ramdisk_id=1d51d35e-cd1f-4205-9e62-d249e439536b < ttylinux-uec-amd64-12.1_2.6.35-22_1.img +-----------------------+--------------------------------------+ | Property | Value | +-----------------------+--------------------------------------+ | Property 'kernel_id' | 732ccc6c-093f-4ff3-88ec-d2c97df45014 | | Property 'ramdisk_id' | 1d51d35e-cd1f-4205-9e62-d249e439536b | | checksum | 10047a119149e08fb206eea89832eee0 | | container_format | ami | | created_at | 2012-11-11T02:18:22 | | deleted | False | | deleted_at | None | | disk_format | ami | | id | c9ef36c7-e6f4-414e-b603-257e36836e76 | | is_public | False | | min_disk | 0 | | min_ram | 0 | | name | tty-linux | | owner | 7695c8332c1b4450a6be1376b3a1f5c4 | | protected | False | | size | 25165824 | | status | active | | updated_at | 2012-11-11T02:18:24 | +-----------------------+--------------------------------------+
openstack-novaのインストールと設定
必要とされるパッケージ群をインストール
$ sudo yum install openstack-utils memcached dnsmasq-utils
openstack-novaのインストール
$ sudo yum install openstack-nova
nova用データベース作成
- nova用データベースを作成する。
openstack-dbコマンドでnova用データベースを作成する.
※mysql上にnovaユーザも作成される。
$ sudo openstack-db --init --service nova Please enter the password for the 'root' MySQL user: Verified connectivity to MySQL. Creating 'nova' database. Asking openstack-nova to sync the database. Complete!
novaデータベース確認
- nova用データベースが作成されていることを確認
$ mysql -u root -p mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | glance | | keystone | | mysql | | nova | +--------------------+
5 rows in set (0.00 sec)
- nova用テーブルが作成されていることを確認
mysql> use nova Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +-------------------------------------+ | Tables_in_nova | +-------------------------------------+ | agent_builds | | aggregate_hosts | | aggregate_metadata | | aggregates | | block_device_mapping | | bw_usage_cache | | cells | | certificates | | compute_node_stats | | compute_nodes | | console_pools | | consoles | | dns_domains | | fixed_ips | | floating_ips | | instance_faults | | instance_id_mappings | | instance_info_caches | | instance_metadata | | instance_system_metadata | | instance_type_extra_specs | | instance_type_projects | | instance_types | | instances | | iscsi_targets | | key_pairs | | migrate_version | | migrations | | networks | | provider_fw_rules | | quota_classes | | quota_usages | | quotas | | reservations | | s3_images | | security_group_instance_association | | security_group_rules | | security_groups | | services | | sm_backend_config | | sm_flavors | | sm_volume | | snapshot_id_mappings | | snapshots | | task_log | | virtual_interfaces | | virtual_storage_arrays | | volume_id_mappings | | volume_metadata | | volume_type_extra_specs | | volume_types | | volumes | +-------------------------------------+ 52 rows in set (0.00 sec)
- novaユーザ権限設定
mysql> grant all on nova.* to 'nova'@'localhost' identified by 'novapassword'; mysql> grant all on nova.* to 'nova'@'172.16.100.100' identified by 'novapassword'; mysql> flush privileges;
novaを設定する
- パッケージインストール直後の/etc/nova/nova.confを確認
[DEFAULT] logdir = /var/log/nova state_path = /var/lib/nova lock_path = /var/lib/nova/tmp volumes_dir = /etc/nova/volumes dhcpbridge = /usr/bin/nova-dhcpbridge dhcpbridge_flagfile = /etc/nova/nova.conf force_dhcp_release = True injected_network_template = /usr/share/nova/interfaces.template libvirt_nonblocking = True libvirt_inject_partition = -1 network_manager = nova.network.manager.FlatDHCPManager iscsi_helper = tgtadm sql_connection = mysql://nova:nova@localhost/nova compute_driver = libvirt.LibvirtDriver firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver rpc_backend = nova.openstack.common.rpc.impl_qpid rootwrap_config = /etc/nova/rootwrap.conf [keystone_authtoken] admin_tenant_name = %SERVICE_TENANT_NAME% admin_user = %SERVICE_USER% admin_password = %SERVICE_PASSWORD% auth_host = 127.0.0.1 auth_port = 35357 auth_protocol = http signing_dirname = /tmp/keystone-signing-nova
- debugモードに設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT debug true
- keystone認証設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone $ sudo openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service $ sudo openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova $ sudo openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password novapassword $ sudo openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_host 172.16.100.100
- glance接続設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT glance_host 172.16.100.100 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT glance_api_servers "172.16.100.100:9292"
- qpid接続設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname 172.16.100.100 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_username nova $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_password novapassword $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT qpid_port 5672
- HyperVisor設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type kvm
- データベース接続設定
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT sql_connection mysql://nova:novapassword@172.16.100.100/nova
- ネットワークマネージャ設定
VlanManager(802.1q)を利用するために必要な設定を実施する。
今回はQuantumは利用しない。
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT network_manager nova.network.manager.VlanManager $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT vlan_interface eth1 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT vlan_start 1000
- iscsiターゲット設定
動作確認のためにCloudController上のブロックデバイスをそのままiscsiターゲットで利用する。
$ sudo chkconfig --level 3 tgtd on $ sudo service tgtd start $ Starting SCSI target daemon: [ OK ]
ここではvdb1をnova-volumeとして利用する。
LVMのボリューム名は決め打ちで"nova-volumes"としなければならないので注意。
$ sudo pvcreate /dev/vdb1 Writing physical volume data to disk "/dev/vdb1" Physical volume "/dev/vdb1" successfully created $ sudo vgcreate nova-volumes /dev/vdb1 Volume group "nova-volumes" successfully created $ sudo vgdisplay nova-volumes --- Volume group --- VG Name nova-volumes System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 20.00 GiB PE Size 4.00 MiB Total PE 5119 Alloc PE / Size 0 / 0 Free PE / Size 5119 / 20.00 GiB VG UUID 1SxHCJ-GsXa-ODcU-CFFB-1c13-grts-UjQh4V
nova各サービス自動起動設定
$ sudo chkconfig --level 3 openstack-nova-api on $ sudo chkconfig --level 3 openstack-nova-cert on $ sudo chkconfig --level 3 openstack-nova-network on $ sudo chkconfig --level 3 openstack-nova-objectstore on $ sudo chkconfig --level 3 openstack-nova-scheduler on $ sudo chkconfig --level 3 openstack-nova-volume on $ sudo chkconfig --level 3 openstack-nova-compute on
nova各サービス起動
$ sudo service openstack-nova-api start Starting openstack-nova-api: [ OK ] $ sudo service openstack-nova-cert start Starting openstack-nova-cert: [ OK ] $ sudo service openstack-nova-network start Starting openstack-nova-network: [ OK ] $ sudo service openstack-nova-objectstore start Starting openstack-nova-objectstore: [ OK ] $ sudo service openstack-nova-scheduler start Starting openstack-nova-scheduler: [ OK ] $ sudo service openstack-nova-volume start Starting openstack-nova-volume: [ OK ] $ sudo service openstack-nova-compute start Starting openstack-nova-compute: [ OK ]
ログファイルパス
- /var/log/nova/api.log
- /var/log/nova/cert.log
- /var/log/nova/network.log
- /var/log/nova/objectstore.log
- /var/log/nova/scheduler.log
- /var/log/nova/volume.log
- /var/log/nova/compute.log
openstack-dashboardのインストールと設定
openstack-dashboardのインストール
$ sudo yum install openstack-dashboard
apache自動起動設定
$ sudo chkconfig --level 3 httpd on
apache起動
$ sudo service httpd start Starting httpd: [ OK ]
noVNCのインストールと設定
openstack-nova-novncproxyのインストール
$ sudo yum install openstack-nova-novncproxy
/etc/nova/nova.confにnoVNC関連設定を実施
$ sudo openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_listen 0.0.0.0 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_port 6080 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://172.16.100.100:6080/vnc_auto.html $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled true $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0 $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 172.16.100.100
novnc各サービス自動起動設定
$ sudo chkconfig openstack-nova-novncproxy on $ sudo chkconfig openstack-nova-consoleauth on
novnc関連サービス起動
$ sudo service openstack-nova-novncproxy start Starting openstack-nova-novncproxy: [ OK ] $ sudo service openstack-nova-consoleauth start Starting openstack-nova-consoleauth: [ OK ] $ sudo service openstack-nova-compute restart Stopping openstack-nova-compute: [ OK ] Starting openstack-nova-compute: [ OK ]