san*_*s85 6 linux freebsd jail containers docker
我们在 FreeBSD 10 中运行了一些 jails,并且已经决定停用 FreeBSD 服务器并将所有 jails 迁移到 Linux 环境 Red Hat 6 或 7。
是否有将 BSD jails 迁移到 linux 的直接方法——作为可以通过 docker 运行的容器
或任何其他方式将 BSD 监狱转换为容器并再次通过 docker 拉/运行。
还有其他方法吗?我不确定这是否真的可能,因为我尝试在谷歌上阅读但没有遇到过类似的事情。
根据您当前正在运行的服务,它可以很简单。这两个平台之间有很多工具可用。
备份您的服务器、监狱和所有数据。如果您使用的是zfs,则可以使用zfs snapshot
withzfs send
和zfs receive
。如果您没有 ZFS,并且使用标准的 FreeBSD 文件系统,则可以使用mksnap_ffs
. 我希望你有不错的解决方案来备份你的数据,比如bacula,第一次使用有点难,但如果你犯了错误真的很有用!
列出您在 FreeBSD 服务器或 FreeBSD jails 上的所有服务(例如service -le
),不要忘记迁移 cronjob(所有 crontab 都存储在/var/cron/tabs
FreeBSD 中)和at
job(如果您正在使用它)。
尝试在 RHEL 服务器上找到相同的服务,您可以使用yum search
, freshports和pbone。这一步要小心,FreeBSD 有最新版本的软件,RHEL 冻结它的包集合,在做错事之前阅读发行说明并测试配置兼容性。
使用所有这些信息制作您的测试平台。
测试您的服务。
阅读日志。如果出现问题,请阅读有关您的问题的 FreeBSD 和 RHEL 文档。
我不知道您的平台当前是如何配置的,但是,如果所有数据(客户、后端...)都远程存储在 SAN 或 NAS(例如 NFS、iSCSI...)上,那么迁移真的很容易。在这种特殊情况下,只会修改 FreeBSD 和 RHEL 服务器上的配置。
最后的建议:阅读旧日志并尝试在其上找到工作/不工作模式并在您的新测试平台上重播。
小智 4
恐怕你必须一一移植应用程序,正如前面提到的,Linux 容器和 BSD 监狱是两个完全不同的东西。对于开源应用程序来说这应该不难,因为您可以匹配版本,然后复制配置和数据。请记住,有些事情需要调整,例如引用网络接口等的任何内容,因为它们必然会有所不同。希望 vimage 不会出现任何时髦的网络,因为这会让事情变得复杂。