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
后来发现RC1版本发布,所以最终用的命令是:
vm iso https://mirrors.ustc.edu.cn/freebsd/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RC1-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 install -f myguest FreeBSD-14.1-RC1-amd64-bootonly.iso
使用-f参数,可以自动连接虚拟机,省去下面的命令。
连接虚拟机
vm console myguest
不出意外的出意外了。
dhcp拿不到ip地址
dhcp总算拿到ip地址了
在安装的过程中,多次重新安装,因此需要注意安装不成功之后的操作。
在安装的时候碰到过网络不通的情况,即使重新配置,网络通了,但是硬盘因为前面配置了zfs,导致看不见硬盘,无法进行下一步。
这时候就要重新“完全重新启动”安装过程,需要在虚拟机里关机。如果关机后进入下面状态
Consoles: userboot FreeBSD/amd64 User boot lua, Revision 1.2
ERROR: cannot open /boot/lua/loader.lua: no such file or directory.Type '?' for a list of commands, 'help' for more detailed help.
OK
需要输入
quit
退出。
安装完毕之后的正常启动
vm start myguest
vm console myguest
总结
暂时用vm-bhyve还是没有调通虚拟机的网络部分。
调试
绑定igb0网络出错
vm 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
安装的时候多次遇到获取base.txz失败的问题
或者说就卡在这里,一度以为网卡没有起来,后来专门测试这个地址:
https://download.freebsd.org/ftp/releases/amd64/amd64/14.1-BETA3/base.txz
发现没有这个文件,原来这几天FreeBSD的14.1-RC1发布了,所以BETA3的软件没有了。
重新下载14.1的安装盘:
https://mirrors.ustc.edu.cn/freebsd/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RC1-amd64-bootonly.iso
使用14.1-RC1光盘启动后无法进入安装界面
不能进入安装界面,直接进入login登录界面,而且root账户登进去还会报错退出
Fri May 31 12:52:56 UTC 2024
FreeBSD/amd64 (Amnesiac) (ttyu0)
login: root
g_vfs_done():iso9660/14_1_RC1_AMD64_BO[READ(offset=456009728, length=2048)]error = 5
2024-05-31T12:53:09.464378+00:00 - login 560 - - login on ttyu0 as root
2024-05-31T12:53:09.466283+00:00 - login 560 - - ROOT LOGIN (root) ON ttyu0
Can't mkdir /var/run/xdg
2024-05-31T12:53:09.470018+00:00 - login 560 - - pam_open_session(): Session failure
FreeBSD/amd64 (Amnesiac) (ttyu0)
login: root
2024-05-31T12:54:43.240502+00:00 - login 561 - - login on ttyu0 as root
2024-05-31T12:54:43.242543+00:00 - login 561 - - ROOT LOGIN (root) ON ttyu0
Can't mkdir /var/run/xdg
2024-05-31T12:54:43.245788+00:00 - login 561 - - pam_open_session(): Session failure
FreeBSD/amd64 (Amnesiac) (ttyu0)
login:
重新vm iso https://mirrors.ustc.edu.cn/freebsd/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RC1-amd64-bootonly.iso
再次安装,就正常了。
有时候vm console myguest无法登录
报错
vm console myguest
/usr/local/sbin/vm: ERROR: myguest doesn't appear to be a valid virtual machine
原来是myguest后面不小心有了空格...
相关文章:

vm-bhyve:bhyve虚拟机的管理系统@FreeBSD
先说情况,当前创建虚拟机后网络没有调通....不明白是最近自己点背,还是确实有难度... 缘起: 前段时间学习bhyve虚拟机,发现bvm这个虚拟机管理系统,但是实践下来发现网络方面好像有问题,至少我花了两天时间…...

【Java】刚刚!突然!紧急通知!垃圾回收!
【Java】刚刚!突然!紧急通知!垃圾回收! 文章目录 【Java】刚刚!突然!紧急通知!垃圾回收!从C语言的内存管理引入:手动回收Java的垃圾回收机制引用计数器循环引用问题 可达…...

[Algorithm][动态规划][子序列问题][最长递增子序列][摆动序列]详细讲解
目录 0.子序列 vs 子数组1.最长递增子序列1.题目链接2.算法原理详解3.代码实现 2.摆动序列1.题目链接2.题目链接3.代码实现 0.子序列 vs 子数组 子序列: 相对顺序是跟源字符串/数组是一致的但是元素和元素之间,在源字符串/数组中可以是不连续的一般时间…...

【稳定检索】2024年心理学与现代化教育、媒体国际会议(PMEM 2024)
2024年心理学与现代化教育、媒体国际会议 2024 International Conference on Psychology and Modern Education and Media 【1】会议简介 2024年心理学与现代化教育、媒体国际会议即将召开,这是一场汇聚全球心理学、教育及媒体领域精英的学术盛宴。 本次会议将深入探…...

深入了解diffusion model
diffusion model是如何运作的 会输入当时noise的严重程度,根据我们的输入来确定在第几个step,并做出不同的回应。 Denoise模组内部实际做的事情 产生一张图片和产生noise难度是不一样的,若denoise 模块产生一只带噪声的猫说明这个模块已经会…...

