通常,要跨多个系统或节点安装和配置 OpenStack。单节点配置适用于测试 OpenStack 产品以及熟悉其功能。但是,单节点配置不适合在生产环境中使用。
每个云只需要一个系统信息显示板实例、一个映像存储和一个身份服务。每个云可以具有任意数量的存储和计算实例。在生产环境中,跨多个节点配置这些服务。根据您对特定云部署的需求评估各个组件,以确定该组件是否应该安装在单独的节点上,以及所需的该类型节点的数量。
控制器节点-运行大多数共享 OpenStack 服务以及其他工具的节点。控制器节点为云提供 API、调度和其他共享服务。控制器节点具有系统信息显示板、映像存储以及身份服务。另外,还在此节点中配置 Nova 计算管理服务以及 Neutron 服务器。
计算节点-安装 VM 实例(也称为 Nova 计算实例)的节点。该节点运行管理这些 VM 实例的计算守护进程。
存储节点-托管数据的节点。
本章中介绍的体系结构在以下三个系统中部署:
下图显示了本章中介绍的体系结构的概括性视图。
图 4-1 三节点配置参考体系结构
此示例体系结构不显示 Swift 对象存储服务。有关配置 Swift 的一般信息,请参见 OpenStack 社区站点上的信息,例如《OpenStack Configuration Reference》(《OpenStack 配置参考》)。有关如何在 Oracle Solaris 系统上配置 Swift 服务的信息,以及其他有关 Oracle Solaris 上的 OpenStack 的信息,请参见 OpenStack for Oracle Solaris 11(适用于 Oracle Solaris 11 的 OpenStack)。
在 Oracle Solaris 中,弹性虚拟交换机 (elastic virtual switch, EVS) 形成 OpenStack 网络的后端。EVS 可促进 VLAN 或 VXLAN 上的 VM 实例之间的通信。这些 VM 实例可以位于同一计算节点上,也可以位于多个计算节点上。有关 EVS 的更多信息,请参阅在 Oracle Solaris 11.2 中管理网络虚拟化和网络资源 中的第 5 章 关于弹性虚拟交换机。
要让不同节点相互通信,控制器节点中的 evsuser、neutron 和 root 的 SSH 公钥必须包含在所有配置的计算节点中的每个 evsuser 的 authorized_keys 文件中。请参阅下图,其中显示 SSH 公钥的分配。该图假设配置了多个计算节点。
有关适用于 Oracle Solaris 系统上 OpenStack 部署的 OpenStack 配置参数列表,请参见 http://www.oracle.com/technetwork/articles/servers-storage-admin/getting-started-openstack-os11-2-2195380.html 中的 "Common Configuration Parameters for OpenStack"(“OpenStack 的常见配置参数”)。
图 4-2 EVS 控制器 SSH 密钥分配