如何镜像数据库并实现故障转移解决scheme

有很多问题解决了故障转移的问题,我有点不知所措,这就是为什么我在这里问我的具体情况。

我的设置如下:

  1. 我有三台运行ubuntu linux 16.04的服务器。 所有三个都有自己的固定IP。

  2. 八月份,其中一台服务器将托pipe一个拥有大型后端mysql数据库的网站。 用户(大约500-1000人)将主要在白天上午8点至下午8点持续logging数据库中的条目。 pipe理员将查询各种统计数据库。

  3. 网站和数据库需要在任何时候都可以运行,所以我想使用第二台服务器来镜像第一台服务器,并在第一台服务器出现故障时接pipe。 如果需要的话,我可以使用第三方来监视这两者的响应。

我不知道从哪里开始。 我的主要问题是

  1. 如何保持一个大的MySQL数据库在两台独立的机器上同步? 数据库将会很大(可能是5-10Gb),所以需要花费时间从.sql文件输出和重build数据库。 如果灾难发生,即使失去了10分钟的日志logging和正常运行时间,但却没有几个小时,可以从sql文件重build另一台服务器上的数据库。

  2. 如果第一台服务器出现故障,如何让第二台服务器接pipe? 我是否使用第三台服务器监控这两台服务器的活动,并在主服务器停机的情况下切换IP? 如果是这样,一些详细的步骤将不胜感激 我用“心跳”和“虚拟IP”这样的行话看过这个问题地址,这对我来说太抽象了。 我需要尽可能多的细节,如果这超出了我的专业知识,我需要找出答案,以便让我的老板及时知道。

感谢您的帮助

Mysql复制很好地解决了这些问题,即使对于地理分布式数据库也是如此。

在你的场景中,你可能也想考虑只写主数据库,只读复制从服务器,这样可以提高性能

同意以前的答案,mysql复制可能是一个可能的解决scheme。

另外,您可以在一些服务器之间创build共享存储,并将虚拟机与数据库放在一起,如果出现问题,它将在服务器之间迁移。 对于这种情况使用像HPE VSA或StarWind的东西 。 他们也有免费的版本。

它将允许您为任何生产场景创build虚拟机,并确保所有数据都在服务器之间复制。