![parallels freebsd1](../../../../images/books/handbook/virtualization/parallels-freebsd1.png)
第 23 章 虚拟化
This translation may be out of date. To help with the translations please access the FreeBSD translations instance.
Table of Contents
23.1. 概述
虚拟化软件能够让同一台机器上同时运行多个操作系统。 在 PC 上, 这种系统通常由一个运行虚拟化软件的宿主操作系统, 以及一系列客户操作系统组成。
读完这章, 您将了解:
宿主操作系统与客户操作系统的区别。
如何在采用 Intel® 处理器的 Apple® Macintosh® 计算机上安装 FreeBSD。
如何在 Microsoft® Windows® 以 Virtual PC 安装 FreeBSD。
如何针对虚拟化环境对 FreeBSD 系统进行性能调优。
在阅读这章之前, 您应:
理解 UNIX® 和 FreeBSD 的基础知识 (UNIX 基础)。
了解如何安装 FreeBSD (安装 FreeBSD)。
了解如何配置网络连接 (高级网络)。
了解如何安装第三方软件 (安装应用程序. Packages 和 Ports).
23.2. 作为客户 OS 的 FreeBSD
23.2.1. MacOS 上的 Parallels
为 Mac® 设计的 Parallels Desktop 是一种可用于采用 Intel® 处理器, 并运行 Mac OS® 10.4.6 或更高版本的 Apple® Mac® 计算机的商业软件。 它为 FreeBSD 系统提供了完整的支持。 在 Mac OS® X 上安装了这个软件之后, 用户需要配置虚拟机并安装所需的客户操作系统。
23.2.1.1. 在 Parallels/Mac OS® X 上安装 FreeBSD
在 Mac OS® X/Parallels 上安装 FreeBSD 的第一步是创建一个新的虚拟机。 在系统提示选择客户 OS 类型 (Guest OS Type) 时选择
, 并根据您使用 FreeBSD 虚拟实例的需要分配磁盘和内存:![parallels freebsd1](../../../../images/books/handbook/virtualization/parallels-freebsd1.png)
对多数在 Parallels 上使用 FreeBSD 的情形而言, 4GB 磁盘空间和 512MB 的 RAM 就够用了:
![parallels freebsd2](../../../../images/books/handbook/virtualization/parallels-freebsd2.png)
![parallels freebsd3](../../../../images/books/handbook/virtualization/parallels-freebsd3.png)
![parallels freebsd4](../../../../images/books/handbook/virtualization/parallels-freebsd4.png)
![parallels freebsd5](../../../../images/books/handbook/virtualization/parallels-freebsd5.png)
选择使用的网络和网卡类型:
![parallels freebsd6](../../../../images/books/handbook/virtualization/parallels-freebsd6.png)
![parallels freebsd7](../../../../images/books/handbook/virtualization/parallels-freebsd7.png)
保存并完成配置:
![parallels freebsd8](../../../../images/books/handbook/virtualization/parallels-freebsd8.png)
![parallels freebsd9](../../../../images/books/handbook/virtualization/parallels-freebsd9.png)
在创建了 FreeBSD 虚拟机之后, 还需要在其中安装 FreeBSD。 最好的做法是使用官方的 FreeBSD CDROM 或从官方 FTP 站点下载的 ISO 镜像来完成这个任务。 如果您的本地 Mac® 文件系统中有 ISO 映像文件, 或您的 Mac® 的 CD 驱动器中有 CDROM, 就可以在 FreeBSD Parallels 窗口的右下角点击光盘图标。 之后, 系统将给出一个窗口, 供您完成将虚拟机中的 CDROM 驱动器连接到本地的 ISO 文件或真正的 CDROM 驱动器上。
![parallels freebsd11](../../../../images/books/handbook/virtualization/parallels-freebsd11.png)
在完成了将 CDROM 与您的安装源完成关联之后, 就可以按重启 (reboot) 图标来重启 FreeBSD 虚拟机了。 Parallels 将配合一个特殊的 BIOS 启动, 后者能够像普通的 BIOS 一样检查系统中是否有 CDROM 驱动器。
![parallels freebsd10](../../../../images/books/handbook/virtualization/parallels-freebsd10.png)
此时, 它就能够找到 FreeBSD 安装介质并开始 安装 FreeBSD 中所介绍的标准的基于 sysinstall 安装的过程。
![parallels freebsd12](../../../../images/books/handbook/virtualization/parallels-freebsd12.png)
此时您可以安装 X11, 但暂时不要对它进行配置。 在完成安装之后, 重启并进入新安装的 FreeBSD 虚拟机。
![parallels freebsd13](../../../../images/books/handbook/virtualization/parallels-freebsd13.png)
23.2.1.2. 在 Mac OS® X/Parallels 上配置 FreeBSD
在您将 FreeBSD 安装到 Mac OS® X 的 Parallels 上之后, 还需要进行一系列的配置, 以便为系统的虚拟化操作进行优化。
配置引导加载器变量
最重要的一步是通过调低
kern.hz
变量来降低 Parallels 环境中的 FreeBSD 对 CPU 的使用。 这可以通过在 /boot/loader.conf 中增加下述配置来完成:kern.hz=100
如果不使用这个配置, 闲置的 FreeBSD Parallels 客户 OS 会在单处理器的 iMac® 上使用大约 15% 的 CPU。 如此修改之后, 空闲时的使用量就减少到大约 5% 了。
创建新的内核配置文件
配置网络
最基本的网络配置, 是通过使用 DHCP 来将您的虚拟机与宿主 Mac® 接入同一个局域网。 这可以通过在 /etc/rc.conf 中加入
ifconfig_ed0="DHCP"
来完成。 更高级一些的网络配置方法, 请参见 高级网络 中的介绍。
23.2.2. Windows® 上的 Virtual PC
Virtual PC 是 Microsoft® 上的 Windows® 软件产品, 可以免费下载使用。 相关系统要求,请参阅 system requirements 说明。 在 Microsoft® Windows® 装完 Virtual PC 之后, 必须针对所安装的虚拟机器来做相应设定。
23.2.2.1. 在 Virtual PC/Microsoft® Windows® 上安装 FreeBSD
在 Microsoft® Windows®/Virtual PC 上安装 FreeBSD 的第一步是新增虚拟器。 如下所示,在提示向导中请选择
:![virtualpc freebsd1](../../../../images/books/handbook/virtualization/virtualpc-freebsd1.png)
![virtualpc freebsd2](../../../../images/books/handbook/virtualization/virtualpc-freebsd2.png)
然后在
处选 :![virtualpc freebsd3](../../../../images/books/handbook/virtualization/virtualpc-freebsd3.png)
并依据自身需求来规划硬盘容量和内存的分配。对大多数在 Virtual PC 使用 FreeBSD 的情况而言, 大约 4GB 的硬盘空间以及 512MB 的内存就够用了。
![virtualpc freebsd4](../../../../images/books/handbook/virtualization/virtualpc-freebsd4.png)
![virtualpc freebsd5](../../../../images/books/handbook/virtualization/virtualpc-freebsd5.png)
保存并完成配置:
![virtualpc freebsd6](../../../../images/books/handbook/virtualization/virtualpc-freebsd6.png)
接下来选择新建的 FreeBSD 虚拟机器,并单击 Settings, 以设定网络种类以及网卡:
![virtualpc freebsd7](../../../../images/books/handbook/virtualization/virtualpc-freebsd7.png)
![virtualpc freebsd8](../../../../images/books/handbook/virtualization/virtualpc-freebsd8.png)
在新建 FreeBSD 虚拟机器以后, 就可以继续以其安装 FreeBSD。 安装方面, 比较好的作法是使用官方的 FreeBSD 光盘或从官方 FTP 站下载 ISO 镜像。 若您的 Windows® 系统 内已有该 ISO 镜像, 那么就可以在 FreeBSD 虚拟机器上双击, 以开始启动。 接着在 Virtual PC 窗口内按 CD 再按 Capture ISO Image…。 接着出现一个对话框, 可以把虚拟机器内的光驱设定到该 ISO 镜像, 或者是真实的光驱。
![virtualpc freebsd9](../../../../images/books/handbook/virtualization/virtualpc-freebsd9.png)
![virtualpc freebsd10](../../../../images/books/handbook/virtualization/virtualpc-freebsd10.png)
设好光盘来源之后,就可以重新开机, 也就是先按 Action 再按 Reset 即可。 Virtual PC 会以特殊 BIOS 开机, 并与普通 BIOS 一样会先检查是否有光盘驱动器。
![virtualpc freebsd11](../../../../images/books/handbook/virtualization/virtualpc-freebsd11.png)
此时, 它会找到 FreeBSD 安装光盘, 并开始在 安装 FreeBSD 内所介绍的 sysinstall 安装过程。 这时候也可以顺便安装 X11, 但不要进行相关设定。
![virtualpc freebsd12](../../../../images/books/handbook/virtualization/virtualpc-freebsd12.png)
完成安装之后, 记得把安装光盘或者 ISO 镜像退出。 最后, 把装好的 FreeBSD 虚拟机器重新开机即可。
![virtualpc freebsd13](../../../../images/books/handbook/virtualization/virtualpc-freebsd13.png)
23.2.2.2. 调整 Microsoft® Windows®/Virtual PC 上的 FreeBSD
在 Microsoft® Windows® 上以 Virtual PC 装好 FreeBSD 后, 还需要做一些设定步骤, 以便将虚拟机内的 FreeBSD 最佳化。
设定 boot loader 参数
最重要的步骤乃是藉由调降
kern.hz
来降低 Virtual PC 环境内 FreeBSD 的 CPU 占用率。 在 /boot/loader.conf 内加上下列设定即可:kern.hz=100
若不作这设定, 那么光是 idle 状态的 FreeBSD Virtual PC guest OS 就会在单一处理器的电脑上大约有 40% 的 CPU 占用率。 作了上述修改之后, 占用率大约会降至 3%。
建立一个新的内核配置文件
设定网络
可以给虚拟机器简单得使用 DHCP 来设定与 host (Microsoft® Windows®) 相同的本地网络环境, 只要在 /etc/rc.conf 加上
ifconfig_de0="DHCP"
即可完成。 其他的高级网络设置, 可参阅 高级网络.
23.2.3. 运行于 MacOS 的 VMware
Mac® 版本的 VMware Fusion 是一个商业软件,运行在基于 Intel® 的 Apple® Mac® 计算机的 Mac OS® 10.4.9 或更版本的操作系统上。 FreeBSD 是一个完全被支持的客户操作系统。 在 Mac OS® X 上安装了 VMware Fusion 之后, 用户就可以着手配置一个虚拟机器并安装客户操作系统。
23.2.3.1. 在 VMware/Mac OS® X 上安装 FreeBSD
第一步是运行 VMware Fusion, 虚拟机器库将被装载。 单击 "New" 创建 VM:
![vmware freebsd01](../../../../images/books/handbook/virtualization/vmware-freebsd01.png)
New Virtual Machine Assistant 将被运行来帮助你创建 VM, 单击 Continue 继续:
![vmware freebsd02](../../../../images/books/handbook/virtualization/vmware-freebsd02.png)
在
项选择 , 项可选 或 。![vmware freebsd03](../../../../images/books/handbook/virtualization/vmware-freebsd03.png)
选一个你想要的 VM 镜像名字和存储的目录位置。
![vmware freebsd04](../../../../images/books/handbook/virtualization/vmware-freebsd04.png)
选择 VM 虚拟硬盘的大小:
![vmware freebsd05](../../../../images/books/handbook/virtualization/vmware-freebsd05.png)
选择安装 VM 的方式, 从一个 ISO 镜像或一张 CD 安装:
![vmware freebsd06](../../../../images/books/handbook/virtualization/vmware-freebsd06.png)
一旦你点击了 Finish, VM 就会启动了:
![vmware freebsd07](../../../../images/books/handbook/virtualization/vmware-freebsd07.png)
以你通常的方式安装 FreeBSD 或者参照 安装 FreeBSD 中的步骤:
![vmware freebsd08](../../../../images/books/handbook/virtualization/vmware-freebsd08.png)
安装完成之后,你就可以修改一些 VM 的设定,比如内存大小:
在 VM 运行的时候,VM 系统硬件的设置是无法修改的。 |
![vmware freebsd09](../../../../images/books/handbook/virtualization/vmware-freebsd09.png)
配置 VM 的 CPU 数量:
![vmware freebsd10](../../../../images/books/handbook/virtualization/vmware-freebsd10.png)
CD-ROM设备的状态。通常当你不在需要 CDROM/ISO 的时候可以切断他们跟 VM 的连接。
![vmware freebsd11](../../../../images/books/handbook/virtualization/vmware-freebsd11.png)
最后一项需要修改的是 VM 与网络连接的方式。 如果你希望除了宿主以外的机器也能连接到 VM, 请选择
。选择 的话, VM 可以连接上网络,但是不能从外面访问。![vmware freebsd12](../../../../images/books/handbook/virtualization/vmware-freebsd12.png)
在你修改完设定之后,就可以从新安装的 FreeBSD 虚拟机器启动了。
23.2.3.2. 配置运行于 Mac OS® X/VMware 上的 FreeBSD
在 Mac OS® X 上的 VMware 上安装完 FreeBSD 之后,有些配置的步骤可用来优化虚拟系统。
设置 boot loader 变量
最重要的步骤是降低
kern.hz
来减少 VMware 上 FreeBSD 的 CPU 使用率。这需要在 /boot/loader.conf 里加入以下这行设定:kern.hz=100
如果没有这项设定,VMware 上的 FreeBSD 客户 OS 空闲时将占用 iMac® 上一个 CPU 大约 15% 的资源。在修改此项设定之后仅为 5%。
创建一个新的内核配置文件
设置网络
最基本的网络设定包括简单的使用 DHCP 把你的虚拟机器连接到宿主 Mac® 相同的本地网络上。 在 /etc/rc.conf 中加入:
ifconfig_em0="DHCP"
。 更多有关网络的设置可以参阅 高级网络。
23.3. 作为宿主 OS 的 FreeBSD
在过去的几年中 FreeBSD 并没有任何可用的并被官方支持的虚拟化解决方案。 一些用户曾时使用过利用 Linux® 二进制兼容层运行的 VMware 陈旧并多半已过时的版本 (比如 emulators/vmware3)。 在 FreeBSD 7.2 发布不久, Sun 开源版本 (Open Source Edition OSE) 的 VirtualBox™ 作为一个 FreeBSD 原生的程序出现在了 Ports Collection 中。
VirtualBox™ 是一个开发非常活跃, 完全虚拟化的软件, 并且可在大部份的操作系统上使用, 包括 Windows®, Mac OS®, Linux® 和 FreeBSD。同样也能把 Windows® 或 UNIX® 作为客户系统运行。 它有一个开源和一个私有两种版本。 从用户的角度来看, OSE 版本最主要的限制也许是缺乏 USB 的支持。 其他更多的差异可以通过链接 http://www.virtualbox.org/wiki/Editions 查看 "Editions" 页面。 目前, FreeBSD 上只有 OSE 版本可用。
23.3.1. 安装 VirtualBox™
VirtualBox™ 已作为一个 FreeBSD port 提供, 位于 emulators/virtualbox-ose, 可使用如下的命令安装:
# cd /usr/ports/emulators/virtualbox-ose
# make install clean
在配置对话框中的一个有用的选项是 GusetAdditions
程序套件。 这些在客户操作系统中提供了一些有用的特性, 比如集成鼠标指针 (允许在宿主和客户系统间使用鼠标, 而不用事先按下某个特定的快捷键来切换) 和更快的视频渲染, 特别是在 Windows® 客户系统中。 在安装了客户操作系统之后, 客户附加软件可在 Devices 菜单中找到。
在第一次运行 VirtualBox™ 之前还需要做一些配置上的修改。port 会安装一个内核模块至 /boot/modules 目录, 此模块需要事先加载:
# kldload vboxdrv
可以在 /boot/loader.conf 中加入以下的配置使此模块在机器重启之后能自动加载:
vboxdrv_load="YES"
在 3.1.2 之前版本的 VirtualBox™ 需要挂接 proc 文件系统。 在新版本中不再有此要求, 因为它们使用了由 sysctl(3) 库提供的功能。
当使用旧版本的 port 时, 需要使用下面的步骤来挂载 proc:
# mount -t procfs proc /proc
为了使配置能在重启后始终生效, 需要在 /etc/fstab 中加入以下这行:
proc /proc procfs rw 0 0
如果在运行 VirtualBox™ 的终端中发现了类似如下的错误消息:
此故障可能是由 proc 文件系统导致的。 请使用 |
在安装 VirtualBox™ 时会自动创建 vboxusers
组。 所有需要使用 VirtualBox™ 的用户必须被添加为此组中的成员。 可以使用 pw
命令添加新的成员:
# pw groupmod vboxusers -m yourusername
运行 VirtualBox™, 可以通过选择你当前图形环境中的
, 也可以在虚拟终端中键入以下的命令:% VirtualBox
获得更多有关配置和使用 VirtualBox™ 的信息, 请访问官方网站 http://www.virtualbox.org。 鉴于 FreeBSD port 非常新, 并仍处于开发状态。请查看 FreeBSD wiki 上的相关页面 http://wiki.FreeBSD.org/VirtualBox 以获取最新的信息和故障排查细则。
Last modified on: March 9, 2024 by Danilo G. Baio