gpt4 book ai didi

故障转移后 Redis master 回退

转载 作者:可可西里 更新时间:2023-11-01 10:56:49 26 4
gpt4 key购买 nike

我们正在尝试将我们的 redis/sentinel 集群从 2.8 升级到 3.2。升级将在交通繁忙的情况下进行。我们不能接受任何停机时间。

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

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

我们希望保留我们的旧 master(2.8) 一段时间,以便在我们发现新设置有任何问题时能够回退。不幸的是,由于不同的 RDB 格式,旧的 redis(2.8) slave 无法与新的 master (3.2) 同步。我们可以停止我们的旧服务器,slave(2.8),但我们也希望能够回退到 2.8 作为 master,以防万一我们发现 3.2 有问题。由于 2.8 无法与 3.2 同步,它不会有任何数据,因此不能被 sentinel 选举为新的 master。

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

最佳答案

我不建议保留 2.8 节点作为备用。正如您提到的,您无法同步 3.2 -> 2.8,因此回落到 2.8 将意味着对 3.2 的所有写入都将丢失。

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

关于故障转移后 Redis master 回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com