pig2 发表于 2015-5-13 17:37:06

openstack【Kilo】入门 【nova篇】十二:安装配置nova

问题导读

1.本文配置需要注意哪些问题?
2.libvirt什么情况下由QEMU 代替KVM?
3.MANAGEMENT_INTERFACE_IP_ADDRESS代表的含义是什么?


static/image/hrline/4.gif


安装 和 配置控制节点

配置准备

1.创建数据库,完成下面内容

a.作为root登录mysql
mysql -u root -p

b.创建nova数据库
CREATE DATABASE nova;

c.授权访问nova数据库
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';

NOVA_DBPASS替换为自己的密码


d.退出数据库
exit

2.生效admin用户名
source admin-openrc.sh


3.创建keystone认证,完成下面内容

a.创建nova用户
openstack user create --password-prompt nova



b.添加admin 角色到nova用户
openstack role add --project service --user nova admin



c.创建nova 服务实例
openstack service create --name nova \
--description "OpenStack Compute" compute



4.创建nova 服务 API endpoint:
openstack endpoint create \
--publicurl http://controller:8774/v2/%\(tenant_id\)s \
--internalurl http://controller:8774/v2/%\(tenant_id\)s \
--adminurl http://controller:8774/v2/%\(tenant_id\)s \
--region RegionOne \
compute



安装配置计算控制节点组件【控制节点】


1.安装nova
apt-get install nova-api nova-cert nova-conductor nova-consoleauth \
nova-novncproxy nova-scheduler python-novaclient -y


2.修改配置/etc/nova/nova.conf文件,完成下面内容

a.添加 部分,配置数据库连接

...
connection = mysql://nova:NOVA_DBPASS@controller/nova

记得密码替换为自己设置密码,这是mysql的密码,并非nova用户的密码

b.在 和 部分,配置RabbitMQ 消息队列访问

...
rpc_backend = rabbit


...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS这里的密码跟前面设置需要一致,这里使用的是RABBIT_PASS

c. 在 和 部分,Identity service 访问:


...
auth_strategy = keystone


...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS

NOVA_PASS替换为自己的密码,这里设置的密码为123
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = 123   




注释或则删除在 部分的选项.

d.在 部分,使用控制节点管理网络ip地址配置my_ip

...
my_ip = 10.0.0.11


e.在 部分,使用控制节点管理网络ip地址配置 VNC proxy

...
vncserver_listen = 10.0.0.11
vncserver_proxyclient_address = 10.0.0.11


f.在 部分, 配置镜像服务位置

...
host = controller

g.在 部分,配置 lock 路径:


...
lock_path = /var/lib/nova/tmp


h.在部分启用日志信息详细记录

...
verbose = True


3.同步数据库
su -s /bin/sh -c "nova-manage db sync" nova

遇到No handlers could be found for logger "oslo_config.cfg"
下面有解决办法
完成安装

1.重启计算服务

service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart

2.如果存在SQLite 数据库,则删除
rm -f /var/lib/nova/nova.sqlite

##############################################

安装配置【计算节点】

1.安装nova

apt-get install nova-compute sysfsutils -y

2.编辑文件 /etc/nova/nova.conf完成下面内容

a.在 和 部分,配置RabbitMQ 消息队列服务

...
rpc_backend = rabbit


...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

替换为自己的设置密码RABBIT_PASS

b.在 和 部分, 配置 Identity service 访问:


...
auth_strategy = keystone


...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS


NOVA_PASS 替换为自己设置密码。这里为123

注意:在 部分,注释掉或移除其它内容.
c.在 部分,配置my_ip 选项

...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

MANAGEMENT_INTERFACE_IP_ADDRESS这里是计算节点管理网络ip地址 10.0.0.31

d. 在部分,启用和配置remote console 访问:


...
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS
novncproxy_base_url = http://controller:6080/vnc_auto.html

