用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

将现有 REST API 转换为 MCP Server工具 -higress

将现有 REST API 转换为 MCP Server工具 -higress

Higress 是一款云原生 API 网关,集成了流量网关、微服务网关、安全网关和 AI 网关的功能。 它基于 Istio 和 Envoy 开发,支持使用 Go/Rust/JS 等语言编写 Wasm 插件。 提供了数十个通用插件和开箱即用的控制台。 Higress AI 网关支持多种 AI 服务提供商,如 OpenAI、DeepSeek、通义千问等,并具备令牌限流、消费者鉴权、WAF 防护、语义缓存等功能。 MCP Server 插件配置 higress 功能说明 * mcp-server 插件基于 Model Context Protocol (MCP),专为 AI 助手设计,

By Ne0inhk
MCP 工具速成:npx vs. uvx 全流程安装指南

MCP 工具速成:npx vs. uvx 全流程安装指南

在现代 AI 开发中,Model Context Protocol(MCP)允许通过外部进程扩展模型能力,而 npx(Node.js 生态)和 uvx(Python 生态)则是两种即装即用的客户端工具,帮助你快速下载并运行 MCP 服务器或工具包,无需全局安装。本文将从原理和对比入手,提供面向 Windows、macOS、Linux 的详细安装、验证及使用示例,确保你能在本地或 CI/CD 流程中无缝集成 MCP 服务器。 1. 工具简介 1.1 npx(Node.js/npm) npx 是 npm CLI(≥v5.2.0)

By Ne0inhk
解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程

解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程

文章目录 * 解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程 * 引言:技术融合的奇妙开篇 * 认识主角:Dify、MCP 与 MySQL * (一)Dify:大语言模型应用开发利器 * (二)MCP:连接的桥梁 * (三)MySQL:经典数据库 * 准备工作:搭建融合舞台 * (一)环境搭建 * (二)安装与配置 Dify * (三)安装与配置 MySQL * 关键步骤:Dify 与 MySQL 的牵手过程 * (一)安装必要插件 * (二)配置 MCP SSE * (三)创建 Dify 工作流 * (四)配置 Agent 策略 * (五)搭建MCP

By Ne0inhk
如何在Cursor中使用MCP服务

如何在Cursor中使用MCP服务

前言 随着AI编程助手的普及,越来越多开发者选择在Cursor等智能IDE中进行高效开发。Cursor不仅支持代码补全、智能搜索,还能通过MCP(Multi-Cloud Platform)服务,轻松调用如高德地图API、数据库等多种外部服务,实现数据采集、处理和自动化办公。 本文以“北京一日游自动化攻略”为例,详细讲解如何在 Cursor 中使用 MCP 服务,完成数据采集、数据库操作、文件生成和前端页面展示的全流程。 学习视频:cursor中使用MCP服务 一、什么是MCP服务? MCP(Multi-Cloud Platform)是Cursor内置的多云服务接口,支持调用地图、数据库、文件系统等多种API。通过MCP,开发者无需手动写HTTP请求或繁琐配置,只需在对话中描述需求,AI助手即可自动调用相关服务,极大提升开发效率。 二、环境准备 2.1 cursor Cursor重置机器码-解决Too many free trials. 2.

By Ne0inhk