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

相关推荐
俄罗斯牛栏山26 分钟前
Linux的免交互
运维·服务器
MinIO官方账号42 分钟前
AI/ML 数据湖参考架构架构师指南
服务器·人工智能·云原生·容器·架构·kubernetes
武子康1 小时前
Hadoop-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
xml·java·大数据·服务器·hadoop·后端·hdfs
草丛中的蝈蝈1 小时前
工控机和电脑一直ping不通
服务器·电脑·负载均衡
skywalk81631 小时前
一台TrinityCore服务器客户端连接网速慢(未解决)
linux·运维·服务器·trinitycore
breaksoftware1 小时前
RabbitMQ实践——搭建单人聊天服务
linux·服务器·rabbitmq
T0uken1 小时前
【操作与配置】WSL配置LINUX
linux·运维·服务器
leo03083 小时前
linux 设置程序自启动
linux·运维·服务器
月光下的洪流4 小时前
自定义数据集 实例分割 MaskFormer+SOLOV2
linux·服务器·python·学习
wkj0017 小时前
Windows Server查看W3SVC IIS服务器中对应的网站日志
运维·服务器