一、安装并配置控制节点(controller节点执行以下操作):

Controller节点

1、数据库配置:
用数据库连接客户端以 root 用户连接到数据库服务器:
#mysql -u root -p000000

创建 nova_api 和 nova 数据库:

CREATE DATABASE nova_api;
CREATE DATABASE nova;

对数据库进行正确的授权:

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '000000';

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列


二、创建服务凭证和API端点

1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

. admin-openrc

2、创建服务凭证

创建 nova 用户:

openstack user create --domain default --password-prompt nova

基于packstack部署双节点T版的OpenStack openstack双节点搭建_mysql_02


给 nova 用户添加 admin 角色:(无返回值)

openstack role add --project service --user nova admin

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_03


创建 nova 服务实体:

openstack service create --name nova --description "OpenStack Compute" compute

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_04


3、创建Compute 服务 API端点:

openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_05


三、Controller节点—安装并配置Nova组件

1、安装Nova组件安装包:
#yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

2、编辑Nova组件的配置文件
编辑/etc/nova/nova.conf文件
#vi /etc/nova/nova.conf[DEFAULT]部分,只启用计算和元数据API,配置 “RabbitMQ” 消息队列访问,配置认证服务访问,配置my_ip 来使用控制节点的管理接口的IP 地址,使能 Networking 服务:

[DEFAULT]

enabled_apis = osapi_compute,metadata
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.10
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_06


[api_database][database]部分,配置数据库的连接:

[api_database]

connection = mysql+pymysql://nova:000000@controller/nova_api

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_07


[database]

connection = mysql+pymysql://nova:000000@controller/nova

基于packstack部署双节点T版的OpenStack openstack双节点搭建_mysql_08


在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列访问

[oslo_messaging_rabbit]

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 000000

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_09


在**[keystone_authtoken]**” 部分,配置认证服务访问:

[keystone_authtoken]

auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 000000

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_10


[vnc]部分,配置VNC代理使用控制节点的管理接口IP地址 :

[vnc]

vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_11


在 [glance] 区域,配置镜像服务 API 的位置:

[glance]

api_servers = http://controller:9292

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_12


在 [oslo_concurrency] 部分,配置锁路径:

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_13


3、同步Compute 数据库:(忽略输出的不推荐内容)

#su -s /bin/sh -c "nova-manage api_db sync" nova
#su -s /bin/sh -c "nova-manage db sync" nova

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_14


4、启动Nova服务并设置开机自启

#systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service#systemctl enable openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_15

二、安装和配置计算节点(请在Compute节点执行以下操作)

Compute节点

1、安装软件包:
#yum -y install openstack-nova-compute

2、编辑/etc/nova/nova.conf文件并完成下面的操作:

[DEFAULT] 部分,配置RabbitMQ消息队列的连接,配置认证服务访问,配置 my_ip 选项,使能 Networking 服务,:
[DEFAULT]

rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.20
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_16


在 [oslo_messaging_rabbit]部分,配置RabbitMQ消息队列的连接:

[oslo_messaging_rabbit]

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 000000

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_17


在[keystone_authtoken]” 部分,配置认证服务访问:

[keystone_authtoken]

auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 000000

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_18


[vnc]部分,启用并配置远程控制台访问:

[vnc]

enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_19


在 [glance] 区域,配置镜像服务 API 的位置:

[glance]

api_servers = http://controller:9292

基于packstack部署双节点T版的OpenStack openstack双节点搭建_mysql_20


在 [oslo_concurrency] 部分,配置锁路径:

[oslo_concurrency]

lock_path = /var/lib/nova/tmp

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_21


3、完成安装,确定您的计算节点是否支持虚拟机的硬件加速。

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

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_22


如果这个命令返回了 one or greater 的值,那么你的计算节点支持硬件加速且不需要额外的配置。
如果这个命令返回了 zero 值,那么你的计算节点不支持硬件加速。你必须配置 libvirt 来使用 QEMU 去代替 KVM
在 /etc/nova/nova.conf 文件的 [libvirt] 区域做出如下的编辑:

[libvirt]

virt_type = qemu

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_23


4、启动Nova服务并设置开机自启动

#systemctl start libvirtd.service openstack-nova-compute.service

#systemctl enable libvirtd.service openstack-nova-compute.service

基于packstack部署双节点T版的OpenStack openstack双节点搭建_消息队列_24

三、验证操作(在控制节点上执行这些命令。Controller节点)

Controller节点

1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

. admin-openrc

2、列出服务组件,以验证是否成功启动并注册了每个进程:

#openstack compute service list

基于packstack部署双节点T版的OpenStack openstack双节点搭建_API_25