服务器迁移:最有效的方法


10

我的任务是在服务器(两个不同的主机)之间迁移我们的站点之一。两种环境都是linux。

该站点流式传输视频,因此服务器当前已填充媒体文件(图像和视频)。我的第一个想法是,我们将使用rsycnc来传输所有内容,但是我希望尽可能地高效并尽可能快地完成所有操作。我想你们中的一些人可能对如何加快该过程有什么建议,或者在这里rsync甚至是正确的选择。

提前致谢。抱歉我对sysadmin的知识有限...

编辑:我们在一个基本的LAMP堆栈(centos)上运行,并移到机架空间上的红色帽子上。


1
在这种情况下定义“有效”。快速,可靠,强大,还是什么?不,您不能拥有所有这些。
John Gardeniers

1
rsync几乎可以肯定是迁移数据的最佳选择。仍然有其他人提到的配置和可能的数据库等具有其他更好的选择。
fukawi2 2013年

Answers:


12

“将应用程序从一台服务器迁移到另一台服务器”涉及很多工作–实际上,我们无法对所有用例进行全面的回答。 能回答这个问题很全面为您的设置不过,如果你系统地来解决:

  1. 列出您的应用程序需要的所有内容。
    • 网络服务器?
    • 数据库服务器?
    • 邮件服务器?
    • 脚本语言(PHP,Ruby / Rails,Perl等)?
    • 辅助程序(ImageMagick等)?
  2. 列出重要的配置项目。
    • IP地址,网络掩码,网关等
    • DNS服务器
    • 特定于应用程序的项目(临时目录等)
  3. 从(1)和(2)中获取列表,并编写迁移概述。
    这应该包括安装和配置所需的任何软件/软件包,转储和加载数据库等。
  4. 测试迁移
    复制所有内容,就像服务器要上线一样,但不要使其上线。完成后,将其放置在隔离的网络上并测试所有内容。
    如果您的应用程序有标准的测试过程,则应在迁移的服务器上运行它。
  5. 如果一切都不尽如人意,请转到(3),更新(1)和(2),然后修改您的计划。
  6. 当测试迁移顺利进行时,请进行实际迁移。
    根据迁移过程的复杂程度,这可能仅意味着删除并重新加载数据库,或者您可能希望擦除计算机并从头开始。

完成后,您将在特定环境中拥有特定应用程序的清单。该清单可能会随着您开发应用程序而演变,但是当您需要再次迁移时,它可以作为3-5年的起点。

要考虑的其他事项包括实施配置管理ala Puppet或Chef。
(如果您将成为“系统管理员”,则应考虑使用它们,否则将其传递给负责人/团队。)


5

好吧,您需要处理服务器配置和服务器内容,并且相同的技术很难同时适用于两者。

你有数据库吗?如果是这样,那也将需要移动。Rsync非常适合静态内容。只需运行一次即可移动您的数据列表,然后每隔几个小时说一次以保持同步,直到切换为止。确保在迁移之前禁用rsync cron!

关于配置,我们不知道您正在运行什么,因此无法真正给出建议。


谢谢!我们目前正在带有WHM的Apache / PHP / MySQL堆栈(相当标准)的CentOS上运行。我们将所有内容移至Rackspace上的redhat linux。
Ghost代码
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.