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

用bhyve-webadmin(BVCP)来管理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 这个目录里

果然就能看到了

Read more

OpenClaw部署与配置教程:在Mac mini上接入国产大模型与飞书

一、准备工作 项目说明一台Mac mini云服务器、旧电脑、树莓派也可以飞书账号用来创建机器人国产模型的apiopenclaw的在配置时仅显示国际的大模型,国产模型需要单独配置 二、部署OpenClaw到mac mini 2.1 快速部署 1. 稳定版安装:在终端输入以下命令 curl -fsSL https://openclaw.ai/install.sh |bash 2. 测试版安装(可能包含Bug) curl -fsSL https://openclaw.ai/install.sh |bash -s -- --beta 2.2 同意免责声明 安装好后,将会出现一个问题:是否知晓风险,选择Yes就行。 2.3 配置模式选择 选择“QuickStart”

By Ne0inhk
Linux操作系统从入门到实战(二)手把手教你安装VMware17pro与CentOS 9 stream,实现Vim配置,并配置C++环境

Linux操作系统从入门到实战(二)手把手教你安装VMware17pro与CentOS 9 stream,实现Vim配置,并配置C++环境

Linux操作系统从入门到实战(二)手把手教你安装VMware17pro与CentOS 9.0 stream,实现Vim配置,并编译C++文件 * 前言 * 一、安装VMware17pro * 二、安装CentOS9.0 * 2.1 为什么选择CentOS9,与CentOS7对比 * 2.1 官网下载CentOS9.0 * 2.2 国内清华大学镜像下载CentOS9.0 * 三、实现Linux环境搭建 * 四、配置Vim环境 * 1. 安装必要的软件 * 2. 配置 Vim 高亮显示 * 五、编译运行C++代码 前言 * 在前面的博客里,我们讲解了什么是操作系统,以及它的历史,接下来我们开始构建Linxu环境 * 本次博客将带领大家完成 CentOS 9.0 的安装,

By Ne0inhk
Flutter 三方库 opml 的鸿蒙化适配指南 - 支持大容量订阅源解析、符合 OPML 2.0 规范与 RSS 管理器核心适配

Flutter 三方库 opml 的鸿蒙化适配指南 - 支持大容量订阅源解析、符合 OPML 2.0 规范与 RSS 管理器核心适配

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 opml 的鸿蒙化适配指南 - 支持大容量订阅源解析、符合 OPML 2.0 规范与 RSS 管理器核心适配 前言 在进行 Flutter for OpenHarmony 的阅读类、播客类或 RSS 订阅类应用开发时,支持标准的 OPML(Outline Processor Markup Language)导入与导出是必选功能。opml 库是一个专门用于解析和生成 OPML 文件的 Dart 库。本文将探讨如何在鸿蒙系统下,利用该库高效管理用户的订阅树结构。 一、原理解析 / 概念介绍 1.1 基础原理 OPML 本质上是一种基于

By Ne0inhk
【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程 一、前言 1. 背景 众所周知,最新搭载澎湃OS和鸿蒙OS的平板都内置了PC级WPS,办公效率直接拉满(板子终于从“泡面盖”升级为“生产力”了)。但问题来了:如果不是这两个系统,难道我们只能继续用平板盖泡面吗?当然不是!折腾了很长时间后,总算找到了一个好玩的东西:高级终端Termux 。现在,不仅能随时随地用WPS改文档,还能VSCode优雅地敲代码,再也不用背着电脑乱跑了。 由于每次搭建环境时都要去不同的平台找不同功能,有时还找不到,所以我决定自己写一篇博客,方便自己以后再搭建时直接“Ctrl C + Ctrl V”,顺便分享给有同样需求的小伙伴们。话不多说,直接开整! 2. 准备工作 * 一部安卓手机:性能越好,折腾起来越顺畅。 * Termux 应用: 不想去F-droid下载的看过来

By Ne0inhk