获取新的数据库服务器以在两个地理位置替换具有相同数据的旧数据库服务器

时间:2012-08-27 12:05:42

标签: database replication maintenance mirroring

我正面临着一个我需要和专家帮助的情况,情况是我们公司希望将数据库服务器运送到不同的地方,然后他们进行新的服务器安装并测试它然后将它物理地运送到目的地并将旧服务器关闭,让新服务器正常运行。问题是我们已经配置了服务器但无法找到我们可以在最短的停机时间内使用主服务器中的所有数据获得第二个数据库的计划。另一个痛点是这两个不会连接在一个网络中。所以我们的260 GB数据库可以从一台服务器移动到另一台服务器。或者,即使我们在目的地移动新服务器并为现场做好准备,我们也无法停工。 在服务器移动到目的地后,我们需要如何同步数据库,请帮忙。

2 个答案:

答案 0 :(得分:1)

如果你可以花几个小时离线,我会看看 rsync 。如果您使用Windows系统,则可以获得 cygwin 的发行版并安装它,包括rsync and ssh的包。

我首先要做的是尝试尽可能准确地计算所需的估计离线时间。为此:

  1. 您必须在源计算机和目标计算机中设置cygwin并配置SSH(有一个脚本可以为您完成几乎所有名为ssh-host-config的工作)。您需要确保可以通过SSH从源服务器连接到目标服务器。

  2. 首次将整个数据库备份文件.BAK复制到目标服务器。这是第一次为了方便起见,您可以将数据库备份文件压缩并拆分为更小的部分。第一次有数据库备份文件后,再不压缩源数据库备份文件。

  3. 将任务编程为每日rsync数据库备份文件。您可能需要将SSH配置为连接到目标服务器而不使用密码(使用密钥),在这种情况下,请查看here in summaryhere in details

  4. 完成稳定过程后,请检查数字并尝试计算迁移当天将传输的字节数。

  5. 根据估计的字节数和上传/下载带宽率,您应该可以得到所需时间的估计值。

  6. 我做了以下假设:

    • 数据库是260 GB,但我希望,几乎所有数据都是静态的。
    • 您可以执行数据库的每日(完整)备份。
    • 系统处于脱机状态,一旦最终的数据库备份过程开始,就不会有待回滚/提交的待处理事务。

    注意不是为了在线rsync ldfmdf文件,而是用于完整备份文件。说,考虑到其他DBA thread

    在完成上述所有注释和备注之后,让我补充一点,去年我们面临着与你相同的任务,使用较小的数据库,但在检查了其他可能性之后,我们最终用rsync完成了,当然,在对所有步骤进行测试和测试之后,事先非常准确地了解所需的时间。

    您的数据库很大,所以我不确定这种方法是否适合您。

答案 1 :(得分:0)

您可以设置新的数据库服务器。然后备份现有数据库并在新服务器上还原。然后使用“合并复制”将数据从现有数据库复制到新数据库。当然,这假设现有的数据库服务器将能够连接到新的数据库服务器(即使通过互联网)。 如果您无法通过网络连接,那么您将不得不面对一些停机时间这一事实。在这种情况下,您将备份还原到新服务器上 - 这当然是完全备份。将数据库还原到新服务器后,请返回旧服务器并执行差异备份以及事务日志备份。然后,您将需要关闭旧服务器(以便在还原时不会发生任何事务),然后将这两个较小的数据库备份还原到新服务器上,并且应该这样做。