Linuxnetworking/数据库服务器的热插拔

有没有办法在Linux下执行以下操作:

  1. 有两个Web服务器,主要和备份
  2. 有两个数据库服务器(postgres),主要和备份
  3. Web服务器彼此同步,即。 configuration/内容/应用程序是相同的
  4. 备份数据库不断与主数据库同步。
  5. 如果两台主服务器中的任何一台出现故障,则会立即replace为备用服务器。
  6. 当主数据库服务器恢复正常时,所有来自备份服务器的数据都会上传到它。

为了使其更加复杂,一个重要的细节是这两台服务器实际上是VPS,并且由不同的提供商在不同的国家/地区托pipe,因此在同一个子网/机架等服务器的显而易见的解决scheme都不会在这里工作。

从本质上讲,如果可能的话,我需要热插拔自动工作,无需用户干预或用户干预最less。 恢复过程优选是自动的,但可以包括一些手动步骤。

http://www.linuxvirtualserver.org/

将允许您在生产和备份服务器前放置一个负载均衡器(或更好的两个)。

您可以单独使用心跳,这将允许公共IP由两个IP服务。 这将不得不感觉到主要或次要的下降,然后发出公告,成为公共知识产权。

你会有这样的事情:

Public IP 1.2.3.4 Primary Server 1.2.3.5 Backup Server 1.2.3.6 

每个人都会看到单一的知识产权,这将实际上由任何一台机器“积极”

看看haproxy或Nginx作为前端负载均衡器。 如果主服务器出现故障,则会监控redirect到主服务器的stream量,反之亦然,即自动故障转移。

对于数据库之间的数据同步,请查看多主复制 。

您应该查看Web层的DNS故障转移,也可以查看DB层的Tungsten Cluster。

干杯