9.1. nova控制
9.1.1 创建数据库
mysql -u root -p
create database nova;
grant all privileges on nova.* tonova@'kilo' identified by 'nova_dbpass';
grant all privileges on nova.* to'nova'@'localhost' identified by 'nova_dbpass';
grant all privileges on nova.* to'nova'@'%' identified by 'nova_dbpass';
exit
9.1.2 创建认证服务
source admin-openrc.sh
openstack user create --password-promptnova
User Password:
Repeat User Password:
+----------+----------------------------------+
| Field | Value |
+----------+----------------------------------+
| email | None |
| enabled | True |
| id | 70ab2c9c780a4aaf9c1205539e126833 |
| name | nova |
| username |nova |
+----------+----------------------------------+
openstack role add --project service --usernova admin
+-------+----------------------------------+
| Field |Value |
+-------+----------------------------------+
| id | 14b826a870464c67900a963d675cc8cb |
| name | admin |
+-------+----------------------------------+
openstack service create --name nova--description "Openstack Compute" compute
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description |Openstack Compute |
| enabled | True |
| id | e3bb588e20fa474db14b417b35cf88da |
| name | nova |
| type | compute |
+-------------+----------------------------------+
9.1.3 创建nova API endpoint
openstack endpoint create --publicurlhttp://kilo:8774/v2/%\(tenant_id\)s --internalurlhttp://kilo:8774/v2/%\(tenant_id\)s --adminurlhttp://kilo:8774/v2/%\(tenant_id\)s --region RegionOne compute
+--------------+-----------------------------------+
| Field | Value |
+--------------+-----------------------------------+
| adminurl | http://kilo:8774/v2/%(tenant_id)s |
| id |6d993b76116b4953b83d05071d7a388d |
|internalurl |http://kilo:8774/v2/%(tenant_id)s |
| publicurl | http://kilo:8774/v2/%(tenant_id)s |
| region | RegionOne |
| service_id | e3bb588e20fa474db14b417b35cf88da |
| service_name |nova |
| service_type |compute |
+--------------+-----------------------------------+
9.1.4 安装nova
sudo apt-get install nova-api nova-certnova-conductor nova-consoleauth nova-novncproxy nova-schedulerpython-novaclient -y
9.1.5 配置nova
vim /etc/nova/nova.conf
[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
log_dir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
verbose=True
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 172.16.4.139
vncserver_listen = 172.16.4.139
vncserver_proxyclient_address =172.16.4.139
[database]
connection =mysql://nova:nova_dbpass@kilo/nova
[oslo_messaging_rabbit]
rabbit_host = kilo
rabbit_userid = openstack_rabbit_user
rabbit_password = openstack_rabbit_password
[keystone_authtoken]
auth_uri = http://kilo:5000
auth_url = http://kilo:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = nova_pass
[glance]
host=kilo
[oslo_concurrency]
lock_path = /var/lock/nova
9.1.6 同步数据库
sudo bash -c "nova-manage dbsync" nova
9.1.7 重启服务
rm -f /var/lib/nova/nova.sqlite
sudo service nova-api restart_x000D_sudo servicenova-cert restart_x000D_sudo service nova-consoleauth restart_x000D_sudo servicenova-scheduler restart_x000D_sudo service nova-conductor restart_x000D_sudo servicenova-novncproxy restart
9.1.8 验证安装
source admin-openrc.sh
nova service-list
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+
| Id |Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+
| 1 | nova-cert | kilo | internal | enabled | up | 2015-05-25T08:31:22.000000 | - |
| 2 | nova-consoleauth | kilo | internal |enabled | up | 2015-05-25T08:31:18.000000| - |
| 3 | nova-scheduler | kilo | internal | enabled | up | 2015-05-25T08:31:14.000000 | - |
| 4 | nova-conductor | kilo | internal | enabled | up | 2015-05-25T08:31:19.000000 | - |
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+
9.2. nova计算节点
9.2.1 安装包
sudo apt-get install qemu kvm nova-computesysfsutils
9.2.2 配置nova.conf
[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
log_dir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
verbose=True
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 172.16.4.139
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address =172.16.4.139
novncproxy_base_url =http://kilo:6080/vnc_auto.html
[oslo_messaging_rabbit]
rabbit_host = kilo
rabbit_userid = openstack_rabbit_user
rabbit_password = openstack_rabbit_password
[keystone_authtoken]
auth_uri = http://kilo:5000
auth_url = http://kilo:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = nova_pass
[glance]
host=kilo
[oslo_concurrency]
lock_path = /var/lock/nova
9.2.3 配置nova-compute.conf
sudo vim /etc/nova/nova-compute.conf
[libvirt]
virt_type = kvm
rm -f /var/lib/nova/nova.sqlite
sudo service nova-compute restart
9.2.4 验证
登陆控制节点
source admin-openrc.sh
nova service-list
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+
| Id |Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+
| 1 | nova-cert | kilo | internal | enabled | up | 2015-05-26T02:59:55.000000 | - |
| 2 | nova-consoleauth | kilo | internal |enabled | up | 2015-05-26T02:59:52.000000| - |
| 3 | nova-scheduler | kilo | internal | enabled | up | 2015-05-26T02:59:56.000000 | - |
| 4 | nova-conductor | kilo | internal | enabled | up | 2015-05-26T02:59:59.000000 | - |
| 5 | nova-compute | kilo | nova | enabled | up | 2015-05-26T02:59:57.000000 | - |
+----+------------------+------+----------+---------+-------+----------------------------+-----------------+