如何将生产服务器移至开发虚拟机?

如何将生产服务器移至开发虚拟机?

我有大约 3 台服务器,它们可能有近 10 年的历史了,所有服务器都使用人们认为是编程方面最糟糕的实践代码。

我很害怕对这个东西做出改变(在我来这里之前,生产服务器一直是开发平台,我真的想改变这一点),但是除了使用这个东西之外,我们没有真正的方法来完美地模拟服务器。

因此,我们必须更改正在运行的网站,而我真的不想出现“哎呀”的情况。请教如何将这 3 个庞然大物迁移到我桌面上的虚拟机中,或者让我可以安全地进行一些开发工作,而不会感觉自己是《碟中谍》中的主角,在激光束上悬在半空中,汗水从脸上滴落,同时我小心翼翼地完成工作?

为了让您了解我所说的最坏做法……我们有 14 个“主要”代码块副本,这是一个由七名开发人员在十年内编写的 14,000 行“请重复自己”代码的庞然大物,全部位于生产 Web 服务器的根目录中。我需要改变这一点,我需要进行认真的修复,但这就像在被注射了致幻药物的同时玩 kaltoh。帮帮忙?

服务器是 windows2000 server,数据库是 MSSQL 2008,服务器运行带有 PHP 和 ASP 的 IIS。一百个我不了解的应用程序共享服务器空间。一台服务器管理我们的 AD。Sharepoint 存在但未被使用。那里有一些没人知道的“登录我”软件。Postgres 出于某种原因正在运行。那里有防火墙软件。那里有 Exchange 2008。那里有防病毒服务器……老实说,我只是想复制网站。

答案1

VMware 有一个工具叫VMware vCenter 转换器专门用于将现有的物理机器转换到虚拟环境。

对于 XP/Server 2003 之前的服务器,我会考虑使用 Norton Ghost 或 Acronis 之类的软件进行备份,然后恢复到虚拟硬件。

答案2

在使用复杂的 P2V 解决方案冒着生产服务器的风险之前,您可能想尝试使用 Drive Snapshot 克隆生产服务器。简而言之,所需的步骤如下:

  • 下载驱动器快照http://www.drivesnapshot.de/en/
  • 在生产服务器上运行独立的快照.exe。无需安装或重启
  • 映像驱动器
  • 将驱动器映像还原到 VM

请记住,映像/克隆/p2v 非常耗费硬盘空间。请尝试在服务器非高峰时段执行此操作,以尽量减少对现有应用程序的性能影响。

答案3

制作服务器映像(Clonezilla、ghost4unix)。尝试使用 VMware Converter 复制机器。如果不行,尝试使用 Clonezilla 映像还原到 VM。(或者使用 dd 加 netcat)。

然后进行清理。将每个生产服务移至新的虚拟机。并使用这些虚拟机作为生产服务器。这样,您将测试您是否可以控制新服务器。记录所有内容。对于每个生产虚拟机,创建一个 QA 虚拟机和一个开发虚拟机。开发人员将可以独占访问开发虚拟机。不要给他们管理员权限。您将使用 QA 虚拟机来测试他们的新代码。仅从源代码控制中获取代码以进行 QA 迁移和部署到生产。

答案4

如果您有备用系统,您可以在其上安装 vmware 并使用其 p2v 转换器来创建物理机的虚拟副本。但是,有几个问题:

转换过程会在物理机上安装一个代理,由于您运行的是 Windows 2000,因此需要在代理安装后重新启动服务器。

一旦您的虚拟机启动并运行,我建议关闭您的物理机,直到您将其放在不同的 IP 地址和不同的主机名上,以防止 IP 冲突。

p2v 完成后,您需要配置虚拟机以使用 vmware 的网络接口,而不是从物理服务器复制过来的网络接口。关注这些清除不再存在的接口的指令。

相关内容