openstack-train安装 · 2022年10月8日 0

手动部署OpenStack Train双节点-安装nova(计算节点)

一、在计算点安装与配置Nova

官方说明文档

1、安装Nova软件包

在计算节点只需要安装Nova的计算模块“nova-compute”,按照以下方法进行安装。

[root@compute ~]# yum -y install openstack-nova-compute 

2、修改Nova配置文件

(1)将配置文件去掉注释和空行
第1步,备份配置文件。

[root@compute ~]# cp /etc/nova/nova.conf /etc/nova/nova.bak

第2步,去掉所有注释和空行,生成新的配置文件。

[root@compute ~]# grep -Ev '^$|#' /etc/nova/nova.bak >/etc/nova/nova.conf

这里的正则表达式“^|#”的具体含义为:匹配空行(“^”,其中“^”是一行的开头,“$”是一行的结尾),或者(符号“|”表示或者)匹配第一个字符为“#”的行。结合反向匹配参数“-v”,最终匹配的是所有不为空和不以注释符号“#”开头的行。
2)编辑新的配置文件
第1步,打开配置文件进行编辑。

[root@compute ~]#  nano /etc/nova/nova.conf

第2步,修改“[api]”与“[keystone_authtoken]”部分,实现与Keystone交互。

[api]
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://controller:5000/v3/
auth_url = http://controller:5000/v3/
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = project
username = nova
password = 000000

第3步,修改“[placement]”部分,实现与Placement交互。

auth_url = http://controller:5000/v3/
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = project
username = placement
password = 000000
region_name = RegionOne

第4步,修改“[glance]”部分,实现与Glance交互。

api_servers = http://controller:9292

第5步,修改“[oslo_concurrency]”,配置锁路径。

lock_path = /var/lib/nova/tmp

第6步,修改“[DEFAULT]”部分,配置使用消息队列及防火墙等信息。

enabled_apis = osapi_compute,metadata           
transport_url = rabbit://rabbitmq:000000@controller:5672
my_ip = 192.168.100.20
use_neutron = true
firewall_driver = nova.virt.firewall.NoopFirewallDriver

第7步,修改“[vnc]”部分,配置VNC连接模式。

[vnc]
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html

文件内容中的“”表示取变量值,因此“my_ip”就是指在“[DEFAULT]”中定义的“my_ip”的值“192.168.100.20”。novncproxy_base_url的值是VNC控制台网页
第8步,配置“[libvirt]”部分,设置虚拟化类型为QEMU。

[libvirt]
virt_type = qemu

3、启动计算节点Nova服务

首先,设置开机启动服务。

[root@compute ~]#  systemctl enable libvirtd openstack-nova-compute

然后,立即启动服务。

[root@compute ~]#  systemctl start libvirtd openstack-nova-compute 

其中的“libvirtd”是管理虚拟化平台的开源的接口应用,提供对KVM、Xen、VMware ESX,QEMU和其他虚拟化程序的统一管理接口服务。

二、发现计算节点并检验服务

以下操作在控制节点完成

1、发现计算节点

每当一个计算节点要加入系统时,需要在控制节点执行一次发现计算节点的操作,只有被控制节点发现的计算节点才能被映射为一个单元,成为OpenStack云计算平台中的一员。
(1)导入环境变量模拟登录

[root@controller ~]#  . admin-login  

(2)发现新的计算节点

[root@controller ~]# su nova -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose"
Found 2 cell mappings.
Getting computes from cell 'cell1': 2b5b8233-7400-489f-b608-8460478a31c7
Checking host mapping for compute host 'compute': 0448d81d-9698-41c3-a656-0fd1201bd9a1
Creating host mapping for compute host 'compute': 0448d81d-9698-41c3-a656-0fd1201bd9a1
Found 1 unmapped computes in cell: 2b5b8233-7400-489f-b608-8460478a31c7
Skipping cell0 since it does not contain hosts.

(3)设置自动发现
由于OpenStack系统中可以有多个计算节点的存在,每增加一个新的节点就需要执行上面的命令进行发现。可以设置每隔一段时间就自动执行发现命令一次。
第1步,打开配置文件,修改“[scheduler]”,设置每隔60s自动执行发现一次。

[root@controller ~]# nano /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval = 60

第2步,重启“nova-api”服务,使修改过的配置文件生效。

[root@controller ~]# systemctl restart openstack-nova-api

2、验证nova服务服务

这里介绍3中检验nova组件运行状况的方法,均在控制节点上执行
(1)查看计算服务列表
用以下代码查看计算服务中各个模块的服务状态。

[root@controller ~]# openstack compute service list
+----+----------------------+------------+-----------+------------+----------+-------------------------------------------+
| ID  | Binary                 | Host          | Zone     | Status    | State   | Updated At                                  |
+----+----------------------+-------------+----------+-------------+---------+-------------------------------------------+
|  5  | nova-conductor  | controller | internal | enabled  | up       | 2021-09-22T13:12:04.000000     |
|  7  | nova-scheduler  | controller | internal | enabled  | up       | 2021-09-22T13:12:05.000000     |
|  8  | nova-compute    | compute  | nova     | enabled  | up       | 2021-09-22T13:11:57. 000000    |
+----+----------------------+-------------+-----------+------------+---------+-------------------------------------------+

在控制节点运行的“nova-conductor”“nova-scheduler”和在计算节点运行的“nova- compute”都处于启用(enabled)和开启(up)状态。
(2)查看所有OpenStack服务及端点列表
用下面的代码查看OpenStack现有的服务和服务对应的端点列表。

[root@controller ~]# openstack catalog list
+-----------+-----------+-----------------------------------------+
| Name      | Type      | Endpoints                               |
+-----------+-----------+-----------------------------------------+
| nova      | compute   | RegionOne                               |
|           |           |   public: http://controller:8774/v2.1   |
|           |           | RegionOne                               |
|           |           |   admin: http://controller:8774/v2.1    |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:8774/v2.1 |
|           |           |                                         |
| glance    | image     | RegionOne                               |
|           |           |   admin: http://controller:9292         |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:9292      |
|           |           | RegionOne                               |
|           |           |   public: http://controller:9292        |
|           |           |                                         |
| keystone  | identity  | RegionOne                               |
|           |           |   admin: http://controller:5000/v3/     |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:5000/v3/  |
|           |           | RegionOne                               |
|           |           |   public: http://controller:5000/v3/    |
|           |           |                                         |
| placement | placement | RegionOne                               |
|           |           |   public: http://controller:8778        |
|           |           | RegionOne                               |
|           |           |   internal: http://controller:8778      |
|           |           | RegionOne                               |
|           |           |   admin: http://controller:8778         |
|           |           |                                         |
+-----------+-----------+-----------------------------------------+

(3)用Nova状态检测工具检查
Nova提供了一个状态检测工具“nova-status”。

[root@controller ~]# 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: Cinder API                  |
| Result: Success                    |
| Details: None                          |
+-----------------------------------------+