将 FreeBSD Jails 迁移到 Linux

将 FreeBSD Jails 迁移到 Linux

我们正在 FreeBSD 10 中运行一些 jail,并且已决定退役 FreeBSD 服务器并将所有 jail 迁移到 Linux 环境 Red Hat 6 或 7。

有没有一种直接的方法可以将 BSD jail 迁移到 Linux——作为可以通过 docker 运行的容器

或以任何其他方式将 BSD jail 转换为容器并再次通过 docker 拉取/运行。

还有其他方法吗?我不确定这是否真的可行,因为我试过在谷歌上阅读,但没有遇到过类似的事情。

答案1

根据您当前正在运行的服务,这可能很简单。这两个平台之间有很多工具可用。

  1. 备份您的服务器、jail 和所有数据。如果您正在使用文件系统,你可以使用和zfs snapshot。如果你没有 ZFS,并且使用标准 FreeBSD 文件系统,你可以使用zfs sendzfs receivemksnap_ffs。我希望你有合适的解决方案来备份你的数据,比如巴库拉,第一次使用有点难,但如果你犯了错误它真的很有用!

  2. 列出 FreeBSD 服务器或 FreeBSD jail 上的所有服务(例如service -le),如果您正在使用它,请不要忘记迁移 cronjob(所有 crontabs 都存储在/var/cron/tabsFreeBSD 上)和job。at

  3. 尝试在 RHEL 服务器上找到相同的服务,你可以使用yum search新鲜港。请小心执行此步骤,FreeBSD 具有最新版本的软件,RHEL 冻结其软件包集合,在做错事之前请阅读发行说明并测试配置兼容性。

  4. 利用所有这些信息制作你的测试平台。

  5. 测试您的服务。

  6. 阅读日志。如果出现问题,请阅读与问题相关的 FreeBSD 和 RHEL 文档。

我不知道您的平台目前是如何配置的,但是,如果所有数据(客户、后端……)都远程存储在 SAN 或 NAS(例如 NFS、iSCSI……)上,那么迁移起来会非常容易。在这种特殊情况下,只需修改 FreeBSD 和 RHEL 服务器上的配置。

最后的建议:阅读旧日志并尝试找到其中的工作/不工作模式,然后在新的测试平台上重播它。

答案2

恐怕您必须逐个移植应用程序,正如之前提到的那样,Linux 容器和 BSD 监狱是两个完全不同的东西。对于开源应用程序来说,这应该不难,因为您可以匹配版本,然后复制配置和数据。请记住,有些东西需要调整,例如任何引用网络接口等的东西,因为它们必然会有所不同。希望 vimage 不会出现任何奇怪的网络问题,因为这会使事情变得复杂。

相关内容