Tre*_*ott 4 linux ubuntu redundancy amazon-ec2 fault-tolerance
我有兴趣在 Amazon EC2 上构建两个具有故障转移功能的容错/冗余 NFS 服务器。我熟悉 DRBD、Heartbeat 等工具/技术。亚马逊是否提供了通过他们的平台实现这一目标的任何特定方式?
一个合适的例子可能是文件保存在一个单独的、冗余的 EBS 上——如果发生故障,一个新实例会自动从预先构建的 AMI 启动,安装 EBS 卷,并无缝转换 IP 地址。
这可能吗?有比亚马逊更好的平台吗?你能给我一个关于我们正在谈论的底层架构的广泛概念吗?
在 AWS 上,将 GlusterFS 与弹性负载均衡器和 Auto Scaling EC2 实例结合使用应该可以达到您的要求。我无法评论任何其他 IaaS。
亚马逊确实提供了实现目标所需的一些东西 - 并允许您实施其余部分。
亚马逊的 EC2 服务器本质上是 VPS——你可以在它们上设置 Heartbeat/Corosync/Pacemaker 等(虽然我上次检查过,你不能在他们的网络上使用广播——你可以使用单播——udpu)。
您提到了亚马逊分别(在某种程度上)提出的两个想法:容错和冗余。
EC2 上没有内置的冗余机制,但根据您的需求,有一些方法可以实现它。
另一方面,亚马逊平台更好地提供了容错能力:
除了上述之外,您还可以将自定义参数传递给新启动的实例,或者相当容易地检索有关当前正在运行的实例的信息 - 这可能允许您编写一些设置脚本(当然,AWS 确实有一个 API将让您编写他们提供的所有操作的脚本 - 包括重新映射弹性 IP 地址、启动新实例、分离/附加 EBS 卷等)。
您描述了“文件保存在一个单独的、冗余的 EBS 上......[然后] 安装”。首先,在 EC2 上,一个 EBS 卷一次只能附加到一个实例(因此要将数据复制到它,需要附加 EBS 卷)。由您来维护冗余(您可以设置 EBS 设备的 RAID 阵列,或执行其他任何操作)。但问题是,有时 EBS 卷在实例实际崩溃时不会分离 - 您可以强制分离它们(虽然成功率更高,但不是完美的),并且您可以对 EBS 卷进行快照,即使在使用中(这然后,您可以创建一个新的 EBS 卷并使用它启动 AMI)。不过,最好(恢复时间更短、更灵活等)跨多个实例维护数据副本,而不是跨同一实例上的多个 EBS 卷。
归档时间: |
|
查看次数: |
5172 次 |
最近记录: |