Bhyve 是 FreeBSD 自带的虚拟化实现,其高效精简,且支持 PCI 设备直通。
安装和初始化管理工具 vm-bhyve
在 FreeBSD 下使用 Bhyve 建议使用 vm-bhhyve (https://github.com/churchers/vm-bhyve)这个工具进行管理,其提供的 vm 命令有大量功能可以轻松的管理 bhyve 虚拟机。
# 安装 vm-bhyve 命令,以及 grub2-bhyve 以支持 grub 启动 Linux pkg install vm-bhyve grub2-bhyve bhyve-firmware # 创建 ZFS 数据集用于存储虚拟机文件,我们这里把数据集 zroot/vm 挂载到 /vm 位置 zfs create -o mountpoint=/vm zroot/vm # 配置 vm-bhyve 开机启动及指定数据目录位置,如果不是 ZFS 数据集,vm_dir 可直接指定目录位置,无需 zfs: 前缀 sysrc vm_enable="YES" sysrc vm_dir="zfs:zroot/vm" # 初始化 vm-bhyve 生成系统初始化必备文件 vm init cp /usr/local/share/examples/vm-bhyve/* /mountpoint/for/pool/vm/.templates/ # 创建公共的虚拟交换机,并将主机网卡加入交换机,作为后续虚拟机桥接用 vm switch create public vm switch add public em0
此时 bhyve 环境就准备好了,接下来是创建 Ubuntu 的一些步骤。
安装 Ubuntu 虚拟机
# 下载 Ubuntu ISO 文件并加入到 vm 管理中 vm iso https://mirror.nju.edu.cn/ubuntu-releases/20.04.4/ubuntu-20.04.4-live-server-amd64.iso # 使用预设的 ubuntu 模板(/vm/.templates/ubuntu.conf)创建名为 ubuntu20 的虚拟机 vm create -t ubuntu -s 80G ubuntu20 # 使用 iso 启动虚拟机安装 vm install ubuntu20 ubuntu-20.04.4-live-server-amd64.iso # 进入该虚拟机的控制台进行安装操作 vm console ubuntu20
这里需要注意以下三点:
一、安装 Ubuntu 时虚拟机至少要给 768M 内存,建议 1G(否则会报 "initramfs unpacking failed: write error" 错误),安装完之后正常可以降低内存运行。
使用以下命令打开 ubuntu20 的配置文件,该配置可修改虚拟机的 CPU 和内存、挂载的设备、网络配置等等。
vm configure ubuntu20 # 修改配置后需要重启虚拟机才能生效 vm restart ubuntu20
二,安装完后启动如果停留在 grub shell 界面,此是需配置 grub 加载分区和位置。
添加以下配置到虚拟机中(配置中的值可以在 grub shell 中通过命令找到):
grub_run_partition="gpt2" grub_run_dir="/grub"
然后重启虚拟机。
三、在安装完成后通过 df -h 可能会发现 Ubuntu 并未使用虚拟磁盘所有空间,比如给的虚拟磁盘是 100G,但是在 Ubuntu 里看却只有 50G。
这是因为在安装时选用了 LVM 进行磁盘管理导致的,此时执行以下步骤扩展 LVM 使用磁盘的全部可用空间。
# 增加物理卷 (pv) 至最大可用空间 pvresize /dev/sda3 # 扩展逻辑卷 (LV) 使用剩下的所有可用空间 lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv # 重置文件系统大小 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
其它
给虚拟机添加一块磁盘
vm add -d disk -s 100G ubuntu
使用 screen 或 tmux 进入控制台后,可以防止无法退出控制台的现象(虽然一般安装后我们都使用 SSH 来登录)。
# 安装 screen 命令 pkg install screen # 使用 screen 打开一个屏幕进行 ubuntu20 的控制台 screen -S cc vm console ubuntu20 # 使用 Ctrl + A 再按 K 结束屏幕
将虚拟机加入到开机启动中
sysrc vm_list+=ubuntu20
参考资料:
https://github.com/churchers/vm-bhyve
https://github.com/churchers/vm-bhyve/issues/208
https://www.linuxidc.com/Linux/2015-08/121117.htm
评论 共有 0 条评论
暂无评论,快发表你的评论吧。