news 2026/10/30 16:46:36

用bhyve-webadmin来管理FreeBSD系统下的bhyve虚拟机(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用bhyve-webadmin来管理FreeBSD系统下的bhyve虚拟机(上)

BVCP((Bhyve Virtual-Machine Control Panel ,bhyve-webadmin )是一个图形化和安全的web控制面板,旨在管理FreeBSD bhyve虚拟机。BVCP专为数据中心级可靠性而设计,专为连续24/7运行而构建,专注于稳定性和性能。它是一个本机FreeBSD应用程序,具有简单的一键安装过程,确保快速轻松的部署。BVCP独立于系统配置运行,不修改现有设置,允许它在大多数环境中平稳运行。使用BVCP,管理员可以通过单个统一的界面管理多个物理主机,而不需要集群。

bhyve-webadmin网址:KGitHub - DaVieS007/bhyve-webadmin: FreeBSD Bhyve Web Administration Software

下载软件

如果用git下载,我看整个仓库挺大的,大约1G左右,所以我们还是直接下载它的代码压缩包

fetch https://bhyve.npulse.net/release.tgz

如果没有fetch,就用wget

下载完毕解压缩

tar -xzvf release.tgz

安装

进入目录执行安装脚本

sudo sh install.sh

安装界面

安装完成

██████╗ ██╗ ██╗ ██████╗██████╗ ██╔══██╗██║ ██║██╔════╝██╔══██╗ ██████╔╝██║ ██║██║ ██████╔╝ ██╔══██╗╚██╗ ██╔╝██║ ██╔═══╝ ██████╔╝ ╚████╔╝ ╚██████╗██║ ╚═════╝ ╚═══╝ ╚═════╝╚═╝ Bhyve Virtual-Machine Control Panel under FreeBSD N 2026-01-16 19:30:06 | BVCP | Initialising BVCP-Backend 2.2.0p2 Application Available Command Line Arguments: - /var/lib/nPulse/BVCP/Backend/vmm setup Initial Setup - /var/lib/nPulse/BVCP/Backend/vmm resecure Change API Keys - /var/lib/nPulse/BVCP/Backend/vmm reset_password Change Admin Credential - /var/lib/nPulse/BVCP/Backend/vmm cli CLI Interface Dropping to CLI .. N 2026-01-16 19:30:07 | INTR | TCP Buffers Adjusted: R:64.00KB,S:32.00KB E 2026-01-16 19:30:07 | BVCP | CLI Connection Failed: 127.0.0.1:8628 N 2026-01-16 19:30:07 | SW | Program exited gracefully... Installation Finished! Navigate: https://[your-ip]:8086

一些有用的信息

(!) Admin Credentials recreated,
- User: admin
- Password: zGW88Jfw

Available Command Line Arguments:
- /var/lib/nPulse/BVCP/Backend/vmm setup Initial Setup
- /var/lib/nPulse/BVCP/Backend/vmm resecure Change API Keys
- /var/lib/nPulse/BVCP/Backend/vmm reset_password Change Admin Credential
- /var/lib/nPulse/BVCP/Backend/vmm cli CLI Interface
Dropping to CLI ..

浏览器端口连接

浏览器连8086端口,这样的

使用启动时提醒的密码登录,进入管理页面

完蛋了,改了密码进不去了。

重复执行install,再次进去。也可以重置密码,见调试部分。

更新密码的时候,要把账户写成邮箱地址才可以。密码先不改。

这回ok了,可以登进去。

配置bhyve的公共内容

添加网卡

添加存储

安装Ubuntu22.04版本

下载iso

到163加速镜像http://mirrors.163.com/ubuntu-releases/jammy/去下载iso

wget http://mirrors.163.com/ubuntu-releases/jammy/ubuntu-22.04.5-live-server-amd64.iso

突然发现清华和中科大的镜像里面都没有amd64的安装盘了,只有arm和riscv的了。

创建ubuntu虚拟机

但是创建后,配置cdrom,无法找到文件!原来要放到/vms/iso_images 这个目录里

启动

见到了久违的装机画面

好了就先到这里吧。

总结

尽管是浏览器web控制,我也是晕头转向的,这个配置起来没有想象的那么顺利啊!

原来卡在cdrom,是因为没有把镜像文件放到指定的位置:/vms/iso_images 这个目录。

附:api命令

_> vm * [vm] Available Commands: [Start/Stop Commands] + start [prefix] | Start virtual machine + check [prefix] | Check virtual machine + stat [prefix] {format: safe,raw} | Get CPU/MEM statistics + shutdown [prefix] | ACPI Shutdown + user [user] | Add user to the VM + log [prefix] [max_entries] | Fetch VM Journal + pause [prefix] | Pause virtual machine + resume [prefix] | Resume virtual machine + kill [prefix] | Kill virtual machine + stop [prefix] | Stop virtual machine + list {prefix} | List virtual machine + destroy {prefix} | Destroy virtual machine + restart [prefix] | Restart virtual machine [Management Commands] + create [prefix] [description] | New virtual machine + desc [prefix] [new_description] | Modify virtual machine + note [prefix] {new_note} | Add/Get note + clear [prefix] | Clear config (debug purpose) + set [prefix] [key] [value] | Set core variables - keys: cpu.socket, cpu.core, memory, sys[linux,win,bsd] arch[intel,amd] - keys: vnc.wait, vnc.display, utc_time, wire_memory, passthru, hda - keys: clear_bios [DEPRECATED] - keys: reset_uefi=[yes], protect_uefi=[true/false] - keys: auto_boot=[true/false], boot_priority=[low/med/high] - keys: custom_prepend | Prepend custom parameters - keys: custom_append | Append custom parameters - destroy [prefix] | Destroy virtual machine [Disk Management Commands] + disk create [prefix] [storage] [name] [size] | Create new disk + disk attach [prefix] [file] [desc] [slot] [legacy/ahci/virtio/nvme] | Attach Disk into VM + disk nvme_set [prefix] [name] [key] [value] | Set nvme values on disk - keys: maxq (Max number of queues), qsz (Queue Size), isoslots (IO Slots), sectsz (Sector Size in Bytes) + disk detach [prefix] [file] | Detach Disk from VM + disk destroy [prefix] [ID/file] | Delete Disk + disk resize [prefix] [file] [new_size] | Resize Disk + disk list [prefix] | List Disks [Share Management Commands] + share attach [prefix] [share_name] [host_dir] {readonly} | Create Virtio-9P VirtFS + share detach [prefix] [share_name] | Remove Share + share list [prefix] | List Shares [CDROM Commands] + cdrom attach [prefix] [iso_file] | Attach ISO file as CD-ROM + cdrom detach [prefix] [iso_file] | Detach ISO + cdrom list [prefix] | List ISO Images [Network Commands] + nic add_virtio [prefix] [switch] {mac_addr} {host_ip} {custom_route} | Add VirtIO/NIC bound to switch + nic add_legacy [prefix] [switch] {mac_addr} {host_ip} {custom_route} | Add Intel/NIC bound to switch + nic change [prefix] [NIC] [switch] | Change Switch + nic mac [prefix] [NIC] [mac_addr] | Change MAC Address + nic host_ip [prefix] [NIC] [ip] | Add IP to host's TAP interface + nic custom_route [prefix] [NIC] [ip] | Add custom route rule to host's TAP interface + nic enable [prefix] [NIC] | Enable NIC + nic disable [prefix] [NIC] | Disable NIC + nic remove [prefix] [NIC] | Remove NIC + nic list [prefix] | List Interfaces

调试

页面找不到了怎么回事

https://192.168.1.5:8086/

netstat -rn,可以看到有8086端口啊

tcp6 0 0 *.8086 *.* LISTEN
tcp4 0 0 *.8086 *.* LISTEN

不明白怎么回事?

后来是重置密码,服务也ok了

密码找不到了怎么办

修改密码

sudu /var/lib/nPulse/BVCP/Backend/vmm reset_password

最后用的这条命令重置的密码

sudo /var/lib/nPulse/BVCP/Backend/vmm setup user

cdrom找不到东西怎么办

点击加入cdrom,没有东西

明白了,需要放在/vms/iso_images 这个目录里

果然就能看到了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 3:09:16

SGLang性能对比实测:云端GPU 10元搞定3大模型评测

SGLang性能对比实测:云端GPU 10元搞定3大模型评测 作为技术总监,你正面临一个关键决策:为即将上线的AI项目选择最合适的推理框架。团队需要处理高并发的用户请求,对响应延迟和吞吐量都有严苛要求。理想情况下,你应该在…

作者头像 李华
网站建设 2026/10/28 12:20:33

为什么Sambert部署总失败?依赖修复镜像部署教程是关键

为什么Sambert部署总失败?依赖修复镜像部署教程是关键 1. 引言:Sambert多情感中文语音合成的落地挑战 在当前AIGC快速发展的背景下,高质量的中文语音合成(TTS)技术正被广泛应用于智能客服、有声读物、虚拟主播等场景…

作者头像 李华
网站建设 2026/10/28 10:50:31

Python3.8图像处理:云端OpenCV预装,免去编译痛苦

Python3.8图像处理:云端OpenCV预装,免去编译痛苦 你是不是也遇到过这种情况?作为一名设计师,想用Python来批量处理图片、自动裁剪构图、提取配色方案,或者给设计稿加水印。兴致勃勃地打开教程,照着代码敲完…

作者头像 李华
网站建设 2026/10/28 20:12:08

Day 71:【99天精通Python】项目篇开篇 - 金融数据看板需求分析

Day 71:【99天精通Python】项目篇开篇 - 金融数据看板需求分析 前言 欢迎来到 项目篇 的第一天(第71天)! 在之前的 70 天里,我们像练武一样,先练了扎马步(基础语法),又练…

作者头像 李华
网站建设 2026/10/30 16:56:50

语音机器人对话优化,根据用户情绪调整回复策略

语音机器人对话优化,根据用户情绪调整回复策略 1. 引言:从“听清”到“听懂”的语音交互演进 随着智能客服、虚拟助手和语音机器人在企业服务中的广泛应用,传统的语音识别技术已无法满足日益复杂的交互需求。早期的语音系统仅关注“语音转文…

作者头像 李华