OpenStack云计算平台Nova组件需要在控制节点和计算节点分别安装。本篇是控制节点安装部分。
官方说明文档
一、在控制节点安装与配置Nova
1、安装Nova软件包
在控制节点共安装了Nova的4个软件包,它们分别如下。
“openstack-nova-api”:Nova与外部的接口模块。
“openstack-nova-conductor”:Nova传导服务模块,提供数据库访问。
“nova-scheduler”:Nova调度服务模块,用以选择某台主机进行云主机创建。
“openstack-nova-novncproxy”:Nova的虚拟网络控制台( Virtual Network Console,VNC)代理模块,支持用户通过VNC访问云主机。
2、创建Nova的数据库并授权
第1步,用下面的方法进入MariaDB数据库服务器。
第2步,新建“nova_api”“nova_cell0”“nova”数据库。
数据库验证截图:
第3步,给用户授权使用新建数据库。
GRANT ALL PRIVILEGES ON 数据库名. TO ‘nova’@’localhost’ IDENTIFIED BY ‘000000’;
GRANT ALL PRIVILEGES ON 数据库名. TO ‘nova’@’%’ IDENTIFIED BY ‘000000’;
这里数据库名分别是“nova_api”“nova_cell0”“nova”,即6条语句。
第4步,退出数据库
3、修改nova配置文件
(1)将配置文件去掉注释和空行
第1步,备份配置文件。
第2步,去掉所有注释和空行,生成新的配置文件。
这里的正则表达式“^ParseError: KaTeX parse error: Expected 'EOF', got '#' at position 2: |#̲”的具体含义为:匹配空行(“^”,其中“^”是一行的开头,“$”是一行的结尾),或者(符号“|”表示或者)匹配第一个字符为“#”的行。结合反向匹配参数“-v”,最终匹配的是所有不为空和不以注释符号“#”开头的行。
(2)编辑新的配置文件
第1步,打开配置文件进行编辑。
第2步,修改“[api_database]”和“[database]”部分,实现与数据库“nova_api”“nova”的连接。
第3步,修改“[api]”与“[keystone_authtoken]”部分,实现与Keystone交互。
第4步,修改“[placement]”部分,实现与Placement交互。
第5步,修改“[glance]”部分,实现与Glance交互。
[glance]
api_servers = http://controller:9292
第6步,修改“[oslo_concurrency]”,配置锁路径。
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
这里的“/var/lib/nova/tmp”是在安装软件包时由“nova”用户创建的,因此“nova”对它拥有所有权限。不要随意更改该路径。
第7步,修改“[DEFAULT]”部分,配置使用消息队列及防火墙等信息。
第8步,修改“[vnc]”部分,配置VNC连接模式。
文件内容中的“my_ip”就是指在“[DEFAULT]”中定义的“my_ip”的值“192.168.100.10”。
4、初始化Nova的数据库
第1步,初始化“nova_api”数据库。
第2步,创建“cell1”单元,该单元将使用“nova”数据库。
第3步,映射“nova”到“cell0”数据库,使“cell0”的表结构和“nova”的保持一致。
第4步,初始化“nova”数据库,由于映射的存在,在“cell0”中同时创建相同数据表。
5、检查单元注册情况
用下列语句获得已注册的单元列表。
可以看到,当前已经存在“cell0”和“cell1”两个单元。其中“cell0”是用于系统管理的,“cell1”是用于云主机管理的,每增加一个计算节点就应增加一个和“cell1”功能相同的单元。
二、nova组件初始化
1、创建Nova用户并分配角色
第1步,导入环境变量模拟登录。
第2步,在OpenStack云计算平台中创建用户“nova”。
第3步,给用户“nova”分配“admin”角色
2、创建Nova服务及端点
(1)创建服务
创建名为“nova”、类型为“compute”的服务。
(2)创建计算服务端点
OpenStack组件的服务端点有3种,分别对应Admin用户(admin)、内部组件(internal)、公众用户(public)服务的地址。
第1步,创建公众用户访问的服务端点。
第2步,创建内部组件访问的服务端点。
第3步,创建Admin用户访问端点。
3、启动Nova服务
首先,将安装的“openstack-nova-api”“openstack-nova-scheduler”“openstack-nova- conductor”“openstack-nova-novncproxy”四大模块设置为开机启动。
然后,将这4个模块立即启动。
三、检测控制节点的Nova服务
1.查看端口占用情况
由于Nova服务会占用8774和8775端口,通过查看这两个端口是否启用,可以判断Nova服务是否已经运行。
2.查看计算服务列表
如果获得“nova-conductor”和“nova-scheduler”两个在控制节点上的模块均处于开启状态(up),则表示服务正常。
注意:错误解决办法:
如果出现以上错误,请执行以下命令: