Riak群集备份

时间:2015-03-05 09:32:05

标签: riak database nosql

我们在Amazon EC2上运行的五个节点Riak集群(n_val为3)分布在多个可用区域中。由于我们没有企业版,因此​​我们没有多数据中心复制和完全同步到不同区域/区域的奢侈品。

我们目前的备份策略是:

  • 通过SSH连接群集中的每个节点,一次一个节点
  • 使用riak stop停止riak服务(因为我们正在使用leveldb后端)
  • 为具有riak数据的数据卷发布EBS快照
  • 使用riak start
  • 启动riak服务
  • 转到另一个节点并重复上述步骤

我已经在3节点测试集群上测试了这种方法,该节点没有太多的实时活动,并且从快照中恢复而没有问题。我想从这里的专家那里了解这种方法对于活动量很大的生产集群是否有效。在关闭节点和再次启动节点期间,我们是否会遇到与切换相关的任何问题?还有其他我不知道的东西,当灾难发生时可能会妨碍恢复的机会吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

backup documentation表示

  

可以使用支持快照的操作系统功能或文件系统(如LVM或ZFS)或使用rsync或tar等工具执行Riak备份

我从未使用EBS快照,但我非常确定它可以被视为支持快照的"文件系统"

因此,只要在备份之前关闭每个节点,就应该是好的。

关于切换:我建议在备份节点A之后,在备份下一个节点B之前,等待创建的所有切换(因为A已经关闭)已经转移到A。

小心不要考虑所有单个节点的备份与整个群集的备份相同"。每个节点都将单独备份。如果您的群集负载很重,并且等待在备份之间传输切换,那么您就不能认为您的节​​点备份是在同一时间完成的。

这不是什么大问题:当您从备份恢复节点时,您可以触发读取修复,或等待AAE为您修复数据。当您从备份中恢复节点时,您可能希望将AAE配置为更积极。