# yum install openstack-nova-compute
Edit the /etc/nova/nova.conf file and complete the following actions:
○ In the [DEFAULT] section, enable only the compute and metadata APIs:
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
○ In the [DEFAULT] section, configure RabbitMQ message queue access:
[DEFAULT]
# …
transport_url=rabbit://openstack:[email protected]
○ In the [api] and [keystone_authtoken] sections, configure Identity service access::
[api]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_url = http://stack.flex.net:5000/v3
memcached_servers = dbs.flex.net:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = nova123
注意: 注释或移除在掉在[keystone_authtoken]区域中的其它的选项
○ In the [DEFAULT] section, configure the my_ip option:
[DEFAULT]
# ...
my_ip = 192.168.205.187
注意:使用管理接口的IP在你的计算节点上.
○ In the [DEFAULT] section, enable support for the Networking service:
[DEFAULT]
# ...
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver
注意:缺省的,计算节点使用一内部的防火墙驱动,因为网络服务包含了一个防火墙驱动,你必须禁用防火墙驱动并使用nova.virt.firewall.NoopFirewallDriver firewall driver
○ In the [vnc] section, enable and configure remote console access:
[vnc]
# ...
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://stack.flex.net:6080/vnc_auto.html
服务器组件监听所有IP地址,代理组件只监听计算节点的管理接口IP地址。基本URL指示可以使用web浏览器访问此计算节点上实例的远程控制台的位置。
注意:如果要访问远程控制台的web浏览器驻留在无法解析控制器主机名的主机上,则必须使用控制器节点的管理接口IP地址替换控制器。
○ In the [glance] section, configure the location of the Image service API:
[glance]
# ...
api_servers = http://stack.flex.net:9292
○ In the [oslo_concurrency] section, configure the lock path:
[oslo_concurrency]
# ...
lock_path = /var/lib/nova/tmp
○ In the [placement] section, configure the Placement API:
[placement]
# ...
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://stack.flex.net:5000/v3
username = placement
password = placement123
Determine whether your compute node supports hardware acceleration for virtual machines:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
如果这个命令返回1或大于1的值,你的计算节点支持硬件加速,通常不需要额外的配置,通常如果你的计算节点使用的是Vmware Workstation虚拟机,你可以充许virtuallze Intel VT-x/EPT or AMD-V/RVI这样打开虚拟化设置
如果这个命令返回一个0值,你的计算节点不支持硬件加速,并且你必须配置libvirt使用QEMU取代KVM, 编辑文件/etc/nova/nova.conf文件如下:
[libvirt]
# ...
virt_type = qemu
Start the Compute service including its dependencies and configure them to start automatically when the system boots:
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service
注意:如果nova-compute服务无法启动,请检查/var/log/nova/nova- computer .log。controller:5672上的错误消息AMQP服务器不可访问,这可能表明控制器节点上的防火墙正在阻止对端口5672的访问。将防火墙配置为打开控制器节点上的端口5672并在计算节点上重新启动nova-compute服务。
Source the admin credentials to enable admin-only CLI commands, then confirm there are compute hosts in the database:
$ . admin-openrc
$ openstack compute service list --service nova-compute
+----+-------+--------------+------+-------+---------+----------------------------+
| ID | Host | Binary | Zone | State | Status | Updated At |
+----+-------+--------------+------+-------+---------+----------------------------+
| 1 | node1 | nova-compute | nova | up | enabled | 2017-04-14T15:30:44.000000 |
+----+-------+--------------+------+-------+---------+----------------------------+
Discover compute hosts:
# su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
Found 2 cell mappings.
Skipping cell0 since it does not contain hosts.
Getting compute nodes from cell 'cell1': ad5a5985-a719-4567-98d8-8d148aaae4bc
Found 1 computes in cell: ad5a5985-a719-4567-98d8-8d148aaae4bc
Checking host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
Creating host mapping for compute host 'compute': fe58ddc1-1d65-4f87-9456-bc040dc106b3
注意:当你添加新的计算节点,你必须运行nova-manage cell_v2 discover_hosts在控制器上注册新的计算节点,替代方法为你可以在/etc/nova/nova.conf中设置一个适当的间间隔自动发现计算节点:
[scheduler]
discover_hosts_in_cells_interval = 300
Verify operation of the Compute service.
Note: Perform these commands on the controller node.
$ . admin-openrc
List service components to verify successful launch and registration of each process:
$ openstack compute service list
+----+--------------------+------------+----------+---------+-------+----------------------------+
| Id | Binary | Host | Zone | Status | State | Updated At |
+----+--------------------+------------+----------+---------+-------+----------------------------+
| 1 | nova-scheduler | controller | internal | enabled | up | 2016-02-09T23:11:15.000000 |
| 2 | nova-conductor | controller | internal | enabled | up | 2016-02-09T23:11:16.000000 |
| 3 | nova-compute | compute1 | nova | enabled | up | 2016-02-09T23:11:20.000000 |
+----+--------------------+------------+----------+---------+-------+----------------------------+
Note: This output should indicate two service components enabled on the controller node and one service component enabled on the compute node.
$ openstack catalog list
+-----------+-----------+---------------------------------------------+
| Name | Type | Endpoints |
+-----------+-----------+---------------------------------------------+
| placement | placement | RegionOne |
| | | admin: http://stack.flex.net:8778 |
| | | RegionOne |
| | | internal: http://stack.flex.net:8778 |
| | | RegionOne |
| | | public: http://stack.flex.net:8778 |
| | | |
| glance | image | RegionOne |
| | | admin: http://stack.flex.net:9292 |
| | | RegionOne |
| | | public: http://stack.flex.net:9292 |
| | | RegionOne |
| | | internal: http://stack.flex.net:9292 |
| | | |
| nova | compute | RegionOne |
| | | public: http://stack.flex.net:8774/v2.1 |
| | | RegionOne |
| | | internal: http://stack.flex.net:8774/v2.1 |
| | | RegionOne |
| | | admin: http://stack.flex.net:8774/v2.1 |
| | | |
| keystone | identity | RegionOne |
| | | public: http://stack.flex.net:5000/v3/ |
| | | RegionOne |
| | | admin: http://stack.flex.net:5000/v3/ |
| | | RegionOne |
| | | internal: http://stack.flex.net:5000/v3/ |
| | | |
+-----------+-----------+---------------------------------------------+
List images in the Image service to verify connectivity with the Image service:
$ openstack image list
+--------------------------------------+-------------+-------------+
| ID | Name | Status |
+--------------------------------------+-------------+-------------+
| 9a76d9f9-9620-4f2e-8c69-6c5691fae163 | cirros | active |
+--------------------------------------+-------------+-------------+
Check the cells and placement API are working successfully and that other necessary prerequisites are in place:
# nova-status upgrade check
+--------------------------------------------------------------------+
| Upgrade Check Results |
+--------------------------------------------------------------------+
| Check: Cells v2 |
| Result: Success |
| Details: None |
+--------------------------------------------------------------------+
| Check: Placement API |
| Result: Success |
| Details: None |
+--------------------------------------------------------------------+
| Check: Ironic Flavor Migration |
| Result: Success |
| Details: None |
+--------------------------------------------------------------------+
| Check: Request Spec Migration |
| Result: Success |
| Details: None |
+--------------------------------------------------------------------+
| Check: Console Auths |
| Result: Success |
| Details: None |
+--------------------------------------------------------------------+