TransmittableThreadLocal原理
1、原理 TransmittableThreadLocal(简称TTL)是阿里巴巴开源的一个Java库,用于解决线程池中线程本地变量传递的问题。其底层原理主要是基于Java的ThreadLocal机制并对其进行扩展,以支持在父子线程间以及线程池中任务切换时&#x…...

华为昇腾310B初体验,OrangePi AIpro开发板使用测评
0、写在前面 很高兴收到官方的OrangePi AIpro开发板测试邀请,在过去的几年中,我在自己的博客写了一系列有关搭载嵌入式Linux系统的SBC(单板计算机)的博文,包括树莓派4系列、2K1000龙芯教育派、Radxa Rock5B、BeagleBo…...
GPTQ 量化大模型
GPTQ 量化大模型 GPTQ 算法 GPTQ 算法由 Frantar 等人 (2023) 提出,它从 OBQ 方法中汲取灵感,但进行了重大改进,可以将其扩展到(非常)大型的语言模型。 步骤 1:任意顺序量化 OBQ 方法选择权重按特定顺序…...

【GD32】05 - PWM 脉冲宽度调制
PWM PWM (Pulse Width Modulation) 是一种模拟信号电平的方法,它通过使用数字信号(通常是方波)来近似地表示模拟信号。在PWM中,信号的占空比(即高电平时间占整个周期的比例)被用来控制平均输出电压或电流。…...

JVM思维导图
帮助我们快速整理和总结JVM相关知识,有结构化认识和整体的思维模型 JVM相关详细知识和面试题...

Ollama+OpenWebUI+Phi3本地大模型入门
文章目录 Ollama+OpenWebUI+Phi3本地大模型入门一、基础环境二、Ollama三、OpenWebUI + Phi3Ollama+OpenWebUI+Phi3本地大模型入门 完全不懂大模型的请绕道,相信我李一舟的课程比较适合 Ollama提供大模型运行环境,OpenWebUI提供UI,Phi3就是那个大模型。 当然,Ollama支持超级…...

实战15:bert 命名实体识别、地址解析、人名电话地址抽取系统-完整代码数据
直接看项目视频演示: bert 命名实体识别、关系抽取、人物抽取、地址解析、人名电话地址提取系统-完整代码数据_哔哩哔哩_bilibili 项目演示: 代码: import re from transformers import BertTokenizer, BertForTokenClassification, pipeline import os import torch im…...

js 表格添加|删除一行交互
一、需求 二、实现 <div style"margin-bottom: 55px"><form action"" method"post" enctype"multipart/form-data" id"reportForm" name"sjf" style"margin-left: 25px;margin-bottom: 50px;&quo…...
如何选择合适的服务器硬件和配置?
业务需求 了解您的业务需求和负载。这将帮助您确定需要哪种类型的服务器(如文件服务器、数据库服务器、Web服务器等)以及所需的处理能力、内存、存储和网络性能。...

Prometheus + Grafana + Alertmanager 系统监控
PrometheusGrafana 系统监控 1. 简介1.1 Prometheus 普罗 米修斯1.2 Grafana 2. 快速试用2.1 Prometheus 普罗 米修斯2.2 Prometheus 配置文件2.3 Grafana 2. 使用 Docker-Compose脚本部署监控服务3. Grafana 配置3.1 配置数据源 Prometheus3.2 使用模板ID 配置监控模板3.3 使用…...

5.23R语言-参数假设检验
理论 方差分析(ANOVA, Analysis of Variance)是统计学中用来比较多个样本均值之间差异的一种方法。它通过将总变异分解为不同来源的变异来检测因子对响应变量的影响。方差分析广泛应用于实验设计、质量控制、医学研究等领域。 方差分析的基本模型 方差…...
rnn 和lstm源码学习笔记
目录 rnn学习笔记 lstm学习笔记 rnn学习笔记 import torchdef rnn(inputs, state, params):# inputs的形状: (时间步数量, 批次大小, 词表大小)W_xh, W_hh, b_h, W_hq, b_q paramsH stateoutputs []# 遍历每个时间步for X in inputs:# 计算隐藏状态 HH torch.tanh(torch.…...
解析Java中1000个常用类:CharSequence类,你学会了吗?
在 Java 编程中,字符串操作是最常见的任务之一。为了提供一种灵活且统一的方式来处理不同类型的字符序列,Java 引入了 CharSequence 接口。 通过实现 CharSequence 接口,各种字符序列类可以提供一致的 API,增强了代码的灵活性和可扩展性。 本文将深入探讨 CharSequence 接…...
微服务远程调用之拦截器实战
微服务远程调用之拦截器实战 前言: 在我们开发过程中,很可能是项目是从0到1开发,或者在原有基础上做二次开发,这次是根据已有代码做二次开发,需要在我们微服务一【这里方便举例,我们后面叫模版微服务】调用…...

德人合科技——天锐绿盾内网安全管理软件 | -文档透明加密模块
天锐绿盾文档加密功能能够为各种模式的电子文档提供高强度加密保护,丰富的权限控制以及灵活的应用管理,帮助企业构建更严密的立体保密体系。 PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee ————…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...