标签: master-master

Master-Master 复制的恢复策略

我已经实现了一个基于主-主复制的 mysql HA 解决方案。前端部分有一种机制可以保证在给定时间只有一个 db 将被读/写(即我们只对 HA 使用复制)。

我已经确认复制按预期工作,但我想知道故障场景和恢复。特别是,我担心当一个 master 在不可恢复状态下失败时会发生什么,并且需要从另一个 master 重新创建:

  • 由于另一个主服务器处于活动状态并且很可能被使用,我无法锁定它并从中创建转储mysqldump(我们的数据库相当大,并且mysqldump在使用几个月后很容易花费数小时)。
  • 即使假设我有一个转储,由 SHOW MASTER STATUS 显示的 binlog 位置与数据库锁定后正在执行的转储相对应是至关重要的。

第一个问题的简单解决方案是使用第三个数据库作为备份,我可以从中执行mysqldump. 但是,我如何确保重新创建的 master 可以以一致的方式从正在运行的 master 开始复制?

mysql disaster-recovery mysql-replication master-master

8
推荐指数
1
解决办法
3040
查看次数

预算有限的 Magento 托管

我必须为 Magento 进行设置。我的限制主要是易于设置和容错/故障转移。此外,成本也是一个问题。我有三个相同的物理服务器来完成工作。每个服务器节点在软件 RAID 1 配置中都有一个 i7 四核、16GB RAM 和 2x3TB HD。每个节点都运行 Ubuntu 12.04。马上。我有一个额外的 IP 地址,可以路由到这些节点中的任何一个。

Magento 商店有最大。1000个产品,其中50%是捆绑产品。我估计最大。10 个用户同时处于活动状态。这使我得出结论,性能不是这里的重中之重。

我的第一个设置想法

一个节点 (lb) 将 nginx 作为负载均衡器运行。附加 IP 与域名一起使用并默认路由到此节点。Nginx 将负载平均分配给其他两个节点(shop1、shop2)。Shop1 和 shop2 配置相同:每个服务器运行 Apache2 和 MySQL。Mysqls 配置了主/从复制。

我的故障转移策略:

  • Lb 失败 => 将 IP 路由到 shop1(MySQL 主站),继续。
  • Shop1 失败 => Lb 将自动处理,将 shop2 上的 MySQL 从站提升为 master,重新配置 Magento 以使用 shop2 进行写入,继续。
  • Shop2 失败 => Lb 会自动处理,继续。

这是一个明智的策略吗?有没有人用 Magento 做过类似的设置?

我的第二个设置想法

另一种方法是使用 drbd 将 MySQL 数据文件存储在 shop1 和 shop2 上。我知道在这种情况下,只有一个节点/MySQL 实例可以处于活动状态,另一个用作热备用。因此,如果 shop1 失败,我会在 shop2 …

failover drbd magento master-slave master-master

7
推荐指数
1
解决办法
4103
查看次数

使用 Bucardo 的 postgres 9.1 主-主设置

有没有人知道在 master-master 配置中设置 2 个 postgres 9.1 数据库的任何综合教程?需要哪些“附加组件”(例如 Bucardo 仍然是必需品吗?)。我试过谷歌搜索,但我发现很多帖子都可以追溯到几年前,所以我不确定它们是否仍然相关。让我更具体地说:

例如,以下方法可能有效: - 在 master1 上安装 bucardo - 设置复制如下: master1:master - master2:slave - 验证复制是否有效如果以上正确,则: - 在 master2 上安装 bucardo - 设置复制如下: master2:master - master1:slave - 验证复制工作 之前的就足够了还是我在这里缺少一个基本部分?

以下是我从 bucardo 邮件列表中得到的建议 - 也许这对某人有用:

“Bucardo 只需要安装在一台主机上,虽然很明显,这不会提供 HA 功能。通常,在主-主场景中,它安装在一个主服务器上。如果其中一个主服务器出现故障,无论如何,Bucardo 守护进程将无事可做,因此 HA 因为它非常没有实际意义。”

预先感谢您的任何答复

postgresql master-master

5
推荐指数
1
解决办法
3695
查看次数