收起左侧

libivrt虚拟机管理工具升级发布

39
回复
7307
查看
[ 复制链接 ]

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-20 23:42:37 显示全部楼层 阅读模式

起因是不满足于官方虚拟机的限制与操作,故自己开发了一版虚拟机管理系统

当前还有诸多不足之处,如有遇见。请跟帖提供您宝贵意见。

功能特性(端口9011):

1.自适应移动端&pc端(可在飞牛app中直接使用移动端)

2.支持虚拟机xml编辑

3.支持虚拟机更加开放的新增&编辑(所有选项均均可通过数据字典自定义)

4.支持程序启动停止脚本执行(方便sr-iov设备/显卡拆分。无需修改系统启动项)

5.执行虚拟机hooks脚本调用,支持全局调用/单个虚拟机调用(需要重启libvirt守护进程)

6.支持启动引导设置

7.支持ssh终端(账号密码存储于前端浏览器,后端数据库无存储)

8.支持虚拟机磁盘自定义文件夹(方便迁移)

9.支持快照创建与使用(当前删除快照未彻底完善)

10.需要独立的账号密码登录(由于拥有脚本执行能力,为安全添加)

11.支持虚拟机列表页面查看mac地址&ip地址(需安装qemu-guest-agent)

12.执行关键日志记录,便于回溯问题

本轮更新V1.1.4:

适配移动端页面,缩小打包体积,添加hooks脚本支持

下载地址(请复制到浏览器打开):

http://download.yooyaa.cn/static/%e9%a3%9e%e7%89%9bos

未完善功能备注:

1.快照删除合并磁盘功能(使用外部快照)

2.首页统计功能

注:使用本软件,请先安装官方虚拟机

页面分享:

image.png

ceadf01653d285989e56a900309a0922.jpg

5068291582b04347613422c75d6f3c9f.jpg

5ab903a4903991ee428a6e1726ee90ca.jpg

bd41ed39ce5143f485872d57946f4a57.jpg

收藏
送赞 6
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

5

主题

31

回帖

5

牛值

初出茅庐

2026-5-7 17:20:44 楼主 显示全部楼层
xtiw 发表于 2026-5-6 19:05
比官方的好用,要是能像Windows自带的HY虚拟机一样,增加就地注册或者还原虚拟机功能就更好了,一个小小的B ...

收到,下个版本会修复iso问题,还原虚拟机功能也会添加,目前已在开发全功能界面版本,由于是闲暇时间开发,预计周期可能较长

2

主题

35

回帖

0

牛值

江湖小虾

2026-4-21 03:20:11 显示全部楼层

非常感谢分享。
两个小问题。一是 hook字段,除了编辑,能不能开放增加?要改哪里。
比如硬盘,想增加block型,路径是zvol。

另外重置密码的功能手**试点了下,密码就不知道去哪里改回来了。只能配置文件复制出来重装了

zvol的路径,有shell相关截图吗,时zvol1,zvol2类似排列还是但zvol  详情 回复
2026-4-21 13:49
1.当前由于没有找到飞牛发送日志的api,所需要登录shell终端去查看密码 地址为程序安装路径下的account文件,/vol*/@appcenter/Virtual/server/account 2.添加硬盘类型,待我先查看下livirt文档。如果单纯的只是bloc  详情 回复
2026-4-21 07:33

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-21 07:33:15 楼主 显示全部楼层
noahyann 发表于 2026-4-21 03:20
非常感谢分享。
两个小问题。一是 hook字段,除了编辑,能不能开放增加?要改哪里。
比如硬盘,想增加block ...

1.当前由于没有找到飞牛发送日志的api,所需要登录shell终端去查看密码
地址为程序安装路径下的account文件,/vol*/@appcenter/Virtual/server/account
2.关于hooks功能,不需要新增,只需要编辑即可,一个虚拟机一个脚本。开启流程:
全局配置->开启hooks->打开重启守护进程->提交
然后即可为全局或单个虚拟机配置hooks功能,详情可以参考https://www.libvirt.org/hooks.html#etc-libvirt-hooks-qemu

以下是我的hooks脚本参考
#!/bin/bash

echo vm hooks ....
guest=#guest#
operation=#operation#
subOperation=#subOperation#

echo "$guest;$operation;$subOperation"

# 串口设备路径(根据实际情况修改)
SERIAL_DEV="/dev/ttyACM0"  

