一、安装并配置控制节点(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';
二、创建服务凭证和API端点
1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
. admin-openrc
2、创建服务凭证
创建 nova 用户:
openstack user create --domain default --password-prompt nova
给 nova 用户添加 admin 角色:(无返回值)
openstack role add --project service --user nova admin
创建 nova 服务实体:
openstack service create --name nova --description "OpenStack Compute" compute
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
三、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
在[api_database]
和[database]
部分,配置数据库的连接:
[api_database]
connection = mysql+pymysql://nova:000000@controller/nova_api
[database]
connection = mysql+pymysql://nova:000000@controller/nova
在“[oslo_messaging_rabbit
]”部分,配置 “RabbitMQ” 消息队列访问
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 000000
在**[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
在[vnc]
部分,配置VNC代理使用控制节点的管理接口IP地址 :
[vnc]
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
在 [glance] 区域,配置镜像服务 API 的位置:
[glance]
api_servers = http://controller:9292
在 [oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
3、同步Compute 数据库:(忽略输出的不推荐内容)
#su -s /bin/sh -c "nova-manage api_db sync" nova
#su -s /bin/sh -c "nova-manage db sync" nova
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
二、安装和配置计算节点(请在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
在 [oslo_messaging_rabbit]部分,配置RabbitMQ
消息队列的连接:
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 000000
在[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
在[vnc]
部分,启用并配置远程控制台访问:
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
在 [glance] 区域,配置镜像服务 API 的位置:
[glance]
api_servers = http://controller:9292
在 [oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
3、完成安装,确定您的计算节点是否支持虚拟机的硬件加速。
#egrep -c '(vmx|svm)' /proc/cpuinfo
如果这个命令返回了 one or greater 的值,那么你的计算节点支持硬件加速且不需要额外的配置。
如果这个命令返回了 zero 值,那么你的计算节点不支持硬件加速。你必须配置 libvirt 来使用 QEMU 去代替 KVM
在 /etc/nova/nova.conf 文件的 [libvirt] 区域做出如下的编辑:
[libvirt]
virt_type = qemu
4、启动Nova服务并设置开机自启动
#systemctl start libvirtd.service openstack-nova-compute.service
#systemctl enable libvirtd.service openstack-nova-compute.service
三、验证操作(在控制节点上执行这些命令。Controller节点)
Controller节点
1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
. admin-openrc
2、列出服务组件,以验证是否成功启动并注册了每个进程:
#openstack compute service list