将老旧的 RedHat 服务器迁移到云端

将老旧的 RedHat 服务器迁移到云端

我有一个客户,他有一个非常非常老旧的 PHP3 Web 应用程序,运行在一台装有 RedHat 7.somethingOld 的古老消费级 PC 上。我备份了软件和数据库,但他非常吝啬钱,并且极力拒绝升级系统的任何部分。现在他想关闭他的实体办公室,转而使用虚拟办公室。我正在寻找一些建议,了解如何将其迁移到 Azure 或 AWS 之类的系统中。我认为任何云托管服务都不支持这么老旧的 RH。

据我所知,我的选择是:

  • 为云支持的更现代版本的 Linux 编译 PHP 3 或 4。我曾经尝试过一次,但迷失在依赖关系的迷宫中。如果我没记错的话,有些依赖关系彼此不兼容。
  • 制作旧系统的 VHD 副本,然后设置运行该虚拟副本的虚拟服务器。听起来有点像《盗梦空间》,即使它能行得通
  • 告诉他,这个软件太旧了,无法运行,他需要修改 PHP 代码,让它在现代版本中运行
  • 跑步

有什么想法吗?

答案1

更新代码。运行基于旧 PHP 的应用程序可能会给您的客户带来安全风险。

答案2

我已成功将运行 PHP 5.1.x(已有 8 年多历史)的非常老旧的 Red Hat 服务器迁移到 Azure,使用的是 Centos 5.11(这是我可以使用的最新版本,不会破坏应用程序)。唯一的方法是通过 VHD 上传。

主要问题有:

  • 如果您无法安装 Azure Linux 代理,请不要继续,因为您甚至无法将 VM 置于联机状态。
  • 您将得不到微软的任何支持,第三方供应商可能也不会提供任何支持。忘记库存管理、防病毒、监控工具等吧。
  • 无论您如何加强基础设施的安全性,您的应用服务器和代码都会存在数千个明显的漏洞。

最后,您将对出现的任何问题负责,即使它与基础设施无关。

答案3

VMWare 仍然支持相当老版本的 RedHat。您可能能够 P2V 当前服务器,在本地进行测试,然后上传到 vCloud Air。

然后,您可以将虚拟化作为一项任务,将升级作为一项单独的任务。

答案4

有点自相矛盾的是,这种极其古老的应用在某种程度上较少的容易出现安全漏洞——仅仅是因为它们太旧了,所以没有人扫描/运行相关的漏洞。

当然,最好的解决方案是升级客户的应用程序以在较新的 PHP 框架上运行,但如果不可能,那么唯一的解决方案就是加载整个虚拟磁盘并将其作为独立的、完全虚拟化的客户机运行。

VMWare、KVM 和 Virtualbox 都可以很好地运行,即使是在非常老的客户机上,但我对云提供商不太确定。你真的必须问他们这样的老客户机是否可以运行。

无论如何,忘记任何形式的官方支持。

相关内容