# 写入串口的函数
write_to_serial() {
    local msg="$1"
    if [ -w "$SERIAL_DEV" ]; then
        echo -n "$msg" > $SERIAL_DEV
        echo "Written to $SERIAL_DEV: $msg"
        sleep 1
        # 尝试带回车换行符
                sudo bash -c 'stty -F /dev/ttyACM0 115200 raw -echo; exec 3<> /dev/ttyACM0; echo -e "status\r\n" >&3; timeout 2 cat <&3'
      
    else
        echo "Warning: $SERIAL_DEV not writable" >&2
    fi
}

# 根据操作类型写入串口
case "$operation" in
    "release")
        # 关机时写入 high
        write_to_serial "high"
        ;;
    "prepare")
        # 开机时写入 low
        write_to_serial "low"
        sleep 5
        ;;
    *)
        # 其他操作忽略
        echo "Unknown operation: $operation, skipping serial write"
        ;;
esac

exit

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-21 13:49:45 楼主 显示全部楼层
noahyann 发表于 2026-4-21 03:20
非常感谢分享。
两个小问题。一是 hook字段,除了编辑,能不能开放增加?要改哪里。
比如硬盘,想增加block ...

zvol的路径,有shell相关截图吗,时zvol1,zvol2类似排列还是但zvol
大概是这么个结构。主要就是前两节的区别。 disk type driver name /usr/bin/qemu-system-x86_64 ############################### #这个是truenas/pve里创建的扒过来,zvol+virtio 在飞牛里改xml有效  详情 回复
2026-4-21 14:10

2

主题

35

回帖

0

牛值

江湖小虾

2026-4-21 14:10:30 显示全部楼层
zp515630 发表于 2026-4-21 13:49
zvol的路径,有shell相关截图吗,时zvol1,zvol2类似排列还是但zvol

大概是这么个结构。主要就是前两节的区别。
disk type
driver name


  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
###############################
#这个是truenas/pve里创建的扒过来,zvol+virtio  在飞牛里改xml有效
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='threads' discard='unmap'/>
      <source dev='/dev/zvol/rpool/vm/immortalwrt-disk0'/>
      <target dev='vda' bus='virtio'/>  #这里可以 scsi,下面就不需要指定slot
      <serial>dWUmATBd</serial>  #非必须
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> #slot如果是因为virtio如果virt scsi就没有,function可以忽略
    </disk>
##########################################
#这个是飞牛创建的 qcow2型,file  scsi
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vol1/vm/pool/4c6f3616-f3d9-41a6-906e-164188a6f1a1-uzxq.qcow2'/>
      <target dev='sdb' bus='scsi'/>
      <boot order='2'/>
      <alias name='ua-order--2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>



了解,下个版本更新  详情 回复
2026-4-21 15:41

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-21 15:41:36 楼主 显示全部楼层
noahyann 发表于 2026-4-21 14:10
大概是这么个结构。主要就是前两节的区别。
disk type
driver name

了解,下个版本更新
刚看了下,直通硬盘,也是用这个。把来源位置 填 /dev里面 硬盘的位置。  详情 回复
2026-4-21 23:28

9

主题

83

回帖

0

牛值

系统先锋体验团🛩️

飞牛百度网盘玩家fnOS1.0上线纪念勋章AMD适配纪念勋章

2026-4-21 21:37:26 显示全部楼层

好东西,开源嘛

代码写的太烂,不适合开源  详情 回复
2026-4-23 09:35

2

主题

35

回帖

0

牛值

江湖小虾

2026-4-21 23:28:13 显示全部楼层
zp515630 发表于 2026-4-21 15:41
了解,下个版本更新

刚看了下,直通硬盘,也是用这个。把来源位置 填 /dev里面 硬盘的位置。
开发时只考虑file类型,是因为如果直通硬盘,会导致飞牛硬盘管理那边出错。下一个版本,会根据libvirt文档开放所有支持的类型  详情 回复
2026-4-22 10:29

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-22 10:29:55 楼主 显示全部楼层
noahyann 发表于 2026-4-21 23:28
刚看了下,直通硬盘,也是用这个。把来源位置 填 /dev里面 硬盘的位置。

开发时只考虑file类型,是因为如果直通硬盘,会导致飞牛硬盘管理那边出错。下一个版本,会根据libvirt文档开放所有支持的类型

