Openstack Queens版本双节点架构笔记5,Nova安装:

为Red Hat Enterprise Linux和CentOS安装和配置控制器节点

 

本节介绍如何在控制器节点上安装和配置代号为nova的Compute服务。

 

先决条件

在安装和配置Compute服务之前,必须创建数据库,服务凭据和API端点。

 

要创建数据库,请完成以下步骤:

 

使用数据库访问客户端以root用户身份连接到数据库服务器 :

$ mysql -u root -p

创建nova_apinovanova_cell0数据库:

MariaDB [(none)]> CREATE DATABASE nova_api;

MariaDB [(none)]> CREATE DATABASE nova;

MariaDB [(none)]> CREATE DATABASE nova_cell0;

授予对数据库的适当访问权限:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \

  IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \

  IDENTIFIED BY 'NOVA_DBPASS';

 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \

  IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \

  IDENTIFIED BY 'NOVA_DBPASS';

 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \

  IDENTIFIED BY 'NOVA_DBPASS';

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \

  IDENTIFIED BY 'NOVA_DBPASS';

替换NOVA_DBPASS为合适的密码。

>exit

退出数据库访问客户端。

 

来源admin凭据来访问仅管理员CLI命令:

$ . admin-openrc

创建Compute服务凭据:

 

创建nova用户:

 

$ openstack user create --domain default --password-prompt nova

 

User Password:

Repeat User Password:

+---------------------+----------------------------------+

| Field               | Value                            |

+---------------------+----------------------------------+

| domain_id           | default                          |

| enabled             | True                             |

| id                  | 8a7dbf5279404537b1c7b86c033620fe |

| name                | nova                             |

| options             | {}                               |

| password_expires_at | None                             |

+---------------------+----------------------------------+

Add the admin role to the nova user:

 

$ openstack role add --project service --user nova admin

 Note

 

This command provides no output.

 

Create the nova service entity:

 

$ openstack service create --name nova \

  --description "OpenStack Compute" compute

 

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description | OpenStack Compute                |

| enabled     | True                             |

| id          | 060d59eac51b4594815603d75a00aba2 |

| name        | nova                             |

| type        | compute                          |

+-------------+----------------------------------+

Create the Compute API service endpoints:

 

$ openstack endpoint create --region RegionOne \

  compute public http://controller:8774/v2.1

 

+--------------+-------------------------------------------+

| Field        | Value                                     |

+--------------+-------------------------------------------+

| enabled      | True                                      |

| id           | 3c1caa473bfe4390a11e7177894bcc7b          |

| interface    | public                                    |

| region       | RegionOne                                 |

| region_id    | RegionOne                                 |

| service_id   | 060d59eac51b4594815603d75a00aba2          |

| service_name | nova                                      |

| service_type | compute                                   |

| url          | http://controller:8774/v2.1               |

+--------------+-------------------------------------------+

 

$ openstack endpoint create --region RegionOne \

  compute internal http://controller:8774/v2.1

 

+--------------+-------------------------------------------+

| Field        | Value                                     |

+--------------+-------------------------------------------+

| enabled      | True                                      |

| id           | e3c918de680746a586eac1f2d9bc10ab          |

| interface    | internal                                  |

| region       | RegionOne                                 |

| region_id    | RegionOne                                 |

| service_id   | 060d59eac51b4594815603d75a00aba2          |

| service_name | nova                                      |

| service_type | compute                                   |

| url          | http://controller:8774/v2.1               |

+--------------+-------------------------------------------+

 

$ openstack endpoint create --region RegionOne \

  compute admin http://controller:8774/v2.1

 

+--------------+-------------------------------------------+

| Field        | Value                                     |

+--------------+-------------------------------------------+

| enabled      | True                                      |

| id           | 38f7af91666a47cfb97b4dc790b94424          |

| interface    | admin                                     |

| region       | RegionOne                                 |

| region_id    | RegionOne                                 |

| service_id   | 060d59eac51b4594815603d75a00aba2          |

| service_name | nova                                      |

| service_type | compute                                   |

| url          | http://controller:8774/v2.1               |

+--------------+-------------------------------------------+

Create a Placement service user using your chosen PLACEMENT_PASS:

 

$ openstack user create --domain default --password-prompt placement

 

User Password:

Repeat User Password:

+---------------------+----------------------------------+

| Field               | Value                            |

+---------------------+----------------------------------+

| domain_id           | default                          |

| enabled             | True                             |

| id                  | fa742015a6494a949f67629884fc7ec8 |

| name                | placement                        |

| options             | {}                               |

| password_expires_at | None                             |