MANAGEMENT_INTERFACE_IP_ADDRESS替换为计算节点管理网络ip地址这里是10.0.0.31

注意:如果通过浏览器访问,不能解析hostname controller ,则使用管理网络ip,代替controller


e.在部分,配置glance服务位置

...
host = controller

f.在 部分, 配置 lock 路径:


...
lock_path = /var/lib/nova/tmp


g.启用日志详细信息记录

...
verbose = True


完成安装

1.决定计算节点是否支持虚拟机的硬件加速:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果输出值是1或则比这更大,则不需要额外配置
如果是0,计算节点不支持硬件加速,你必须配置libvirt 为QEMU ,代替KVM

a. 编辑文件/etc/nova/nova-compute.conf在

...
virt_type = qemu

2.重启计算服务
service nova-compute restart


3.如果存在SQLite 数据,则删除
rm -f /var/lib/nova/nova.sqlite


验证安装【控制节点】

1.生效环境变量
source admin-openrc.sh


2.目录服务组件来验证每个进程的成功创建和注册:
nova service-list

+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary         | Host       | Zone   | Status| State | Updated_at               | Disabled Reason |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| 1| nova-conductor   | controller | internal | enabled | up    | 2014-09-16T23:54:02.000000 | -               |
| 2| nova-consoleauth | controller | internal | enabled | up    | 2014-09-16T23:54:04.000000 | -               |
| 3| nova-scheduler   | controller | internal | enabled | up    | 2014-09-16T23:54:07.000000 | -               |
| 4| nova-cert      | controller | internal | enabled | up    | 2014-09-16T23:54:00.000000 | -               |
| 5| nova-compute   | compute1   | nova   | enabled | up    | 2014-09-16T23:54:06.000000 | -               |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+

这个输出显示四个服务在控制节点启用,一个服务在计算节点

3.列出API endpoints在 Identity service核实身份验证连接服务

这是官网给出的,似乎有问题。
nova endpoints


+-----------+------------------------------------------------------------+
| nova      | Value                                                      |
+-----------+------------------------------------------------------------+
| id      | 1fb997666b79463fb68db4ccfe4e6a71                           |
| interface | public                                                   |
| region    | RegionOne                                                |
| region_id | RegionOne                                                |
| url       | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d |
+-----------+------------------------------------------------------------+
+-----------+------------------------------------------------------------+
| nova      | Value                                                      |
+-----------+------------------------------------------------------------+
| id      | bac365db1ff34f08a31d4ae98b056924                           |
| interface | admin                                                      |
| region    | RegionOne                                                |
| region_id | RegionOne                                                |
| url       | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d |
+-----------+------------------------------------------------------------+
+-----------+------------------------------------------------------------+
| nova      | Value                                                      |
+-----------+------------------------------------------------------------+
| id      | e37186d38b8e4b81a54de34e73b43f34                           |
| interface | internal                                                   |
| region    | RegionOne                                                |
| region_id | RegionOne                                                |
| url       | http://controller:8774/v2/ae7a98326b9c455588edd2656d723b9d |
+-----------+------------------------------------------------------------+

+-----------+----------------------------------+
| glance    | Value                            |
+-----------+----------------------------------+
| id      | 41ad39f6c6444b7d8fd8318c18ae0043 |
| interface | admin                            |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:9292         |
+-----------+----------------------------------+
+-----------+----------------------------------+
| glance    | Value                            |
+-----------+----------------------------------+
| id      | 50ecc4ce62724e319f4fae3861e50f7d |
| interface | internal                         |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:9292         |
+-----------+----------------------------------+
+-----------+----------------------------------+
| glance    | Value                            |
+-----------+----------------------------------+
| id      | 7d3df077a20b4461a372269f603b7516 |
| interface | public                           |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:9292         |
+-----------+----------------------------------+