5

主题

31

回帖

5

牛值

初出茅庐

2026-4-23 09:35:58 楼主 显示全部楼层
soul87 发表于 2026-4-21 21:37
好东西,开源嘛

代码写的太烂,不适合开源
谦虚了,能做出来就很厉害了,何况开源后众人拾柴火焰高呢  详情 回复
2026-5-19 20:40

2

主题

72

回帖

0

牛值

初出茅庐

飞牛百度网盘玩家AMD适配纪念勋章

2026-4-24 12:35:35 显示全部楼层

好东西,先顶再试用!

0

主题

9

回帖

0

牛值

江湖小虾

2026-4-24 23:02:29 显示全部楼层

谢谢分享,试试看好不好用。

2

主题

16

回帖

0

牛值

江湖小虾

2026-4-26 11:38:24 显示全部楼层

支持一下 这个比官方的好用多了

1

主题

47

回帖

0

牛值

初出茅庐

2026-4-28 20:24:30 显示全部楼层

比官方的好用

2

主题

72

回帖

0

牛值

初出茅庐

飞牛百度网盘玩家AMD适配纪念勋章

2026-5-6 19:05:50 显示全部楼层

比官方的好用,要是能像Windows自带的HY虚拟机一样,增加就地注册或者还原虚拟机功能就更好了,一个小小的BUG,虚拟机选择ISO镜像文件时,不识别大写的.ISO后缀,只识别小写的.iso.

收到,下个版本会修复iso问题,还原虚拟机功能也会添加,目前已在开发全功能界面版本,由于是闲暇时间开发,预计周期可能较长  详情 回复
2026-5-7 17:20

0

主题

3

回帖

0

牛值

系统先锋体验团🛩️

2026-5-9 20:21:52 显示全部楼层

会上传应用中心或者做成软件源吗

0

主题

1

回帖

0

牛值

江湖小虾

AMD适配纪念勋章

2026-5-15 12:04:05 显示全部楼层

然并软,直通功能用不了,飞牛虚拟机显示

IOMMU已开启,到这个工作站一看提示未开启

直接看看是否能用,有可能是判断有误。我gvt-g,sriov,usb均测试过没问题  详情 回复
2026-5-26 11:10

0

主题

1

回帖

0

牛值

江湖小虾

2026-5-16 22:29:55 显示全部楼层

话不多说,只说一句,把直通功能做好的虚拟机平台,才能真正被大家认可。

当前直通,gvt-g,sriov,usb均支持了。还需要什么功能呢  详情 回复
2026-5-26 11:09

0

主题

1

回帖

0

牛值

江湖小虾

fnOS1.0上线纪念勋章

2026-5-19 20:40:01 显示全部楼层
zp515630 发表于 2026-4-23 09:35
代码写的太烂,不适合开源

谦虚了,能做出来就很厉害了,何况开源后众人拾柴火焰高呢

5

主题

31

回帖

5

牛值

初出茅庐

2026-5-26 11:09:50 楼主 显示全部楼层
hkwpc 发表于 2026-5-16 22:29
话不多说,只说一句,把直通功能做好的虚拟机平台,才能真正被大家认可。
...

当前直通,gvt-g,sriov,usb均支持了。还需要什么功能呢

5

主题

31

回帖

5

牛值

初出茅庐

2026-5-26 11:10:57 楼主 显示全部楼层
九犇一毳 发表于 2026-5-15 12:04
然并软,直通功能用不了,飞牛虚拟机显示
IOMMU已开启,到这个工作站一看提示未开启
...

直接看看是否能用,有可能是判断有误。我gvt-g,sriov,usb均测试过没问题

1

主题

17

回帖

0

牛值

江湖小虾

2026-6-4 22:40:31 显示全部楼层
楼主 飞牛更新arm虚拟机了,是否考虑支持arm呢
java开发的,可以跨平台。后期考虑兼容arm  详情 回复
2026-6-27 08:10

20

主题

13

回帖

5

牛值

🛩️ARM内测用户组

2026-6-5 09:15:39 显示全部楼层

这个完美啊,正是需要的,上架到应用商店吧

1

主题

3

回帖

0

牛值

江湖小虾

2026-6-5 21:34:09 显示全部楼层

已经在飞牛的虚拟机程序中创建好的虚拟机,不能在你这个程序中显示吗,必须得删除重新创建才可以吗