+---------------------+----------------------------------+

Add the Placement user to the service project with the admin role:

 

$ openstack role add --project service --user placement admin

 Note

 

This command provides no output.

 

Create the Placement API entry in the service catalog:

 

$ openstack service create --name placement --description "Placement API" placement

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description | Placement API                    |

| enabled     | True                             |

| id          | 2d1a27022e6e4185b86adac4444c495f |

| name        | placement                        |

| type        | placement                        |

+-------------+----------------------------------+

Create the Placement API service endpoints:

 

$ openstack endpoint create --region RegionOne placement public http://controller:8778

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | 2b1b2637908b4137a9c2e0470487cbc0 |

| interface    | public                           |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 2d1a27022e6e4185b86adac4444c495f |

| service_name | placement                        |

| service_type | placement                        |

| url          | http://controller:8778           |

+--------------+----------------------------------+

 

$ openstack endpoint create --region RegionOne placement internal http://controller:8778

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | 02bcda9a150a4bd7993ff4879df971ab |

| interface    | internal                         |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 2d1a27022e6e4185b86adac4444c495f |

| service_name | placement                        |

| service_type | placement                        |

| url          | http://controller:8778           |

+--------------+----------------------------------+

 

$ openstack endpoint create --region RegionOne placement admin http://controller:8778

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | 3d71177b9e0f406f98cbff198d74b182 |

| interface    | admin                            |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 2d1a27022e6e4185b86adac4444c495f |

| service_name | placement                        |

| service_type | placement                        |

| url          | http://controller:8778           |

+--------------+----------------------------------+

安装和配置组件

 注意

 

默认配置文件因分发而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号()表示您应保留的潜在默认配置选项。

 

安装包:

# yum install openstack-nova-api openstack-nova-conductor \

  openstack-nova-console openstack-nova-novncproxy \

  openstack-nova-scheduler openstack-nova-placement-api

编辑/etc/nova/nova.conf文件并完成以下操作:

 

在该[DEFAULT]部分中,仅启用计算和元数据API:

[DEFAULT]

# ...

enabled_apis = osapi_compute,metadata

[api_database][database]部分中,配置数据库访问:

[api_database]

# ...

connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

[database]

# ...

connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova

替换NOVA_DBPASS为您为Compute数据库选择的密码。

在该[DEFAULT]部分中,配置RabbitMQ消息队列访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:RABBIT_PASS@controller

替换RABBIT_PASS为您为openstack 帐户选择的密码RabbitMQ。

