六、OpenStack的Nova计算服务安装
6.1 Nova计算服务(OpenStack No.6)
云计算的核心服务就是计算,Nova提供了计算服务所需的实例框架,用户可以通过Nova服务模块对云平台的计算实例进行管理,例如创建、停止和摧毁实例。因此,Nova组件还充当了云计算平台控制器的角色,为用户提供工具部署云计算系统,创建和执行虚拟化实例,以及管理网络,以达到用户控制和其他项目的云计算控制管理效果[4]。Nova组件还提供了对云计算平台安全性的支持,用户可以使用Nova组件将虚拟化实例建立在防火墙保护下,并在此基础上构建私有云网络。通过这种方式,私有云与外部网络隔离,从而增强了私有云和虚拟化实例的安全性。
6.1.1 控制节点:
本小节需要在控制节点上执行命令配置相关文件,相关配置如下文所示。
6.1.1.1 创建nova所需的数据库
创建数据库,创建数据库用户等等,如图6.1所示。

6.1.1.2 创建用户角色,实体
[root@controller ~]# . /root/admin-openrc
[root@controller ~]# openstack user create --domain taoism --password 123456 nova
[root@controller ~]# openstack role add --project service --user nova admin
[root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute
[root@controller ~]# . /root/admin-openrc
[root@controller ~]# openstack user create --domain taoism --password 123456 nova
[root@controller ~]# openstack role add --project service --user nova admin
[root@controller ~]# openstack service create --name nova --description "OpenStack Compute" compute
创建结果如图6.2所示。

6.1.1.3 创建Compute服务API端点
[root@controller ~]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
如图6.3所示反馈结果。

6.1.1.4 控制节点安装Nova服务组件
[root@controller ~]# yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
[root@controller ~]# yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
6.1.1.5 修改nova.conf配置文件
这个nova.conf配置文件的配置方式也和别的组件一样,只需要在以下参数下面添加以下内容即可,这些参数一般都是数据库链接密码、keystone认证权限等等。配置完成后需要启动之前安装的nova组件并设置开机自启。
[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]
connection = mysql+pymysql://nova:123456@controller/nova_api
[database]
connection = mysql+pymysql://nova:123456@controller/nova
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = taoism
user_domain_name = taoism
project_name = service
username = nova
password = 123456
[vnc]
vncserver_listen = 192.168.100.10
vncserver_proxyclient_address = 192.168.100.10
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
6.1.1.6 同步数据库
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
如图6.4所示。

6.1.2 两个计算节点同步执行
两个计算节点安装 openstack-nova-compute,按照以下要求合理配置nova的配置文件nova.conf,配置之后需要启动nova服务并开启开机自启。
# vi /etc/nova/nova.conf
[DEFAULT]下添加
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.20 #(计算节点的IP地址)
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[oslo_concurrency]下添加
lock_path = /var/lib/nova/tmp
[oslo_messaging_rabbit] 下添加
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[keystone_authtoken] 下添加
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = taoism
user_domain_name = taoism
project_name = service
username = nova
password = 123456
# vi /etc/nova/nova.conf
[DEFAULT]下添加
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.20 #(计算节点的IP地址)
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[oslo_concurrency]下添加
lock_path = /var/lib/nova/tmp
[oslo_messaging_rabbit] 下添加
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[keystone_authtoken] 下添加
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = taoism
user_domain_name = taoism
project_name = service
username = nova
password = 123456
[vnc] 下添加
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 192.168.100.20 #(计算节点的IP)
novncproxy_base_url = http://192.168.100.10:6080/vnc_auto.html
[glance] 下添加
api_servers = http://controller:9292
[libvirt]下添加
virt_type = qemu
6.1.3 控制节点验证服务组件
使用openstack compute service list在控制节点查看三个节点的组件状况验证结果如图4.34所示。

OpenStack搭建教程第四节今天到这里,可以看看前面五节内容。
一、云计算和OpenStack
二、OpenStack云平台架构设计
三、安装部署OpenStack所需基础软件包
四、OpenStack的Keystone认证服务
五、OpenStack的Glance镜像服务安装
精品推荐
Ambari大数据管理平台搭建教程