Running centos 7 on xhyve

xhyve 是一个基于 OS X  Hypervisor.framework 的虚拟机,非常轻量,二进制可运行文件只有200KB+,非常适合用来在MAC上虚拟 linux 或者 bsd 系统。

关于xhyve的详细介绍,建议阅读:http://www.pagetable.com/?p=831

网站上面只介绍了如何将 Ubuntu 安装到 xhyve 上面,而有很多人在生产系统使用的 centos, 下面就是我在 xhyve 上安装 centos 的记录(其实现在解决开发环境与部署环境不匹配的方案有很多,docker 就是一个很好的工具)。

  • Step 1: 安装xhyve

如果使用homebrew:

如果是编译安装:

编译完成后在 build/ 目录下可以找到可执行文件。

  • Step 2: 下载 centos 镜像,提取 kernel

这里我使用的是centos minimul iso 镜像,因为我暂时不需要 GUI 界面,只要命令行工具就可以:

因为现在的 centos 镜像是hybrid file system的(可以直接dd 到u盘烧录的),而 OS X 的hdiutil 不支持直接挂载,所以我们需要一点小小的magic:

  • Step 3: 安装 centos

首先,建立一个虚拟磁盘:

然后编写安装脚本(设置环境变量),用来在 xhyve 启动 centos 安装镜像:

将上面的脚本保存(xhyverun_install.sh),并执行:

然后进行设置安装,当安装完毕,安装程序显示:

的时候,不要着急按回车退出,我们切换到另外一个shell,把 安装完成的 kernel 和 初始化环境拷贝出来:

ok,这时候切换回第一个shell,然后关闭虚拟机:

  • 运行 centos

编写运行脚本(设置运行环境变量):

将脚本保存成 run.sh,然后执行:

然后你就可以没羞没臊的使用新的虚拟机了。。。

 

最后附上一段运行时的gif,xhyve 比 virtual box 资源占用小多了:

centos-on-xhyve

centos-on-xhyve

Leave a Reply

Your email address will not be published. Required fields are marked *