一、在计算点安装与配置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 |
+-----------------------------------------+