我遇到了麻烦 ,我有一个正常运行的服务器(httpd,mail,sql),看起来我必须非常快速地防止数据丢失(我的RAIDarrays失败,所以我依赖于一个单一的hdd现在)。
整个系统build立在HowtoForge的howto上,当我读到Squeeze上的这个时 ,看起来好像我可以轻松? 将我的(虚拟)用户迁移到新框中。
我真的知道这是非常具体的问题,但是能否告诉我整个迁移过程中的一些重要问题。 哪些事情可能会很棘手,我最需要关注的地方在哪里? 你将如何开始这个过程?
一些背景资料:
我的(真的)基本概述:
我的盲点:
你的基本轮廓或多或less是正确的。
挤压安装程序将做一个软件RAID就好了。 有一点不同的是,squeeze默认使用grub2。 lenny使用grub-legacy(0.9我认为)。 这使得一些grubpipe理有所不同,特别是在确保grub将从两个磁盘启动以防故障的情况下。 你总是可以恢复到grub-legacy,这是我最后一次遇到这个问题时所做的。 它会花钱testing你正在做什么,以确保你可以重新启动,如果任何一个磁盘失败。
要跨数据复制,确实使用rsync。 我会确保正确的帐户首先设置,与同样的uids / gids,然后rsync,但你可以随时解决这个问题。 rsync -avPHAX应该得到所有的东西(-a除了-H [ard links] -A [CLs]和-X [tended attributes]外,都可以获得大部分的东西,所以这很有用。
鉴于您正在同时进行有效的升级,请准备服务以微妙的方式突破。 configuration将稍微改变。 在最近做了类似的事情之后,我想我会喜欢做类似于迁移的事情,然后在事实之后的某个时候升级最终的主机,因为迁移所有事情并同时pipe理升级成为一项艰巨的任务。
更新了您的额外痛点:
对于DNS,我会一举将所有DNS 托pipe移到新机器上。 将logging保留为开头,但将刷新设置为正确(10分钟左右)。 这使您可以在完成移动每个域时将DNSlogging移动到新计算机上。 移动您的DNS可能需要更新您主持的任何域名的whoislogging,因此请记住这一点。 事实上,在开始其他任何事情之前,为所有域设置刷新 – 没有什么比缓慢的结果导致问题更糟。
关于电子邮件丢失:在将邮件移动到新服务器时,请确保DNSlogging已更新,以将主MX指向新服务器,并确保旧服务器仍被configuration为允许您的域名进行中继。 只要您的新旧服务器都具有最新的DNS视图,您的旧服务器上的邮件服务将不再是主要的MX服务器,并且会将任何电子邮件转发到新的主服务器上。 邮件也将处理交付短暂延迟 – 所以你可以closures或防火墙所有的电子邮件访问到两台机器,立即移动一切,在新机器上testing,然后移动MXlogging,并在新机器上打开邮件。 SMTP旨在处理中断,任何合理的短暂中断(我认为不到4小时)甚至不会产生临时错误通知。
更新后添加:
另一种可能性是在新服务器上创build一个虚拟机,并将整个旧服务器rsync同步到这个新虚拟机的磁盘映像中。 然后,您可以启动虚拟机并更新IP地址等,并在该虚拟机内部拥有原始服务器的完整工作副本。 可能会less一些,但如果你不熟悉像KVM或Virtualbox这样的VM堆栈,那么这可能不值得。