Joh*_*n Z 15 storage amazon-ec2 amazon-web-services cassandra
我正在从物理机器到ec2实例进行大规模迁移.
截至目前,我有3个x.large节点,每个节点有4个实例存储驱动器(raid-0 1.6TB).在我这样设置之后,我记得"实例存储卷上的数据仅在关联的Amazon EC2实例的生命周期内持续存在;如果停止或终止实例,实例存储卷上的任何数据都将丢失."
人们通常在这种情况下做什么?我担心,如果其中一个盒子崩溃,那么如果不是100%在另一个盒子上复制,那么所有数据都将在该盒子上丢失.
http://www.hulen.com/?p=326 我在上面的链接中读到这些人使用ephermal驱动器并使用EBS驱动器和快照定期备份内容."
在这里的这个问题:我如何备份aws ec2实例/临时存储? 人们声称您无法将ephermal数据备份到EBS快照上.
我最好选择使用几个EBS驱动器并将它们组合在一起并能够直接从它们拍摄快照吗?我知道这可能是最昂贵的解决方案,但它似乎最有意义.
任何信息都会很棒.
感谢您的时间.
Ary*_*rya 50
我在EC2上运行Cassandra超过2年.要解决您的问题,您需要在EC2上为您的Cassandra集群构建适当的可用性架构.这是一个供您考虑的项目清单:
以上两个提示应满足AWS中的基本可用性,如果您使用LOCAL_QUORUM发送查询,即使一个区域出现故障,您的应用程序也会正常运行.
如果您担心2个区域出现故障(请勿回忆起我在过去2年中使用过AWS),那么您还可以向群集中添加另一个区域.
有了上述内容,如果任何节点因任何原因而死亡,您可以从其他区域中的节点恢复它.毕竟,CAssandra旨在为您提供这种可用性.
关于EBS vs Ephemeral:
我一直反对在任何生产中使用EBS卷,因为它是可用性方面最糟糕的AWS服务之一.它们每年都会下降几次,它们的缺点通常会流向其他AWS服务,如ELB和RDS.它们也像附加的网络存储,因此任何读/写都必须通过网络.不要使用它们.甚至DataStax也不推荐它们:
关于备份:
我使用了一个名为Priam(https://github.com/Netflix/Priam)的解决方案,该解决方案由Netflix编写.它可以拍摄群集的夜间快照,并将所有内容复制到S3.如果启用incremental_backups,它还会将增量备份上载到S3.如果节点出现故障,您可以使用简单的API调用在特定节点上触发恢复.它可以更快地恢复,并且不会在您的其他节点上放置大量的流负载.我还添加了一个补丁,让你做一些奇特的事情,比如在一个AWS区域内启动多个DC.
你可以在这里阅读我的设置:http: //aryanet.com/blog/shrinking-the-cassandra-cluster-to-fewer-nodes
希望以上有所帮助
这真的取决于你的数据.但首先,您必须考虑Cassandra有自己的备份/复制机制.如果其中一个节点发生故障,其他节点仍将设置您的数据.复制因子越高,您的数据就越"安全",复制因子越高,您需要的Cassandra节点就越多.
如果您的数据非常关键,您必须问自己,您是否可以有效地重建数据而无需在短暂存储中进行备份?你在寻找更好的表现吗?短暂存储比EBS执行得更好,如果您的应用程序是读/写密集型的,它会很好用.在我们的例子中,我们使用Cassandra和短暂的存储空间来填充我们已经存储在Amazon S3中的数据.
如果您无法重建数据并且数据非常关键并且您不信任Cassandra,则可以始终使用EBS,从而降低性能.Cassandra的问题在于,如果群集中的所有节点都相同,它的效果最佳.所以说一些节点短暂支持并且一些节点EBS支持并不容易.除非你想用EBS支持的集群完全复制你的短暂集群,否则它不是直截了当的.
由于主从设置,您可以使用EBS支持的实例(从临时存储实例)更轻松地复制mysql或couchdb实例.例如,您可以使您的mysql主服务器在临时存储实例上运行,并且您的mysql从服务器在EBS支持的实例上运行.
关于Ephemeral与EBS的另一个讨论在这里:
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
13577 次 |
| 最近记录: |