将 Linux 服务器移至另一台主机

将 Linux 服务器移至另一台主机

我有一项任务,将 Linux 服务器从一台专用服务器移动到另一台。

总的来说我的计划如下:

  1. 夜间 - 关闭 httpd 和 mysql。通过 SSH 进行 RSYNC。
  2. 白天-打开http和mysql。
  3. 晚上关闭 httpd 和 mysql。通过 SSH 进行 RSYNC。
  4. 晚上。在两台服务器上打开 httpd 和 mysql。更改 DNS 条目。
  5. 白天。监控服务器状态。

因此,对于同步 mysql 和 httpd,我主要使用 rsync(不使用 mysqldump)。

听起来不错?有什么注意事项吗?

答案1

我建议两种解决方案。就我个人而言,我更喜欢逻辑克隆方法,因为它可以减少停机时间,并且数据库复制是一种多功能功能,可用于其他目的。但是,与您建议的方法类似的精确克隆方法是一种通用的强力方法,可用于迁移任何服务器。

精确克隆

  1. 减少 DNS 条目的 TTL,让您的生活更轻松。
  2. 将源同步到目标。您甚至不必关闭源上的服务;任何不一致都会在步骤 (4) 和 (7) 中得到修复。
  3. 您也可以选择对新服务器进行一些测试。确定需要在目标服务器上进行哪些配置更改才能使其正常运行。您甚至可能希望重新启动目标计算机以确保一切顺利。
  4. 再次将 rsync 源复制到目标,以撤消在 (3) 中对新服务器造成的任何“损害”,找出更多差异,并了解运行增量 rsync 需要多少时间(这是预计停机时间的指标)。
  5. 关闭两台机器上的所有服务。确保源机器上的服务保持关闭状态;您不希望新旧机器上出现数据分歧的“裂脑”。
  6. 更改您的 DNS 条目。如果您不打算回滚,则可以对新条目使用正常的 TTL。
  7. 再次将源 rsync 到目标。
  8. 如步骤 (3) 中所示,在目标机器上应用您需要的任何配置更改。
  9. 在目标机器上启动服务。

逻辑克隆

查看设置MySQL 复制。如果您尚未在 MySQL 服务器上启用二进制日志记录,则必须短暂地重新启动数据库以启用它。无论如何,我强烈建议启用二进制日志记录,因为它对于执行未来的操作(例如几乎零停机时间升级 MySQL)非常方便。

如果你设置循环复制,如果 MySQL 是您的应用程序的唯一数据存储,您甚至可以同时运行旧的和新的 Web 服务器。

相关内容