在[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在Identity服务中为用户选择的密码。

 

 注意

 

注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。

在该[DEFAULT]部分中,配置my_ip选项以使用控制器节点的管理接口IP地址:

[DEFAULT]

# ...

my_ip = 172.31.31.135

In the [DEFAULT] section, enable support for the Networking service:

[DEFAULT]

# ...

use_neutron = True

firewall_driver = nova.virt.firewall.NoopFirewallDriver

In the [vnc] section, configure the VNC proxy to use the management interface IP address of the controller node:

[vnc]

enabled = true

# ...

server_listen = $my_ip

server_proxyclient_address = $my_ip

In the [glance] section, configure the location of the Image service API:

[glance]

# ...

api_servers = http://controller: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]

# ...

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为您placement在Identity服务中为用户选择的密码 。注释掉该[placement]部分中的任何其他选项。

由于打包错误,您必须通过将以下配置添加到以下内容来启用对Placement API的访问 /etc/httpd/conf.d/00-nova-placement-api.conf

<Directory /usr/bin>

   <IfVersion >= 2.4>

      Require all granted

   </IfVersion>

   <IfVersion < 2.4>

      Order allow,deny

      Allow from all

   </IfVersion>

</Directory>

 

Restart the httpd service:

 

# systemctl restart httpd

填充nova-api数据库:

# su -s /bin/sh -c "nova-manage api_db sync" nova

注意

 

忽略此输出中的任何弃用消息。

 

注册cell0数据库:

# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

创建cell1单元格:

# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova

109e1d4b-536a-40d0-83c6-5f121b82b650

Populate the nova database:

 

# su -s /bin/sh -c "nova-manage db sync" nova

Verify nova cell0 and cell1 are registered correctly:

 

# nova-manage cell_v2 list_cells

+-------+--------------------------------------+

| Name  | UUID                                 |

+-------+--------------------------------------+

| cell1 | 109e1d4b-536a-40d0-83c6-5f121b82b650 |

| cell0 | 00000000-0000-0000-0000-000000000000 |

+-------+--------------------------------------+

完成安装

启动Compute服务并将其配置为在系统引导时启动:

 

# systemctl enable openstack-nova-api.service \

  openstack-nova-consoleauth.service openstack-nova-scheduler.service \

  openstack-nova-conductor.service openstack-nova-novncproxy.service

# systemctl start openstack-nova-api.service \

  openstack-nova-consoleauth.service openstack-nova-scheduler.service \

  openstack-nova-conductor.service openstack-nova-novncproxy.service

 

为Red Hat Enterprise Linux和CentOS安装和配置计算节点

 

本节介绍如何在计算节点上安装和配置Compute服务。该服务支持多个虚拟机管理程序来部署实例或虚拟机(VM)。为简单起见,此配置使用Quick EMUlator(QEMU)虚拟机管理程序和支持虚拟机硬件加速的计算节点上的基于内核的VM(KVM)扩展。在传统硬件上,此配置使用通用QEMU管理程序。您可以按照这些说明进行微小修改,以使用其他计算节点水平扩展您的环境。

 

 注意

 

本节假定您按照本指南中的说明逐步配置第一个计算节点。如果要配置其他计算节点,请以与示例体系结构部分中的第一个计算节点类似的方式准备它们。每个附加计算节点都需要唯一的IP地址。

 

安装和配置组件

 注意

 

默认配置文件因分发而异。您可能需要添加这些部分和选项,而不是修改现有的部分和选项。此外,...配置片段中的省略号()表示您应保留的潜在默认配置选项。

安装包:

# yum install openstack-nova-compute

编辑/etc/nova/nova.conf文件并完成以下操作:

 

在该[DEFAULT]部分中,仅启用计算和元数据API:

[DEFAULT]

# ...

enabled_apis = osapi_compute,metadata

在该[DEFAULT]部分中,配置RabbitMQ消息队列访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:RABBIT_PASS@controller

替换RABBIT_PASS为您为openstack 帐户选择的密码RabbitMQ。

在[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在Identity服务中为用户选择的密码。

 

 注意

 

注释掉或删除该[keystone_authtoken] 部分中的任何其他选项。

在该[DEFAULT]部分中,配置my_ip选项:

[DEFAULT]

#...

my_ip  =  172.31.31.136

替换MANAGEMENT_INTERFACE_IP_ADDRESS为计算节点上管理网络接口的IP地址,对于示例体系结构中的第一个节点,通常为10.0.0.31 。

 

在该[DEFAULT]部分中,启用对网络服务的支持:

[DEFAULT]

# ...

use_neutron = True

firewall_driver = 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浏览器访问此计算节点上的实例的远程控制台的位置。

 

 注意

 

如果要访问远程控制台的Web浏览器驻留在无法解析controller主机名的主机上,则必须controller使用控制器节点的管理接口IP地址替换 。

在该[glance]部分中,配置Image服务API的位置:

[glance]

# ...

api_servers = http://controller: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://controller:5000/v3

username = placement

password = PLACEMENT_PASS

替换PLACEMENT_PASS为您placement在Identity服务中为用户选择的密码 。注释掉该[placement]部分中的任何其他选项。

完成安装

确定您的计算节点是否支持虚拟机的硬件加速:

$ egrep -c '(vmx|svm)' /proc/cpuinfo

如果此命令返回值,则计算节点支持硬件加速,通常不需要其他配置(建议还是把添加qemu,不然实例会黑屏)。

 

如果此命令返回值0,则您的计算节点不支持硬件加速,您必须配置libvirt为使用QEMU而不是KVM。

 

编辑文件中的[libvirt]部分,/etc/nova/nova.conf如下所示:

[libvirt]

# ...

virt_type = qemu

启动Compute服务(包括其依赖项)并将其配置为在系统引导时自动启动:

# systemctl enable libvirtd.service openstack-nova-compute.service

# systemctl start libvirtd.service openstack-nova-compute.service

注意

 

如果nova-compute服务无法启动,请检查 /var/log/nova/nova-compute.log。该错误消息可能表示控制器节点上的防火墙阻止访问端口5672.将防火墙配置为打开控制器节点上的端口5672并重新启动 计算节点上的服务。AMQP server on controller:5672 is unreachablenova-compute

将计算节点添加到单元数据库¶

 重要

 

控制器节点上运行以下命令。

 

获取管理员凭据以启用仅管理CLI命令,然后确认数据库中有计算主机:

$ . 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 |

+----+-------+--------------+------+-------+---------+----------------------------+

发现计算主机:

# 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

 

验证操作

 

验证Compute服务的运行。

 

 注意

控制器节点上执行这些命令。

 

来源admin凭据来访问仅管理员CLI命令:

$ . admin-openrc

列出服务组件以验证每个进程的成功启动和注册:

 

$ openstack compute service list

 

+----+--------------------+------------+----------+---------+-------+----------------------------+

| Id | Binary             | Host       | Zone     | Status  | State | Updated At                 |

+----+--------------------+------------+----------+---------+-------+----------------------------+

|  1 | nova-consoleauth   | controller | internal | enabled | up    | 2016-02-09T23:11:15.000000 |

|  2 | nova-scheduler     | controller | internal | enabled | up    | 2016-02-09T23:11:15.000000 |

|  3 | nova-conductor     | controller | internal | enabled | up    | 2016-02-09T23:11:16.000000 |

|  4 | nova-compute       | compute1   | nova     | enabled | up    | 2016-02-09T23:11:20.000000 |

+----+--------------------+------------+----------+---------+-------+----------------------------+

 

注意

 

此输出应指示控制器节点上启用的三个服务组件以及计算节点上启用的一个服务组件。

 

列出Identity服务中的API端点以验证与Identity服务的连接:

 

 注意

 

端点列表可能会有所不同,具体取决于OpenStack组件的安装。

$ openstack catalog list

 

+-----------+-----------+-----------------------------------------+

| Name      | Type      | Endpoints                               |

+-----------+-----------+-----------------------------------------+

| keystone  | identity  | RegionOne                               |

|           |           |   public: http://controller:5000/v3/    |

|           |           | RegionOne                               |

|           |           |   internal: http://controller:5000/v3/  |

|           |           | RegionOne                               |

|           |           |   admin: http://controller:5000/v3/     |

|           |           |                                         |

| glance    | image     | RegionOne                               |

|           |           |   admin: http://controller:9292         |

|           |           | RegionOne                               |

|           |           |   public: http://controller:9292        |

|           |           | RegionOne                               |

|           |           |   internal: http://controller:9292      |

|           |           |                                         |

| nova      | compute   | RegionOne                               |

|           |           |   admin: http://controller:8774/v2.1    |

|           |           | RegionOne                               |

|           |           |   internal: http://controller:8774/v2.1 |

|           |           | RegionOne                               |

|           |           |   public: http://controller:8774/v2.1   |

|           |           |                                         |

| placement | placement | RegionOne                               |

|           |           |   public: http://controller:8778        |

|           |           | RegionOne                               |

|           |           |   admin: http://controller:8778         |

|           |           | RegionOne                               |

|           |           |   internal: http://controller:8778      |

|           |           |                                         |

+-----------+-----------+-----------------------------------------+

注意

 

忽略此输出中的任何警告。

 

列出Image服务中的图像以验证与Image服务的连接:

$ openstack image list

 

+--------------------------------------+-------------+-------------+

| ID                                   | Name        | Status      |

+--------------------------------------+-------------+-------------+

| 9a76d9f9-9620-4f2e-8c69-6c5691fae163 | cirros      | active      |

+--------------------------------------+-------------+-------------+

检查单元格和放置API是否成功运行:

# 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             |

+---------------------------+

Openstack Queens版本双节点架构笔记1,虚拟机环境安装: https://blog.csdn.net/qq_38387984/article/details/83245908 

Openstack Queens版本双节点架构笔记2,Openstack环境安装: https://blog.csdn.net/qq_38387984/article/details/83245941

Openstack Queens版本双节点架构笔记3,Keystone安装:https://blog.csdn.net/qq_38387984/article/details/83274421

Openstack Queens版本双节点架构笔记4,Glance安装:https://blog.csdn.net/qq_38387984/article/details/83274547

Openstack Queens版本双节点架构笔记5,Nova安装:https://blog.csdn.net/qq_38387984/article/details/83274567

Openstack Queens版本双节点架构笔记6,Neutron安装:https://blog.csdn.net/qq_38387984/article/details/83274578

Openstack Queens版本双节点架构笔记7,Dashboard安装:https://blog.csdn.net/qq_38387984/article/details/83274601

Openstack Queens版本双节点架构笔记8,验证Databoard实例 https://blog.csdn.net/qq_38387984/article/details/83502979

Openstack Queens版本双节点架构笔记9,Ceph安装1: https://blog.csdn.net/qq_38387984/article/details/83502996

Openstack Queens版本双节点架构笔记10,Ceph安装2:https://blog.csdn.net/qq_38387984/article/details/83503016

Openstack Queens版本双节点架构笔记11,Ceph安装3:https://blog.csdn.net/qq_38387984/article/details/83503033

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值