+-----------+----------------------------------+
| keystone| Value                            |
+-----------+----------------------------------+
| id      | 88150c2fdc9d406c9b25113701248192 |
| interface | internal                         |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:5000/v2.0      |
+-----------+----------------------------------+
+-----------+----------------------------------+
| keystone| Value                            |
+-----------+----------------------------------+
| id      | cecab58c0f024d95b36a4ffa3e8d81e1 |
| interface | public                           |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:5000/v2.0      |
+-----------+----------------------------------+
+-----------+----------------------------------+
| keystone| Value                            |
+-----------+----------------------------------+
| id      | fc90391ae7cd4216aca070042654e424 |
| interface | admin                            |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:35357/v2.0   |
+-----------+----------------------------------+

在修改了admin-openrc.sh会返回如下内容:
+-----------+------------------------------------------------------------+
| nova      | Value                                                      |
+-----------+------------------------------------------------------------+
| id      | 01200ef9404b4498984ffd64a1632787                           |
| interface | public                                                   |
| region    | RegionOne                                                |
| region_id | RegionOne                                                |
| url       | http://controller:8774/v2/0505899607a742ccbc98541d896e6437 |
+-----------+------------------------------------------------------------+
+-----------+----------------------------------+
| keystone| Value                            |
+-----------+----------------------------------+
| id      | 4811552dd697443cb6627ace8ee5fa2d |
| interface | public                           |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:5000/v2.0      |
+-----------+----------------------------------+
+-----------+----------------------------------+
| glance    | Value                            |
+-----------+----------------------------------+
| id      | 03165d89ee154452a9fad0d4df876bc4 |
| interface | internal                         |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:9292         |
+-----------+----------------------------------+
+-----------+----------------------------------+
| neutron   | Value                            |
+-----------+----------------------------------+
| id      | 180db82ef2db4946b9872af0b1743bd7 |
| interface | admin                            |
| region    | RegionOne                        |
| region_id | RegionOne                        |
| url       | http://controller:9696         |
+-----------+----------------------------------+



4.列出 镜像 在 Image service 目录验证连接 Image service:
nova image-list

+--------------------------------------+---------------------+--------+--------+
| ID                                 | Name                | Status | Server |
+--------------------------------------+---------------------+--------+--------+
| 38047887-61a7-41ea-9b49-27987d5e8bb9 | cirros-0.3.3-x86_64 | ACTIVE |      |
+--------------------------------------+---------------------+--------+--------+

###########################################
遇到问题:
su -s /bin/sh -c "nova-manage db sync" nova
No handlers could be found for logger "oslo_config.cfg"
原因:
日志文件的配置项错误

解决办法:
修改logdir为log_dir=/var/log/nova

————————————————————————————————————

ERROR (EndpointNotFound): publicURL endpoint for compute service not found
原先endpoint被删除了




创建后:



总结:
在删除service的时候,endpoint会自动删除。他们之间是级联删除的

————————————————————————————————————

WARNING: nova has no endpoint in ! Available endpoints for this service:
此警告不影响安装,可以忽略






相关内容
openstack【Kilo】入门 【准备篇】零:整体介绍

openstack【Kilo】入门 【准备篇】一: Ubuntu14.04远程连接(ssh安装)

openstack【Kilo】入门 【准备篇】二:NTP安装

openstack【Kilo】入门 【准备篇】三:mysql(MariaDB)安装【控制节点】

openstack【Kilo】入门 【准备篇】四:RabbitMQ 安装

openstack【Kilo】入门 【keystone篇】五:keystone安装与配置

openstack【Kilo】入门 【keystone篇】六:创建服务实例和 API endpoint

openstack【Kilo】入门 【keystone篇】七:创建租户、用户、角色

openstack【Kilo】入门 【keystone篇】八:验证keystone安装部署

openstack【Kilo】入门 【keystone篇】九: 创建openstack客户端环境变量脚本

openstack【Kilo】入门 【glance篇】十:glance安装配置【控制节点】

openstack【Kilo】入门 【glance篇】十一:glance安装验证

