使用Pacemaker实现AWS IoT Greengrass高可用模式
工业物联网环境中的边缘计算停机既不方便又代价高昂。边缘系统需要持续运行以维持业务连续性。虽然AWS IoT Greengrass提供强大的边缘计算能力,但要实现真正企业级的高可用性需要额外的编排。本文展示如何使用集群资源管理器Pacemaker构建具有自动故障转移功能的弹性边缘基础设施。
在本教程中,您将学习使用Pacemaker与AWS IoT Greengrass实施主备和双活高可用模式,包括自动故障转移、状态复制和监控集成。
边缘计算的高可用性挑战
传统云应用程序受益于内置冗余和自动扩展,但边缘应用程序面临独特挑战:
- 物理隔离:边缘设备在连接有限的偏远位置运行
- 资源限制:与云环境不同,边缘资源有限且宝贵
- 服务关键性:边缘故障可能立即停止物理操作
- 恢复复杂性:远程站点的手动干预成本高且速度慢
AWS IoT Greengrass解决了许多边缘计算挑战,但高可用性需要超越单设备部署的周密架构。
Pacemaker如何增强AWS IoT Greengrass
Pacemaker通过集群管理功能帮助构建高可用的AWS IoT Greengrass部署:
经过验证的可靠性
- 在关键任务环境中使用超过十年
- 通过复杂的隔离机制处理复杂故障场景
- 在主备和双活配置中均可工作
AWS IoT Greengrass感知的资源管理
- 监控Greengrass服务运行状况和组件状态
- 管理共享存储以实现无缝状态传输
- 协调依赖服务和网络资源的故障转移
企业级集成
- 与现有Linux基础设施管理集成
- 支持复杂的依赖链和资源约束
- 为合规要求提供详细的日志记录和监控
这些工具共同确保您的边缘工作负载在硬件故障或网络中断期间持续运行。
架构概述:高可用模式
AWS IoT Greengrass高可用性可以通过两种主要模式实现,每种模式针对不同的使用场景进行了优化。
主备配置:最大化数据一致性
此模式最大化数据一致性和自动故障转移——非常适合数据完整性和服务连续性至关重要的关键任务应用程序。一个节点主动运行Greengrass,而另一个节点处于备用模式。基于软件的数据块级复制服务(如分布式复制块设备DRBD)确保节点之间的即时状态同步,实现零数据丢失的故障转移并维护设备身份。
主要优势: 此配置确保故障转移期间完全状态保存,停机时间低于一分钟,对正在进行的交易和关键操作实现零数据丢失,同时无缝维护设备身份、证书和Stream Manager持久性。
实际使用场景: 主备配置在需要零或最小数据丢失的场景中至关重要,例如处理离线支付处理的机上娱乐系统,以及电池制造设施,其中生产线依赖来自关键制造传感器和ML模型输出的连续数据流以保持操作完整性和质量控制。
双活配置:最大吞吐量和可扩展性
此模式最大化吞吐量并为高容量工作负载提供水平扩展。多个独立的Greengrass实例在集群节点上同时运行,智能负载平衡根据节点运行状况和容量分配工作。每个节点使用自己唯一的设备凭据和配置运行。
主要优势: 这些配置支持高吞吐量场景的水平扩展,提高跨节点的资源利用率,并在部分故障下提供优雅降级。
实际使用场景: 双活配置非常适合高容量场景,如汽车零部件制造设施和具有多条生产线的大规模制造操作,其中每个节点处理不同的线段,为实时分析和异常检测提供冗余和增加的处理能力。
配置选择指南
对于需要零数据丢失、共享状态和设备身份保存的应用程序,使用主备配置。当您需要单点控制并能接受低于一分钟的故障转移时间时,此模式效果良好。
当您需要高吞吐量和水平扩展时,使用双活配置。此模式适用于可以独立运行而无需共享状态的应用程序,其中负载分配提供操作优势,并且优雅降级比完全故障转移更可取。
如何实施解决方案
完整的操作手册,包括详细配置示例和测试程序,可在GitHub存储库中获得。这提供了使用Ansible的主备实施自动化,您可以根据特定要求进行自定义。双活设置步骤也可在同一存储库的MANUAL-SETUP-GUIDE中找到。
设置步骤
- 环境设置 克隆存储库并设置开发环境
|
|
- 配置集群密钥 使用Ansible Vault生成和加密集群凭据
|
|
这将创建带有集群身份验证和DRBD复制加密凭据的vars/cluster-vault.yml。
- 准备Greengrass凭据 注意:此方法仅用于测试和演示目的。 从AWS IoT控制台下载Greengrass安装文件。
- 导航到AWS IoT Core控制台 → Greengrass → 核心设备
- 点击"设置一个核心设备" → “使用安装程序下载设置设备”
- 命名您的设备(例如’greengrass-ha-device’)
- 选择或创建事物组
- 下载两个文件并重命名它们:
- 将hash-setup.sh重命名为greengrass-setup.sh
- 将hash.zip重命名为greengrass-certs.zip
- 将文件放置在
files/greengrass/目录中
- 部署和配置 这将部署AWS EC2和必要资源以在AWS上进行测试。
|
|
- 验证和测试 检查集群状态,并可选择运行自动故障转移测试。
|
|
自动化测试验证故障转移期间的资源迁移、DRBD提升和数据一致性。
清理
这将销毁CDK创建的资源。
|
|
结论:企业级边缘计算
AWS IoT Greengrass和Pacemaker共同提供了关键任务边缘部署所需的高可用性。通过使用Pacemaker的集群管理功能,组织可以在可靠性至关重要的地方自信地部署Greengrass。无论您是管理工业控制系统、处理实时分析还是编排边缘AI工作负载,此架构模式都为您的业务可以依赖的弹性、可扩展边缘计算提供了基础。
后续步骤
准备好为您的AWS IoT Greengrass部署实施企业级高可用性了吗?以下是您的前进路径:
存储库:sample-greengrass-ha-pacemaker
- AWS IoT Greengrass文档
- Pacemaker文档
- DRBD用户指南
- 高可用集群最佳实践