ExoGENI:多域IaaS测试床的架构与工具解析
立即解锁
发布时间: 2025-08-27 00:01:09 阅读量: 5 订阅数: 12 


GENI:下一代互联网实验平台
### ExoGENI:多域 IaaS 测试床的架构与工具解析
#### 1. 可扩展配置
ExoGENI 由多个层次组成,融合了现成软件、定制软件和多样化的硬件。为了给用户呈现相对统一的功能视图并确保安全性,需要解决跨站点各元素配置的一致性问题,同时考虑硬件和软件部署的差异。为此,采用了双管齐下的方法:一方面减少管理员的配置工作量,另一方面实现跨机架配置过程的自动化。
- **Puppet 自动化配置**
- **选择原因**:Puppet 具有模块化和可定制性,能重用现有配置模块,必要时编写自定义模块,支持 ExoGENI 定制组件的配置。其模板化特性可在保持一致性的同时进行定制。
- **部署方式**:最初采用完全分层的部署方式,但在联合系统中,当机架控制权由 ExoGENI 运营商和校园所有者共享时效果不佳。最终,基于中央仓库的版本控制系统存储和更新的模板,将 Puppet 配置部署到每个机架的头节点。
- **功能实现**:在部分安装的头节点上安装 Puppet 及其模板,触发头节点和工作节点上所有软件的安装、文件权限调整和配置文件的自动生成,显著减少机架设置时间并保证一致性。在正常运行中,用于管理用户白名单、部署配置文件更改和更新软件。
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(部分安装头节点):::process --> B(安装Puppet及模板):::process
B --> C(触发软件安装):::process
B --> D(调整文件权限):::process
B --> E(自动生成配置文件):::process
C & D & E --> F(完成机架设置):::process
F --> G(正常运行):::process
G --> H(管理用户白名单):::process
G --> I(部署配置文件更改):::process
G --> J(更新软件):::process
```
- **CouchDB 分布式注册表服务**
- **使用场景**:用于建立不同机架中 ORCA 参与者之间的安全关联。由于 ORCA 依赖自签名证书和私钥建立关系,手动传播证书不可行,因此使用 CouchDB 注册表存储参与者证书。
- **工作流程**:每个参与者启动时自动向注册表服务注册其 GUID、证书和其他元数据,操作员通过 CouchDB 自定义插件界面批准参与者为“可信”,其他参与者可请求批准参与者的信息,自动创建信任关系。
- **选择原因**:CouchDB 相对成熟,支持主 - 主复制,分布式特性使其对单个实例故障具有弹性,主 - 主复制功能允许客户端选择任何副本进行更新,更改最终会传播到其他主节点。
| 服务特性 | 描述 |
| --- | --- |
| 存储内容 | 参与者证书、stitchports 元数据 |
| 优势 | 减少操作员工作量、建立信任关系、支持分布式部署 |
#### 2. 监控
ExoGENI 操作的另一个重要方面是对硬件和软件基础设施的监控,主要包括两个任务:
- **组件存活检查**:使用 Nagios CheckMK 进行组件存活监控和性能信息收集。CheckMK 独立部署在每个机架中监控机架组件,还有一个额外的实例监控 ExoGENI 的其他组件。
- **虚拟与物理资源映射监控**:结合 XMPP pubsub 和自定义工具 Blowhole 收集、分发和存储虚拟与物理资源的映射信息。采用发布 - 订阅范式,使用 OpenFire 开源 XMPP 服务器,支持客户端订阅特定切片的清单,当控制器发布更新清单时通知客户端。Blowhole 作为 XMPP 客户端,可对控制器生成的清单执行多种操作。
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(硬件和软件基础设施):::process --> B(CheckMK监控):::process
A --> C(控制器):::process
C --> D(生成切片清单):::process
D --> E(XMPP服务器):::process
E --> F(客户端订阅):::process
E --> G(Blowhole):::process
G --> H(保存到历史数据库):::process
G --> I(转换为RSpec):::process
G --> J(发布到GMOC):::process
G --> K(解析提供映射信息):::process
B & K --> L(综合监控信息):::process
```
#### 3. 管理
为了支持 ExoGENI 测试床的运行,需要管理 ORCA 参与者的状态,满足联合环境中共享责任和不同子集管理的需求。
- **从门
0
0
复制全文
相关推荐










