• admin
  • 604
  • 2025-07-26 07:04:08

首先与之前安装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