安装和配置计算节点
这个章节描述如何在计算节点上安装和配置计算服务。 计算服务支持几种不同的 hypervisors。
为了简单起见,这个配置在计算节点上使用 :KVM <kernel-based VM (KVM)>`扩展的:QEMU <Quick EMUlator (QEMU)>`作为hypervisor,支持虚拟机的硬件加速。
在旧的硬件上,这个配置使用通用的QEMU作为hypervisor。你可以根据这些说明进行细微的调整,使用额外的计算节点来横向扩展你的环境。
节点配置信息说明:
控制节点:controller:
IP:192.168.164.128
hostname&hosts:likeadmin
计算加点:Nova:
IP:192.168.164.129
hostname&hosts:likenode
块存储节点:cinder:
IP:192.168.164.136
hostname&hosts:likeblock
1.安全并配置组件
1)安装软件包:
# yum install openstack-nova-compute
2)编辑``/etc/nova/nova.conf``文件并完成下面的操作:
在``[DEFAULT]``部分,只启用计算和元数据API:
[DEFAULT]
# ...
enabled_apis = osapi_compute,metadata
在``[DEFAULT]``部分,配置``RabbitMQ``消息队列访问权限:
[DEFAULT]
# ...
transport_url = rabbit://openstack:djl18001@likeadmin
用你在 “RabbitMQ” 中为 “openstack” 选择的密码替换 “RABBIT_PASS”。
在[api]和[keystone_authtoken]部分中,配置身份服务访问:
[api]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://likeadmin:5000
auth_url = http://likeadmin:35357
memcached_servers = likeadmin:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = djl18001
使用你在身份认证服务中设置的``nova`` 用户的密码替换``NOVA_PASS``。
在 [DEFAULT] 部分,配置 my_ip 选项:
[DEFAULT]
# ...
my_ip = 192.168.164.129
将其中的 MANAGEMENT_INTERFACE_IP_ADDRESS 替换为计算节点上的管理网络接口的IP 地址,
例如 :ref:`example architecture <overview-example-architectures>`中所示的第一个节点 10.0.0.31 。
在 ``[DEFAULT]``部分,启用网络服务支持:
[DEFAULT]
# ...
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
注解:缺省情况下,Compute 使用内置的防火墙服务。由于 Networking 包含了防火墙服务,所以你必须通过使用 nova.virt.firewall.NoopFirewallDriver 来去除 Compute 内置的防火墙服务。
在``[vnc]``部分,启用并配置远程控制台访问:
[vnc]
# ...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://likeadmin:6080/vnc_auto.html
服务器组件监听所有的 IP 地址,而代理组件仅仅监听计算节点管理网络接口的 IP 地址。基本的 URL 指示您可以使用 web 浏览器访问位于该计算节点上实例的远程控制台的位置。
如果你运行浏览器的主机无法解析``controller`` 主机名,你可以将 ``controller``替换为你控制节点管理网络的IP地址。
在 [glance] 区域,配置镜像服务 API 的位置:
[glance]
# ...
api_servers = http://likeadmin:9292
在 [oslo_concurrency] 部分,配置锁路径:
[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://likeadmin:35357/v3
username = placement
password = djl18001
将PLACEMENT_PASS替换为您在Identity服务中为放置用户选择的密码。 注释掉[placement]部分中的任何其他选项。
2.完成安装
确定您的计算节点是否支持虚拟机的硬件加速。
[root@likenode ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
0
[root@likenode ~]#
如果这个命令返回了 one or greater 的值,那么你的计算节点支持硬件加速且不需要额外的配置。
如果这个命令返回了 zero 值,那么你的计算节点不支持硬件加速。你必须配置 libvirt 来使用 QEMU 去代替 KVM
在 /etc/nova/nova.conf 文件的 [libvirt] 区域做出如下的编辑:
[libvirt]
# ...
virt_type = qemu
3.启动计算服务及其依赖,并将其配置为随系统自动启动:
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service
如果nova-compute服务无法启动,请检查/var/log/nova/nova-compute.log。
控制器上的错误消息AMQP服务器:5672无法访问可能表示控制器节点上的防火墙阻止访问端口5672.将防火墙配置为打开控制器节点上的端口5672并重新启动计算节点上的nova-compute服务。
在控制节点上开启5672端口的方法:
# netstat -auntlp | grep 5672 (查看5672端口是否在使用)
# iptables -I INPUT -p tcp --dport 5672 -j ACCEPT (打开5672端口)
# iptables-save (保存修改)
# iptables -L -n
# systemctl restart openstack-nova* (分别在controller、compute节点)
3.将计算节点添加到单元数据库
在控制器节点上运行以下命令:
1)获取管理员凭据以启用仅管理员CLI命令,然后确认数据库中是否存在计算主机:
[root@likeadmin ~]# source /root/.admin-openrc
[root@likeadmin ~]# openstack hypervisor list
+----+---------------------+-----------------+-----------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP | State |
+----+---------------------+-----------------+-----------------+-------+
| 1 | likenode | QEMU | 192.168.164.129 | up |
+----+---------------------+-----------------+-----------------+-------+
[root@likeadmin ~]#
2)发现计算主机:
[root@likeadmin ~]# 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': 1a73b8c8-e82f-4378-9323-a34fe771904b
Found 1 computes in cell: 1a73b8c8-e82f-4378-9323-a34fe771904b
Checking host mapping for compute host 'likenode': 669acd00-7cd0-47bd-b9b3-01acbddd2207
Creating host mapping for compute host 'likenode': 669acd00-7cd0-47bd-b9b3-01acbddd2207
[root@likeadmin ~]#
注解:添加新计算节点时,必须在控制器节点上运行nova-manage cell_v2 discover_hosts以注册这些新计算节点。
或者,您可以在/etc/nova/nova.conf中设置适当的间隔:
[scheduler]
discover_hosts_in_cells_interval = 300
4.验证操作
验证计算服务的操作。
在控制节点上执行这些命令
1)获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
[root@likeadmin ~]# source /root/.admin-openrc
2)列出服务组件,以验证是否成功启动并注册了每个进程:
[root@likeadmin ~]# openstack compute service list
+----+------------------+-----------+----------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+----+------------------+-----------+----------+---------+-------+----------------------------+
| 1 | nova-scheduler | likeadmin | internal | enabled | up | 2019-03-21T09:39:02.000000 |
| 2 | nova-conductor | likeadmin | internal | enabled | up | 2019-03-21T09:39:03.000000 |
| 3 | nova-consoleauth | likeadmin | internal | enabled | up | 2019-03-21T09:39:04.000000 |
| 6 | nova-compute | likenode | nova | enabled | up | 2019-03-21T09:39:04.000000 |
+----+------------------+-----------+----------+---------+-------+----------------------------+
[root@likeadmin ~]#
该输出应该显示三个服务组件在控制节点上启用,一个服务组件在计算节点上启用。
3)列出身份认证服务中的 API 端点来验证身份认证服务的连通性:
端点列表可能会有所不同,具体取决于OpenStack组件的安装
[root@likeadmin ~]# openstack catalog list
+-----------+-----------+-------------------------------------------------------------------------+
| Name | Type | Endpoints |
+-----------+-----------+-------------------------------------------------------------------------+
| glance | image | RegionOne |
| | | public: http://likeadmin:9292 |
| | | RegionOne |
| | | admin: http://likeadmin:9292 |
| | | RegionOne |
| | | internal: http://likeadmin:9292 |
| | | |
| nova | compute | RegionOne |
| | | admin: http://likeadmin:8774/v2.1/3e43d2f6475e4fd2ab1daa02d2f0c254 |
| | | RegionOne |
| | | internal: http://likeadmin:8774/v2.1/3e43d2f6475e4fd2ab1daa02d2f0c254 |
| | | RegionOne |
| | | public: http://likeadmin:8774/v2.1/3e43d2f6475e4fd2ab1daa02d2f0c254 |
| | | |
| placement | placement | RegionOne |
| | | public: http://likeadmin:8778 |
| | | RegionOne |
| | | internal: http://likeadmin:8778 |
| | | RegionOne |
| | | admin: http://likeadmin:8778 |
| | | |
| keystone | identity | RegionOne |
| | | internal: http://likeadmin:5000/v3/ |
| | | RegionOne |
| | | public: http://likeadmin:5000/v3/ |
| | | RegionOne |
| | | admin: http://likeadmin:35357/v3/ |
| | | |
+-----------+-----------+-------------------------------------------------------------------------+
[root@likeadmin ~]#
4)列出Image服务中的图像以验证与Image服务的连接:
[root@likeadmin ~]# openstack image list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| b4edcf01-5358-4291-9b2f-339c5276125a | cirros | active |
+--------------------------------------+--------+--------+
[root@likeadmin ~]#
5)检查单元格和放置API是否成功运行:
[root@likeadmin ~]# nova-status upgrade check
+---------------------------+
| Upgrade Check Results |
+---------------------------+
| Check: Cells v2 |
| Result: Success |
| Details: None |
+---------------------------+
| Check: Placement API |
| Result: Success |
| Details: None |
+---------------------------+
| Check: Resource Providers |
| Result: Success |
| Details: None |
+---------------------------+
[root@likeadmin ~]#
注:至此在计算节点上安装配置计算服务已完成,并测试验证在控制节点可发现计算节点