首先与之前安装glance和keystone的虚拟机分开,这次新建一个虚拟机,作为计算节点,之前的虚拟机作为控制节点。
在新的虚拟机(这里为图片上的OpenStack3)里配置静态IP和配置主机名和IP地址的映射,但在这里我们需要在控制节点和计算节点上分别加上对方的IP地址和主机名的映射
然后开始安装Nova
1.下载安装包
yum install openstack-nova-compute
2.编辑/etc/nova/nova.conf文件并完成以下操作:
在[DEFAULT]部分中,仅启用计算和元数据API:
enabled_apis = osapi_compute,metadata
在[DEFAULT]部分中,配置RabbitMQ消息队列访问:
transport_url = rabbit://openstack:RABBIT_PASS@controller
其中这里面openstack是rabbit的用户名,RABBIT_PASS是对应的密码controller是安装了rabbit的虚拟机的IP地址,也就是你的控制节点的虚拟机IP地址
在[api]和[keystone_authtoken]部分中,配置身份服务访问:
[api] auth_strategy = keystone [keystone_authtoken] auth_url = http://controller:5000/v3 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = nova password = NOVA_PASS
将NOVA_PASS替换为在身份服务中为NOVA用户选择的密码。
在[DEFAULT]部分,配置my_ip选项:
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
MANAGEMENT_INTERFACE_IP_ADDRESS是你的控制节点的虚拟机IP地址
将管理接口IP地址替换为计算节点上管理网络接口的IP地址,通常为10.0.0.31表示示例体系结构中的第一个节点。
在[DEFAULT]部分,启用对网络服务的支持:
use_neutron = True firewall_driver = nova.virt.firewall.NoopFirewallDriver
默认情况下,Compute使用内部防火墙服务。由于网络包括防火墙服务,因此必须使用nova禁用计算防火墙服务nova.virt.firewall.NoopFirewallDriver防火墙驱动程序。
在[vnc]部分中,启用和配置远程控制台访问:
[vnc] # ... enabled = True server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = http://controller:6080/vnc_auto.html
服务器组件侦听所有IP地址,代理组件仅侦听计算节点的管理接口IP地址。基本URL表示可以使用web浏览器访问此计算节点上实例的远程控制台的位置。
在[glance]部分,配置图像服务API的位置:
api_servers = http://controller:9292
老样子,controller改为控制节点的IP,后文所有都是:
在[oslo_concurrency]部分中,配置锁路径
lock_path = /var/lib/nova/tmp
在[placement]部分,配置placement API:
[placement] # ... os_region_name = RegionOne project_domain_name = Default project_name = service auth_type = password user_domain_name = Default auth_url = http://controller:5000/v3 username = placement password = PLACEMENT_PASS
将PLACEMENT_PASS替换为您在Identity service中为PLACEMENT用户选择的密码。注释掉[placement]部分中的任何其他选项。
egrep -c '(vmx|svm)' /proc/cpuinfo
如果此命令返回一个或更大的值,则计算节点支持硬件加速,通常不需要额外配置。
如果此命令返回的值为零,则计算节点不支持硬件加速,必须将libvirt配置为使用QEMU而不是KVM。
编辑/etc/nova/nova中的[libvirt]部分。conf文件如下:
[libvirt] # ... virt_type = qemu
启动计算服务(包括其依赖项),并将其配置为在系统引导时自动启动:
systemctl enable libvirtd openstack-nova-compute
systemctl start libvirtd openstack-nova-compute
如果nova compute服务无法启动,请检查/var/log/nova/nova compute。日志错误消息AMQP server on controller:5672不可访问可能表示控制器节点上的防火墙正在阻止对端口5672的访问。配置防火墙以打开控制器节点上的端口5672,并重新启动计算节点上的nova compute服务。
获取管理员凭据以启用仅限管理员的CLI命令,然后确认数据库中存在计算主机:
openstack compute service list --service nova-compute
发现计算主机:
nova-manage cell_v2 discover_hosts --verbose