将 FreeBSD Jails 迁移到 Linux

san*_*s85 6 linux freebsd jail containers docker

我们在 FreeBSD 10 中运行了一些 jails,并且已经决定停用 FreeBSD 服务器并将所有 jails 迁移到 Linux 环境 Red Hat 6 或 7。

是否有将 BSD jails 迁移到 linux 的直接方法——作为可以通过 docker 运行的容器

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

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

Mat*_*uan 5

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

  1. 备份您的服务器、监狱和所有数据。如果您使用的是zfs,则可以使用zfs snapshotwithzfs sendzfs receive。如果您没有 ZFS,并且使用标准的 FreeBSD 文件系统,则可以使用mksnap_ffs. 我希望你有不错的解决方案来备份你的数据,比如bacula,第一次使用有点难,但如果你犯了错误真的很有用!

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

  3. 尝试在 RHEL 服务器上找到相同的服务,您可以使用yum search, freshportspbone。这一步要小心,FreeBSD 有最新版本的软件,RHEL 冻结它的包集合,在做错事之前阅读发行说明并测试配置兼容性。

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

  5. 测试您的服务。

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

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

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


小智 4

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