所以我有一个在 2950 上运行的 CentOS 网络服务器。我确信它是 64 位的,但根据 uname,它似乎是 i686:
[root@www ~]# uname -a
Linux www.xxxxx.com 2.6.18-92.1.10.el5PAE #1 SMP Tue Aug 5 08:14:05 EDT 2008 i686 i686 i386 GNU/Linux
所以,无论如何,我克隆了它,并将其放在了一台很棒的 R900(16 核,64GB)上。不幸的是,当我启动新服务器时,我得到了无数这样的错误:
Unknown interrupt or fault at EIP 000000060 c04011ed 000011ec
所以我尝试在没有 acpi 的情况下启动它,但仍然没有效果。我需要更改启动内核吗?我该怎么做呢?
我愿意接受你们愿意给我的任何好处!
答案1
这是一个 32 位操作系统。你正试图迁移到一个具有非常旧操作系统/内核的不同架构。你真的应该在新硬件上重建并迁移数据。这不可能奏效无需进行大型手术。
答案2
获取系统上已安装的软件包列表,并在新机器上安装相应的软件包。根据需要调整新机器的配置。
之后,您可以复制每个未被包管理系统标识为拥有的文件,并手动决定哪些配置文件是相关的。
为了避免您现在遇到的问题,最好对您的程序、数据和配置文件保持单独的视图,并在您负担得起的情况下定期进行迁移,即使只是迁移到之后会被清除的测试服务器。您可能会发现 Puppet 等工具对此很有帮助。
正如其他人所建议的,你可以通过使用虚拟化软件暂时解决问题。有许多软件包允许将硬件系统转换为 VM 客户系统。但从长远来看,你需要调整并具备适当的迁移能力。
此外,我觉得有必要赞同 MDMarra 的观点:近四年没有更新内核有点可怕。