故障转移后Redis主机后备

时间:2016-10-26 01:12:26

标签: redis redis-sentinel

我们正在尝试将我们的redis / sentinel群集从2.8升级到3.2。 在交通繁忙的情况下,升级将会发生。我们不接受停机时间。

我们的设置有6个redis / sentinels(3个站点,每个站点2个服务器,每个服务器有一个redis和sentinel运行实例)。显然我们有1个主人和5个奴隶。我们计划逐个升级我们的服务器,将我们的主服务器作为最后一个升级服务器。

当我们准备升级我们的主站时,所有从站将在3.2上运行,并且那些从站能够与在2.8上运行的主站同步 一旦我们停止我们的主服务器(2.8)或手动请求故障转移,新服务器(3.2)将成为主服务器。

我们希望让我们的老主人(2.8)保持一段时间,以便能够在我们的新设置发现任何问题的情况下回退。不幸的是,由于RDB格式不同,旧的redis(2.8)slave无法与新的master(3.2)同步。 我们可以停止我们的旧服务器,slave(2.8),但是如果我们发现3.2的问题,我们也希望能够作为主服务器回退到2.8。 由于2.8无法与3.2同步,因此不会有任何数据,因此不能被哨兵选为新的主人。

问题是如何在不丢失任何数据的情况下从3.2回退到2.8?

1 个答案:

答案 0 :(得分:0)

我不建议保留2.8节点作为后备。就像你提到的那样,你无法同步3.2 - > 2.8所以回落到2.8意味着对3.2的所有写入都将丢失。

我建议您设置一个运行3.2的暂存环境,并执行您需要执行的任何测试。一旦您对此感到相对自信,请备份您的生产数据库并完成迁移过程。