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

相关推荐
龙哥说跨境34 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云4 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零5 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
free11 小时前
netstat中sendq/recvq用于排查发送端发送数据的问题
服务器