迁移实时服务器

fab*_*rik 11 domain-name-system email backup debian migration

遇到了麻烦,我有一个正在运行的服务器,带有常用的服务(httpd、mail、sql),看起来我必须非常快以防止数据丢失(我的 RAID 阵列失败,所以我依赖于一个现在硬盘)。

整个系统建立在 HowtoForge 的 howto 上,当我阅读Squeeze 上的那个时,看起来我可以轻松做到吗?将我的(虚拟)用户迁移到新盒子上。

我真的知道这是一个非常具体的问题,但你能告诉我整个迁移过程的一些重要点吗?哪些事情可能很棘手,我最多应该关注哪里?你会如何开始这个过程?

一些背景信息:

  • 两台服务器相距 200 公里,因此迁移应该通过 Internet 进行
  • 两台服务器都是Debian,旧的是Etch,新的是Squeeze
  • 关键服务是邮件,网站可能会暂停一段时间
  • RAID 表示 RAID 1 中的两个磁盘(两台机器)
  • 旧框是所有托管域的 DNS1

我的(真的)基本大纲:

  • 建立一个和旧系统类似的系统(类似的虚拟邮件结构,密码以相同的加密类型存储,因为我无法告诉旧的)
  • 创建一个域,我可以在其中检查一切是否正常(DNS、电子邮件、www 都可以)
  • 逐个迁移域,直到旧域无所作为

我的盲点:

  • 找不到有关如何在 Squeeze 上执行 RAID-1 的简要说明(Lenny howto 就足够了?)
  • 如何在需要时复制具有特定用户权限的特定文件夹(例如用户的邮件文件夹)?(rsync 会这样做吗?)
  • 如何在新机器上设置DNS (旧机器是DNS1)(新机器也应该是DNS,迁移的域应该使用自己作为DNS1?)
  • 如何防止电子邮件丢失(由于 DNS 刷新时间)(我需要将新机器设置为 MX?)

Dan*_*son 8

你的基本大纲或多或少是正确的。

挤压安装程序可以很好地执行软件 RAID。区别之一是squeeze默认使用grub2;lenny 使用了 grub-legacy(我认为是 0.9)。这使得一些 grub 管理有些不同,特别是在确保 grub 在出现故障时从两个磁盘启动方面。你总是可以恢复到 grub-legacy,这就是我上次遇到这个问题时所做的。尽管如此,测试您正在做的任何事情都是值得的,以确保您可以在任一磁盘出现故障时重新启动。

要复制数据,请务必使用 rsync。我会确保首先设置正确的帐户,使用相同的 uids/gids,然后是 rsync,但您可以随时修复此问题。rsync -avPHAX 应该得到一切(-a 得到大多数东西,除了 -H[ard links] -A[CLs] 和 -X[tended attributes],所以这很有用。

鉴于您同时进行有效的升级,请准备好以微妙的方式中断服务。配置会略有变化。最近做了类似的事情,我想我更愿意做一个喜欢->喜欢的迁移,然后在事后的某个时间升级最终的主机,因为同时迁移所有东西和管理升级使它成为一项艰巨的任务。

针对您的其他痛点进行了更新:

对于 DNS,我会一步将所有 DNS托管移动到新机器上。保留开始时的记录,但将刷新设置为向下(10 分钟左右)。这使您能够在完成每个域的移动时将 DNS 记录移动到新机器上。移动您的 DNS 可能需要更新您托管的任何域的 whois 记录,因此请记住这一点。事实上,在开始其他任何事情之前,立即为所有域设置刷新 - 没有比缓存错误导致问题更糟糕的事情了。

关于电子邮件丢失:当您将邮件移动到新服务器时,请确保 DNS 记录已更新以将主 MX 指向新服务器,并确保旧服务器仍配置为允许为您的域进行中继。只要您的旧服务器和新服务器都有最新的 DNS 视图,旧服务器上的邮件服务就会发现它不再是主 MX,并将任何电子邮件转发到新的主服务器。邮件还将处理交付中的短暂延迟 - 因此您可以关闭或防火墙对两台机器的所有电子邮件访问,立即移动所有内容,在新机器上进行测试,然后移动 MX 记录并在新机器上打开邮件. SMTP 旨在处理中断,任何合理的短中断(我认为不到 4 小时)甚至不会生成临时错误通知。

更新添加:

另一种可能性是在您的新服务器上创建一个 VM,并将整个旧服务器 rsync 到这个新 VM 的磁盘映像中。然后,您可以启动 VM 并更新 IP 地址等,并在此 VM 中拥有原始服务器的完整工作副本。可能会少很多努力,但如果您不熟悉 KVM 或 Virtualbox 等 VM 堆栈,那么它可能不值得。

  • @fabrik:没问题。在最近经历了类似的事情之后,我感受到了你的痛苦。我正在从旧的、破旧的 gentoo 安装迁移到挤压安装,我花了很长时间才确定我拥有一切。 (2认同)