ECS:如何引用高级 ECS 结构层和组件
Summary: 架构指南结构详细信息,供快速参考。
Instructions
有关更多详细信息,请参阅 ECS 体系结构指南白皮书四个代码版本。
织物
结构层提供群集、系统运行状况、软件管理、配置管理、
升级功能和警报。它负责使服务保持运行并管理资源(如
磁盘、容器和网络)。它会跟踪和应对环境变化(如故障检测)
,并提供与系统运行状况相关的警报。结构层包含以下组件:
- 节点代理在每个节点上运行
- 管理主机资源
- 安装服务
- 容器
- 磁盘
- ECS 防火墙
- ECS 网络 — Nile 区域网络 (NAN)
- 用于控制结构的维护(节点维护模式、磁盘等)和升级
- 结构代理依赖于 Hardware Manager / HAL (Hardware Abstraction Layer) 组件来获取磁盘运行状况状态
- 允许作员使用结构 CLI(命令行界面)管理群集和节点 — /opt/emc/caspian/fabric/cli/bin/fcli
- 系统、应用程序运行状况、故障检测和警报
- 跟踪环境变化并做出反应
Lifecycle Manager:应用程序生命周期管理,包括启动服务、恢复、
通知和故障检测。
- 多个生命周期管理器实例在节点子集上运行
- 每个生命周期实例管理节点的子集
- 如果生命周期实例失败,另一个实例将接管
- 群集主要订单群集级别事件
Persistence Manager — 协调和同步 ECS 分布式环境。
注册表 — ECS 软件
的 Docker 映像存储 事件库 — 保存系统上发生的事件集。
硬件管理器 — 向更高级别的服务提供硬件层
的状态、事件信息和资源调配。这些服务已集成以支持商用硬件。
Docker
ECS 作为 Java 应用程序在操作系统上运行,并封装在多个 Docker 容器中
。容器是隔离的,但会共享底层的操作系统资源和硬件。
ECS 软件的某些部分在所有节点上运行,而某些部分则在一个或多个节点上运行。
在 Docker 容器中运行的组件包括:
以及门户和资源调配服务相关的资源和流程。在 ECS 中的每个节点上运行。
结构生命周期 — 包含系统级
监视、配置管理和运行状况管理所需的流程、信息和资源。将始终运行奇数个结构生命周期
实例。例如,有三个实例在四节点
系统上运行,五个实例在八节点系统上运行。
Fabric-zookeeper - 用于协调和同步分布式进程、
配置信息、组和命名服务的集中式服务。它被视为持久性管理器
,在奇数个节点上运行,例如,在八节点系统中运行五个节点。
Fabric-registry — ECS Docker 映像的注册表。每个 ECS 机架上仅运行一个实例。
Additional Information
节点代理
节点代理是用 Java 编写的在所有 ECS 节点上本地运行的轻量级代理。其主要职责
包括管理和控制主机资源(Docker 容器、磁盘、防火墙、网络)和
监控系统进程。管理的示例包括格式化和安装磁盘、打开
所需的端口、确保所有进程正在运行,以及确定公共和专用网络接口。它
具有事件流,可向生命周期管理器提供有序事件以指示系统上
发生的事件。结构 CLI 可用于诊断问题和查看整体系统状态。
生命周期管理器
生命周期管理器在包含三个或五个节点的子集上运行,并管理在节点上运行的应用程序
的生命周期。每个生命周期管理器负责跟踪多个节点。其主要目标是
管理 ECS 应用程序从启动到部署的整个生命周期,包括故障检测、恢复、
通知和迁移。它会查看节点代理流并推动代理处理相关
情况。当节点关闭时,它会通过
将系统还原到已知正常状态来响应节点状态的故障或不一致。如果一个生命周期管理器实例关闭,则另一个实例将取代它。
注册表
注册表包含在安装、升级和节点更换期间使用的 ECS Docker 映像。
名为 fabric-registry 的 Docker 容器在 ECS 机架中的一个节点上运行,并保留 ECS
Docker 映像的存储库以及安装和升级所需的信息。虽然注册表一次只能用于
一个节点,但所有 Docker 映像都本地缓存在每个节点上,因此任何一个映像都可以为注册表提供服务。
事件库
事件库在结构层中用于公开生命周期和节点代理事件流。系统生成的事件
会保存到共享内存和磁盘上,以提供有关 ECS 系统的状态和运行状况的历史信息
。通过重播存储的有序事件,可以使用这些有序事件流将系统恢复到
特定状态。事件的一些示例包括节点事件,如
已启动、已停止或已降级。
硬件管理器
硬件管理器已集成到 Fabric Agent 中,以支持行业标准硬件。其主要
用途是提供特定于硬件的状态和事件信息,以及向 ECS 中的更高级别服务调配硬件层
。
基础设施
ECS 设备节点为基础架构运行 SUSE Linux Enterprise Server 12。对于部署在自定义行业标准硬件上的 ECS 软件
,作系统也可以是 RedHat Enterprise Linux
或 CoreOS。自定义部署使用正式请求和验证过程完成。Docker 安装在
基础架构上,以部署封装的 ECS 层。ECS 软件以 Java 编写,因此,Java 虚拟
机作为基础架构的一部分被安装。