新版本已经添加自动纳管功能,定时扫描qemu装载的虚拟机  详情 回复
2026-6-27 08:09

14

主题

26

回帖

0

牛值

初出茅庐

2026-6-7 17:03:47 显示全部楼层

你好,该项目有开源计划吗

0

主题

35

回帖

0

牛值

江湖小虾

fnOS1.0上线纪念勋章

2026-6-10 10:57:20 显示全部楼层

很好很好,官方收编了吧。

6

主题

23

回帖

0

牛值

fnOS系统内测组

2026-6-11 16:48:00 显示全部楼层
怎么进去了什么也不显示 完全无法操作 安装了 qemu ga 也无法启用 qemu ga 哪里有问题
白屏吗?上传图片看看呢  详情 回复
2026-6-30 00:02

0

主题

35

回帖

0

牛值

江湖小虾

fnOS1.0上线纪念勋章

2026-6-12 11:27:22 显示全部楼层

也支持Arm吗?

下一版会编译一版出来,但没有arm的机子,只能等坛友反馈了  详情 回复
2026-6-30 00:04

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-27 08:09:12 楼主 显示全部楼层
破晓黎明 发表于 2026-6-5 21:34
已经在飞牛的虚拟机程序中创建好的虚拟机,不能在你这个程序中显示吗,必须得删除重新创建才可以吗
...

新版本已经添加自动纳管功能,定时扫描qemu装载的虚拟机

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-27 08:10:14 楼主 显示全部楼层
不笑也200来斤的 发表于 2026-6-4 22:40
楼主 飞牛更新arm虚拟机了,是否考虑支持arm呢

java开发的,可以跨平台。后期考虑兼容arm
好的,感谢  详情 回复
2026-6-28 14:38

1

主题

17

回帖

0

牛值

江湖小虾

2026-6-28 14:38:39 显示全部楼层
zp515630 发表于 2026-6-27 08:10
java开发的,可以跨平台。后期考虑兼容arm

好的,感谢

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-30 00:02:08 楼主 显示全部楼层
s881009 发表于 2026-6-11 16:48
怎么进去了什么也不显示 完全无法操作 安装了 qemu ga 也无法启用 qemu ga 哪里有问题 ...

白屏吗?上传图片看看呢

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-30 00:04:35 楼主 显示全部楼层

下一版会编译一版出来,但没有arm的机子,只能等坛友反馈了

1

主题

2

回帖

0

牛值

江湖小虾

2026-6-30 16:36:13 显示全部楼层

我虚拟机里面有一台windows的虚拟机。仪表盘页签里也是能看到有一台的。但是切换到虚拟机页签就查不到这个虚拟机。清除查询条件也不行image.png

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
已添加纳管功能  详情 回复
2026-6-30 17:21
点击右上角的那个放大镜,上面有过滤条件。下一个版本默认打开  详情 回复
2026-6-30 17:18

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-30 17:18:26 楼主 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-30 17:21:33 楼主 显示全部楼层
 _vuSw2 发表于 2026-6-30 16:36
我虚拟机里面有一台windows的虚拟机。仪表盘页签里也是能看到有一台的。但是切换到虚拟机页签就查不到这个 ...

已添加纳管功能

1

主题

2

回帖

0

牛值

江湖小虾

2026-6-30 23:12:49 显示全部楼层

image.png

image.png这个查询请求是没有传任何查询参数的,只有分页参数,就是应该是没有加过滤条件的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你运行的版本 没有纳管功能,找不到是因为不是该应用程序创建的。下一个版本已支持,近期会更新出来 更新列表 1. 修复hook脚本执行权限问题 2. 修复普通模式创建虚拟机vnc丢失 3. 修复重启后硬件直通功能丢失配置报  详情 回复
2026-6-30 23:42

5

主题

31

回帖

5

牛值

初出茅庐

2026-6-30 23:42:06 楼主 显示全部楼层
_vu** 发表于 2026-6-30 23:12
这个查询请求是没有传任何查询参数的,只有分页参数,就是应该是没有加过滤条件的
...

你运行的版本 没有纳管功能,找不到是因为不是该应用程序创建的。下一个版本已支持,近期会更新出来

0

主题

1

回帖

0

牛值

江湖小虾

2026-7-10 02:27:48 显示全部楼层

** 这正是我需要的

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则