实时同步 2 个相同的 centos 服务器的最佳方法是什么

实时同步 2 个相同的 centos 服务器的最佳方法是什么

我正在操作一台 centos linux 服务器 (A),我想创建一个实时备份服务器 (B),这样每当服务器 A 出现故障时,服务器 B (在故障转移启动后) 将接管。我已经解决了故障转移问题 (提示:我使用了 Cloudflare),我正在寻找一种解决方案来将我的服务器 A 文件和数据库“镜像”到服务器 B。

我通过 cron 使用了 rsync 和 mysqldump,但它不是实时的,而且占用大量资源,因为它每次都会传输所有文件和数据库内容。

答案1

这取决于你的特定需求。例如,如果应用程序不是资源密集型的,你也许可以使用虚拟化并使用VMWare 容错. 如果资源密集型和/或物理,你应该看看DRBD

希望这可以帮助。

答案2

你搞错了。你想要实现的是某种 HA(高可用性)。我建议你研究一下 HAproxy。它的配置很简单,这就是你真正需要的,那里有很多教程。

您可以使用两台服务器作为后端,它们甚至可以共享负载。您可以使用 lsync 同步无需锁定即可同步的文件(例如非数据库内容)。

如果您没有在服务器上托管 WWW 内容,但需要高可用性,HAproxy 还可以对普通的旧 TCP 连接进行负载平衡,它具有多种操作模式。

  1. 将两台服务器置于负载均衡器后面
  2. 如果可能的话,在两个数据库实例之间创建主-主复制(例如,如果您谈论的是 MySQL),或者一个简单的主-从复制,您可以在必要时提升从属。数据库始终保持同步。
  3. 使用 Lsync 实时同步非数据库文件。既然您提到了 Cloudflare,那么它可能是基于 Web 的。

我经常使用 HAproxy,它是一款出色的软件,配置简单,功能强大。这是使用它的最佳方式。看看这个简单的教程在 Digitalocean 上查看它的全部内容。

相关内容