服务器镜像策略问题SQL Server复制,MySQL复制,文件复制等

我正在为一家公司的应用程序开发人员工作一段时间。 企业希望将其现有的Windows服务器(服务器A)镜像到新的服务器(服务器B),其主要目的是在任一服务器不可用时提供冗余。 硬件负载平衡器将pipe理到任一服务器的stream量的方向。 目的是在任何给定的时间只有一台服务器正在接收stream量。 在每台服务器上,运行所有应用程序所需的所有资源都在一台机器上。

在两台机器上需要双向同步的数据是:

  • 几个MySQL数据库。
  • 两个SQL Server数据库。
  • .NET应用程序和经典ASP网站的源代码。
  • 邮件服务器。 文件。
  • 其他应用程序,备份程序等
  • 服务器设置(如果可能的话)。

协同定位托pipe公司在船上有负载平衡和复制的想法,但我被要求去pipe理这个。

我对此有一些普遍的担忧,是:

  1. 这不是我在stream程上工作过的最具结构化的公司(在公司中有很less的源代码控制经验,可以免费访问configuration经常更改的实时服务器,没有文档等)。 这可能需要比目前更多的技术纪律。

  2. 没有任何应用程序可以识别群集。 大多数数据库操作是非事务性的。

我的具体问题是:

  • 是两台服务器故障切换configuration,正如我在这里描述的常见的地方? 任何优点/缺点?

  • 双向数据复制的潜力是什么?两个数据库服务器都需要同时是发布者和订阅者? 我如何审计数据并发风险?

  • 他们的任何工具复制服务器软件安装/设置? (成像可能不存在,因为两台服务器是不同的硬件和规格)。 我想保持操作系统设置/ DB模式/源代码/版本控制服务器/电子邮件服务器等等等等等可能是一个很大的开销?

  • 鉴于我之前提到的担忧,我应该build议我们放慢速度,直到我们能够带来更好的系统pipe理,并在继续之前解决任何潜在的应用程序漏洞,或者您认为一旦第二台服务器需要这些更改在玩?

对不起,如果这是一个漫无目的的。 对于如何处理这些问题或者按照“你应该把这个留给知道自己在做什么的人”这样的意见的任何见解都是值得欢迎的!

这个问题太大了, 你可能不会得到具体的答案。

为了有“多主”复制,意味着两台服务器都响应,您需要分别解决每个协议的问题(SQL,SMB,HTTP等)。 更简单的方法是在主动 – 被动场景中一次只能使用一台服务器,但是您仍然在谈论一个非常复杂的解决scheme,以确保所有应用程序和协议中的数据丢失为零。

最简单但不可能的最好的解决scheme是将它作为故障转移主机群集上的虚拟机,但是如果您有意外的故障转移,我相信在虚拟机重新引导时将会丢失内存中的内容。

Windows文件服务,IIS和SQL Server都有各自的冗余级别,但每个都是唯一的,需要根据您的特定应用程序需求进行评估。

如果是我,我会根据这个数据的时间和重要性做出这个决定。 如果您可以站在虚拟机群集主动 – 被动场景中,那就这样做。 我想在一个盒子里把它变成一个拥有所有不同技术的多主人是一场噩梦。 我知道没有人这样做。 他们/我们有SQL服务器做镜像,电子邮件在不同的服务器上做它自己的事情,等等。你添加的每个应用程序是它自己的“解决scheme”(对我来说)高可用性。