vm-bhyve:bhyve虚拟机的管理系统@FreeBSD

先说情况,当前创建虚拟机后网络没有调通....不明白是最近自己点背,还是确实有难度...

缘起:

前段时间学习bhyve虚拟机,发现bvm这个虚拟机管理系统,但是实践下来发现网络方面好像有问题,至少我花了两天时间都没有配置成功。于是继续寻找,通过pkg search bhyve,发现了vm-bhyve这个虚拟机的管理系统。

复制代码
pkg search bhyve

bhyve+-0.1.0 BHyVe with unofficial extensions

bhyve-firmware-1.0_1 Collection of Firmware for bhyve

bhyve-rc-4 FreeBSD RC script for starting bhyve guests in tmux

edk2-bhyve-g202308_4 EDK2 Firmware for bhyve

grub2-bhyve-0.40_10 Grub-emu loader for bhyve

rubygem-vagrant-bhyve-0.1.0 Vagrant provider plugin to support bhyve

u-boot-bhyve-arm64-2023.10_1 Cross-build das u-boot for model bhyve-arm64

uefi-edk2-bhyve-csm-0.2_4,1 UEFI EDK2 firmware for bhyve with CSM (16-bit BIOS)

vm-bhyve-1.5.0 Management system for bhyve virtual machines

vm-bhyve-devel-1.5.0.26

介绍

bhyve是FreeBSD下的虚拟化解决方案,它提供了一种在FreeBSD上创建和运行虚拟机的方法。支持多种操作系统,高效精简。

使用命令行操作,帮助用户轻松创建、启动和停止虚拟机。

快速使用

复制代码
1. pkg install vm-bhyve
2. zfs create pool/vm
3. sysrc vm_enable="YES"
4. sysrc vm_dir="zfs:pool/vm"
5. vm init
6. cp /usr/local/share/examples/vm-bhyve/* /mountpoint/for/pool/vm/.templates/
7. vm switch create public
8. vm switch add public em0
9. vm iso https://download.freebsd.org/ftp/releases/ISO-IMAGES/11.2/FreeBSD-11.2-RELEASE-amd64-bootonly.iso
10. vm create myguest
11. vm install [-f] myguest FreeBSD-11.2-RELEASE-amd64-bootonly.iso
12. vm console myguest

下面是详细安装使用过程。

安装

直接使用pkg进行安装

复制代码
pkg install vm-bhyve

安装之后提示:

--

To enable vm-bhyve, please add the following lines to rc.conf,

depending on whether you are using ZFS storage or not. Please note

that the directory or dataset specified should already exist.

vm_enable="YES"

vm_dir="zfs:pool/dataset"

OR

vm_enable="YES"

vm_dir="/directory/path"

Then run 'vm init'.

因此我们需要按照提示进行相应的配置。

配置

设置启动配置

按照提示进行配置,可以直接使用命令:

sysrc vm_enable="YES"

sysrc vm_dir="/root/vmbhyve"

也可以将以下两句写入/etc/rc.conf文件,然后执行 sh /etc/sh 即可。

vm_enable="YES"

vm_dir="/root/vmbhyve"

然后进行初始化:

vm init

将例子文件拷贝到主目录

cp /usr/local/share/examples/vm-bhyve/* /root/vmbhyve/.templates/

配置网络

复制代码
vm switch create public
vm switch add public em0

对我的机器来说,是igb0网口

wm switch add public igb0

启动

配置安装光盘

vm iso https://mirrors.ustc.edu.cn/freebsd/releases/ISO-IMAGES/14.1/FreeBSD-14.1-BETA3-amd64-bootonly.iso

vm install myguest http://FreeBSD-14.1-BETA3-amd64-bootonly.iso

开始启动

vm install myguest FreeBSD-14.1-BETA3-amd64-bootonly.iso

Starting myguest

* found guest in /root/vmbhyve/myguest

* booting...

root@fbhost:~/vmbhyve #

连接虚拟机

vm console myguest

不出意外的出意外了。

dhcp拿不到ip地址

总结

暂时用vm-bhyve还是没有调通虚拟机的网络部分。

调试

绑定igb0网络出错

switch add public igb0

/usr/local/sbin/vm: ERROR: failed to add member igb0 to the virtual switch public

好像这台机器的虚拟网那边有些乱了。强制虚拟机运行起来,也是无法拿到dhcp地址,手工设地址也连不上。

启动虚拟机报错

vm install testvm freeBSD-14.1-BETA3-amd64-bootonly.iso

/usr/local/sbin/vm: ERROR: unable to locate iso file - 'freeBSD-14.1-BETA3-amd64-bootonly.iso'

不明白这里为什么没有这个iso

后来怎么又不报错了呢? 反正又从中科大重新配了一下启动光盘,就好了:

复制代码
vm iso https://mirrors.ustc.edu.cn/freebsd/releases/ISO-IMAGES/14.1/FreeBSD-14.1-BETA3-amd64-bootonly.iso

网络不通

把这两句配上试试

复制代码
network0_type="virtio-net"
network0_switch="public"

还是不通,最近调的虚拟机网络都不通...

vm console myguest 无法连接虚拟主机

/usr/local/sbin/vm: ERROR: myguest doesn't appear to be a valid virtual machine

但是换了一个控制台,就登上去了。

命令报错-su: switch: not found

而且用其它的没有的命令测试,也是有-su的报错:

-su: ldde: not found

为什么发的命令会报错:-su: ldde: not found ,如果没有ldde这个命令,也不应该有-su 什么事啊

原来命令前面少了vm,不是 switch add public igb0, 而整个命令是:

vm switch add public igb0

相关推荐
a3158238064 分钟前
Android Framework开发知识点整理
android·java·linux·服务器·framework·android源码开发
越来越无动于衷1 小时前
HTTP 文件服务器 Windows 开机自启动全维度总结
服务器·windows·http
_w_z_j_2 小时前
Linux----信号(产生、保存、处理)
linux·运维·服务器
专家大圣2 小时前
远程调式不复杂!内网服务器调试用对工具很简单
运维·服务器·网络·内网穿透·cpolar
gs801402 小时前
Ascend 服务器是什么?(Ascend Server / 昇腾服务器)
运维·服务器·人工智能
Xの哲學2 小时前
Linux RTC深度剖析:从硬件原理到驱动实践
linux·服务器·算法·架构·边缘计算
卷到起飞的数分3 小时前
22.Maven高级——继承与聚合
服务器·spring boot
西格电力科技3 小时前
光伏策略控制服务器的核心价值与应用必要性
运维·服务器
拾忆,想起3 小时前
Dubbo配置方式大全:七种配置任你选,轻松玩转微服务!
服务器·网络·网络协议·微服务·云原生·架构·dubbo
gaize12133 小时前
服务器的安全性如何保障
服务器·云计算