用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

安装界面

安装完成

bash 复制代码
                    ██████╗ ██╗   ██╗ ██████╗██████╗
                    ██╔══██╗██║   ██║██╔════╝██╔══██╗
                    ██████╔╝██║   ██║██║     ██████╔╝
                    ██╔══██╗╚██╗ ██╔╝██║     ██╔═══╝
                    ██████╔╝ ╚████╔╝ ╚██████╗██║
                    ╚═════╝   ╚═══╝   ╚═════╝╚═╝

            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

bash 复制代码
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命令

bash 复制代码
  _> 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了

密码找不到了怎么办

修改密码

bash 复制代码
sudu /var/lib/nPulse/BVCP/Backend/vmm reset_password

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

bash 复制代码
sudo /var/lib/nPulse/BVCP/Backend/vmm setup user

cdrom找不到东西怎么办

点击加入cdrom,没有东西

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

果然就能看到了

相关推荐
skywalk816312 天前
学习FreeBSD 从入门到跑路:使用 Qjail 管理 Jail
服务器·开发语言·容器·freebsd·虚拟
skywalk81631 个月前
第一次安装FreeBSD15.0 Release版本
运维·服务器·freebsd
skywalk81632 个月前
FreeBSD系统安装VSCode Server(未成功,后来是在FreeBSD系统里的Linux虚拟子系统里安装启动了Code Server)
ide·vscode·编辑器·freebsd
skywalk81632 个月前
在FreeBSD 14.3上部署轻量级Linux jail环境 仅仅占用10M内存
linux·运维·服务器·虚拟机·轻量化·freebsd·jail
skywalk81632 个月前
FreeBSD 14.3 轻量级Jail虚拟机:内存资源占用仅13MB的实战指南
运维·服务器·freebsd·jail
skywalk81632 个月前
阿里云服务器FreeBSD新系统从登录、配置到升级:从14.1升级到FreeBSD 14.3 Release
linux·服务器·阿里云·freebsd
skywalk81633 个月前
pnpm(‌P‌erformance ‌N‌ode ‌P‌ackage ‌Manager‌)包管理工具在FreeBSD系统下的安装使用
人工智能·pnpm·freebsd·iflow
silent_missile3 个月前
FreeBSD-14.3基本安装过程
freebsd
skywalk81638 个月前
FreeBSD14.2因为爆内存而导致Xfce4视窗被卡,桌面变黑色,只能看到鼠标在窗体中心,鼠标无反应,键盘无反应
计算机外设·lightdm·freebsd·xfce4·视窗