openstack【Kilo】入门 【nova篇】十二:安装配置nova

openstack【Kilo】入门 【网络篇】十三:安装配置【控制节点】

openstack【Kilo】入门 【网络篇】十四:安装配置【网络节点】

openstack【Kilo】入门 【网络篇】十五:安装配置【计算节点】

openstack【Kilo】入门 【网络篇】十六:实例化网络
openstack【Kilo】入门 【网络篇】十七:创建实例







zhangli0912 发表于 2015-8-4 19:39:57

dean911 发表于 2015-7-13 15:16
# nova service-list
ERROR (ConnectionRefused): Unable to establish connection to http://controller: ...


我是这么解决的:
nano admin-openrc.sh
添加export SERVICE_TOKEN=ADMIN
ADMIN改成自己的TOKEN
之后再
unset OS_TOKEN OS_URL
source admin-openrc.sh
应该就可以了

路小奇 发表于 2015-11-27 10:24:16

No handlers could be found for logger "oslo_config.cfg
这个错误是在 nova.conf 文件里的进行修改的吗?

可是我的nova.conf文件并不是完整的 应该怎么解决

ygtlovezf 发表于 2015-6-26 10:55:03

楼主,您好,我遇到的问题如下:
apt-get install nova-api nova-cert nova-conductor nova-consoleauth \
nova-novncproxy nova-scheduler python-novaclient
安装后,修改/etc/nova/nova.conf 文件,里面只有:

dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
logdir=/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
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
enabled_apis=ec2,osapi_compute,metadata

这个问题有遇到过吗?无法进行下一步配置了,谢啦!

RoyChang 发表于 2015-6-4 17:50:35

请问最后遇到的这个问题

有解决方法吗
还是说他会不会影响openstack的功能呢?

pig2 发表于 2015-6-4 17:53:20

RoyChang 发表于 2015-6-4 17:50
请问最后遇到的这个问题

...
建议先不要安装,官网文档修改了几次。对后面可能会有影响,建议安装Juno版

RoyChang 发表于 2015-6-4 18:01:04

了解. RDO已经有KILO版.
原本是预想. 肯定是有解决方法{:3_41:}

venusf 发表于 2015-6-15 11:16:48

楼主,你好,我安装了kilo,是all-in-one的模式。可以创建虚拟机,一切正常。但是遇到了一个问题,在root用户下输入一些命令如nova list,glance image-list等等这些命令是有对应的正确的输出。但是在ubuntu用户下输入这些命令就会报错。这是novalist 的错误信息
No handlers could be found for logger "keystoneclient.auth.identity.generic.base"
ERROR (ServiceUnavailable): Service Unavailable (HTTP 503)

我想知道这是因为kilo版本升级后对于命令的运行要求的用户组发生了改变,还是我的配置问题。

楼主可以在自己已经配置好的kilo版本上,在普通用户下看看 novalist这些命令有输出吗?

多谢了

tanpao 发表于 2015-6-20 23:42:53

very good article !

leo_1989 发表于 2015-6-23 01:23:10

venusf 发表于 2015-6-15 11:16
楼主,你好,我安装了kilo,是all-in-one的模式。可以创建虚拟机,一切正常。但是遇到了一个问题,在root用 ...

看授权,admin是可以就行。
普通用户不一定有权限

芝麻 发表于 2015-7-7 10:34:17

也遇到8楼的问题了,请帮忙分析下原因,环境也是Ubuntu14.04.

芝麻 发表于 2015-7-7 10:35:04

ygtlovezf 发表于 2015-6-26 10:55
楼主,您好,我遇到的问题如下:
apt-get install nova-api nova-cert nova-conductor nova-consoleauth \ ...

8楼的朋友
你好

我也遇到你提的问题,请问下 ,你解决没有?

页: [1] 2 3 4 5 6
查看完整版本: openstack【Kilo】入门 【nova篇】十二:安装配置nova