返回博客

在云端运行 FreeBSD、NetBSD 和 OpenBSD

在云端运行 FreeBSD、NetBSD 和 OpenBSD

随着我们赞助 EuroBSDcon 2013,一篇关于 FreeBSD、NetBSD 和 OpenBSD 主题的博文似乎正合时宜。

如果您还不知道,我们是世界上少数允许您运行未经修改的 FreeBSD、NetBSD 和 OpenBSD(包括 pfSense 等衍生版本)的云服务商之一。

如果您只是想体验一下这些系统,最快的方法是直接从我们的磁盘库中克隆其中一个镜像。这样您就可以在几分钟内启动并运行。这些镜像提供了安装说明,您在启动它们之前应该看一看。安装说明中包括了如何获取密码等内容。

创建服务器时,同样重要的一点是,您需要转到服务器设置的‘Advanced’选项卡,并将‘CPU Model’设置为‘KVM64’。否则,您将无法启动系统(详见下文)。此外,请确保将磁盘挂载为 Virtio(而不是 IDE)。(如果您对 Virtio 不熟悉,它基本上是一个针对虚拟化环境进行优化的 I/O 驱动程序,可以为您提供更好的性能。)

自行安装 FreeBSD

许多技术用户更喜欢从头开始自行安装系统(包括我本人)。这让您可以更大程度地控制系统的设置方式,并能够确定磁盘的大小以及分区的设置方式,而无需费尽周折。

服务器设置

在设置服务器时,有几件事需要您牢记。

对于 FreeBSD(版本 9.1/8.3 及更早版本):
OpenBSD 和 NetBSD 都开箱即用支持 Virtio。然而 FreeBSD 9.1 并不支持(但 FreeBSD 9.2/8.4 支持)。因此,在安装过程中,您需要使用 IDE 挂载安装介质和硬盘。

您还需要卸载连接到服务器的网络接口(因为它使用的是 Virtio),并将其替换为其他接口,例如 Intel Pro/1000。

所有系统:
接下来您需要更改的是 CPU 透传。在撰写本文时,所有的 BSD 系统都无法与我们正在使用的相当新的宿主机 CPU 很好地兼容。因此,您需要转到‘Advanced’ -> ‘CPU Model’ 并将其设置为‘KVM64’(请参阅下文的‘Kernel trap 12 with interrupts disabled’)。

进行这些设置后,您应该能够引导并运行安装程序。

FreeBSD:安装 Virtio 驱动程序(版本 9.1/8.3 及更早版本)

在 FreeBSD 上,安装 Virtio 驱动程序非常简单。假设您已经安装了 ports-tree:

[bash] $ cd /usr/ports/emulators/virtio-kmod
$ make clean install
[/bash]

安装完成后,只需按照安装后的说明进行操作即可。

按照说明操作后,关闭机器电源,卸载网络和系统磁盘,然后使用 Virtio 重新挂载相同的磁盘。

大功告成!

就是这样。现在,您应该已经在我们的云上运行了您自己安装的最喜欢的 BSD 版本。

Kernel trap 12 with interrupts disabled

kernel_trap_12

如果您在启动系统时收到上述错误,请不要担心。这与我们宿主机系统上使用的 CPU 有关。解决方案很简单。关闭服务器电源,转到‘Advanced’并将‘CPU Model’更改为‘KVM64’。

kvm64

完成这些操作后,您应该能够毫无问题地启动服务器。

一如既往,如果您遇到任何问题或有任何反馈,请在下方留言。

祝您 hacking 愉快!

更新: 感谢 @freebsdhelp 指出 FreeBSD 8.4 自带 Virtio。
更新 2: FreeBSD 9.2 在本文发表后发布,它内置了 Virtio。

author

Viktor Petersson

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。