1.前言
Openstack计算服务通过认证服务获取认证;通过镜像服务获取镜像;通过仪表盘提供的用户界面与用户交互。镜像的存取受工程和用户的限制,配额受工程的限制(例如不同工程允许虚拟机实例数量不同)。Openstack计算服务可以在标准硬件上进行横向扩展,可以下载镜像并开启虚拟机实例。
Openstack计算服务包含如下几部分,每部分都对应一个组件:
nova-api
接收并响应终端用户的计算服务API调用。该服务执行若干策略并且发起大多数编排行为,比如运行某个虚拟机实例。
nova-api-metadata 服务
接收来自虚拟机实例的元数据请求。当用户处在多主机模式中与nova-network协作时,通常会使用nova-api-metadata 。更多信息参考Metadata service in the OpenStack Administrator Guide.nova-compute service
一个守护进程(worker daemon),通过虚拟机管理程序的API来创建和销毁虚拟机实例。例如:
XenAPI for XenServer/XCP
libvirt for KVM or QEMU
VMwareAPI for VMware
处理过程是相当复杂的。基本的,该进程接收队列中的动作并且声称一系列系统命令,例如启动一个KVM实例或者在数据库中更新它的状态。nova-scheduler service
从队列中获取虚拟机实例的请求并决定其运行在哪个实际的计算服务节点。nova-conductor module
提供nove-compute服务与数据库的交互方式,防止nova-compute服务与云计算系统数据库有直接的交互。Nova-conductor支持横向扩展。需要注意的是,不要将nova-conductor服务部署在运行着nova-compute服务的节点上。更多信息,参见metadata service
理论上,Openstack计算服务支持任何形式的关系型数据库。一般情况下,测试与研发过程多使用SQLite3,还包括MySQL,PostgreSQL。
2.控制节点安装
2.1安装前提
在安装和配置Nova前,需要创建数据库,服务认证和API endpoint。
2.1.1 创建数据库
创建使用root用户登陆数据库client:
mysql -u root -p
2.创建nova-api和nova数据库
MariaDB [(none)]> CREATE DATABASE nova_api;
MariaDB [(none)]> CREATE DATABASE nova;
3.给数据库赋予权限
NOVA_DBPASS用合适的密码替代:123456
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
GRANT