我有一个 2 主 6 从 MySQL 数据库环境。一个主服务器是热的,另一个主服务器被视为冷的,只是作为从服务器运行。我不想做一个真正的主 - 主服务器,两个服务器都相互复制。在故障转移期间,我希望冷主服务器开始处理写入命中,而发生故障的主服务器停止,直到我们能够修复并使其成为冷主/从服务器。这可能吗和/或正确吗?
谢谢
參考-有关 MMM 的更多信息
答案1
我更喜欢使用 LinuxHA(心跳)在主动被动设置中使用双主服务器。被动服务器可以用于不同于主动服务器的数据库,这样机器就不会闲置。基础设施取决于您的资源和预算。您可以从其中一个或两个服务器复制只读从服务器。
但坦率地说,听起来你需要做更多的研究,然后才能有人提供任何合适的建议。我建议阅读“高性能 MySQL”,这是目前最好的 MySQL 高级架构书籍之一。
答案2
您可以将此逻辑编码到您的应用程序中。例如,在您的“写入”数据库连接例程中,您可以尝试连接到热主服务器,如果失败,则连接到冷主服务器。
答案3
这应该是对你的问题的评论 - 但我还没有足够的代表来做到这一点。
我不太明白你的问题是什么意思。你是在问“如何自动从发生故障的主服务器故障转移到冷主服务器”吗?
如果是这样,您需要使用 Red Hat Cluster Suite 或 Pacemaker 创建故障转移群集。这些群集由两个主要组件组成:群集成员服务和资源管理。在资源管理组件中,您将指定哪些主机可以运行主数据库。如果当前主服务器发生故障,则幸存的服务器将接管。
对于您的环境,集群管理的唯一实际资源是您的 VIP。