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

相关推荐
爱吃青椒不爱吃西红柿‍️19 分钟前
华为ASP与CSP是什么?
服务器·前端·数据库
hzyyyyyyyu1 小时前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全
Mr_Xuhhh3 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
中云DDoS CC防护蔡蔡4 小时前
微信小程序被攻击怎么选择高防产品
服务器·网络安全·微信小程序·小程序·ddos
HPC_fac130520678165 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
yaoxin5211236 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
sinat_3842410910 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
Kkooe11 小时前
GitLab|数据迁移
运维·服务器·git
虚拟网络工程师13 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb