我们在FreeBSD 10中运行一些监狱,并决定停止使用FreeBSD服务器,并将所有的监狱迁移到Linux环境Red Hat 6或7。
有没有直接的方式将BSD jail移植到linux–作为可以通过docker运行的容器
或者任何其他方式将BSD jails转换为容器,并再次通过docker进行拉/运行。
任何其他的方式呢? 我不确定这是否实际上是可能的,因为我试图读谷歌,但没有遇到过这样的事情。
根据您当前正在运行的服务,可能很简单。 很多工具都可以在这两个平台之间使用。
备份你的服务器,监狱和每一个数据。 如果您正在使用zfs ,则可以使用zfs snapshot和zfs send和zfs receive 。 如果你没有ZFS,并使用标准的FreeBSD文件系统,你可以使用mksnap_ffs 。 我希望你有体面的解决scheme来备份你的数据,比如bacula ,第一次使用起来有点难,但是如果你犯了错误真的很有用!
在FreeBSD服务器或者FreeBSD jails(例如service -le )中列出所有的服务,不要忘记at你使用的时候,把cronjob(所有的crontabs存储在FreeBSD的/var/cron/tabs
尝试在RHEL服务器上find相同的服务,可以使用yum search , freshports和pbone 。 注意这一步,FreeBSD有最新版本的软件,RHEL冻结了它的包集合,在做错之前阅读发布说明,并testingconfiguration的兼容性。
用所有这些信息制作你的testing平台。
testing你的服务。
读取日志。 如果出现问题,请阅读有关您的问题的FreeBSD和RHEL文档。
我不知道当前如何configuration您的平台,但是如果所有数据(客户,后端…)都远程存储在SAN或NAS(例如NFS,iSCSI …)上,迁移起来可以非常简单。 在这种情况下,只有在FreeBSD和RHEL服务器上的configuration才会被修改。
最后的build议:阅读旧日志,并尝试find工作/不工作模式,并在新的testing平台上重播。
你将不得不逐一移植应用程序,因为以前曾经提到linux容器和bsd监狱是两个完全不同的东西。 这对于开源应用程序来说不应该太难,因为您可以匹配版本,然后复制configuration和数据。 记住一些事情将需要调整,例如任何引用networking接口等,因为他们必然是不同的。 希望没有任何时髦的networking与vimage进行,因为这将复杂的事情。