新闻详情

新闻详情

首页 / 资讯中心 / 详情

AgentENV PVM部署指南:没有KVM的云主机如何运行沙箱环境

发布时间:2026/9/28 21:05:54来源:尧图网络
AgentENV PVM部署指南:没有KVM的云主机如何运行沙箱环境
AgentENV PVM部署指南没有KVM的云主机如何运行沙箱环境【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENVAgentENVAENV是一个用于大规模运行 Agent 环境的分布式沙箱平台它依赖 Firecracker 微虚拟机来隔离每个沙箱因此通常需要宿主机的/dev/kvm设备。但许多云厂商的虚拟机并未开放嵌套虚拟化/dev/kvm根本不存在。这时就可以使用PVM 部署模式——一种无需嵌套虚拟化即可提供 KVM 兼容接口的替代虚拟ization方案让普通云主机也能跑起 AgentENV 沙箱。⚠️ 注意PVM 目前是实验性特性其宿主机内核尚未合入 Linux 主线测试和安全更新可能不如主线内核完善生产环境请谨慎评估。什么是 PVM为什么需要它 标准 KVM 依赖 CPU 的硬件虚拟化扩展。在云上买的虚拟机里这一层通常被屏蔽了于是 Firecracker 无法启动。PVM 源自论文《Efficient Shadow Paging for Deploying Secure Containers in Cloud-native Environment》它通过影子分页Shadow Paging技术实现轻量虚拟化不依赖嵌套虚拟化在普通云 VM 上即可运行KVM 兼容接口加载 PVM 模块后宿主机同样会生成/dev/kvmAgentENV 无需任何改动照常创建 Firecracker 微虚拟机代价是换内核需要安装一个支持 PVM 的专用宿主机内核并加载kvm_pvm模块。每个 AgentENV 节点只会运行在一种虚拟化模式KVM 或 PVM下模式在源码中由 src/virtualization.rs 定义默认值为 KVM模式AgentENV 配置宿主机状态标准 KVMvirtualization_mode kvm标准 KVM 模块PVMvirtualization_mode pvmPVM 内核 kvm_pvm已加载完整说明见官方文档 docs/src/deployment/pvm.md。部署前准备清单 ✅x86_64 架构的 Linux 服务器PVM不支持 ARMRoot 权限且可以安装内核并重启服务器发布包支持的 DEB 系或 RPM 系发行版或能从源码编译内核建议具备控制台Console访问权限防止新内核无法启动时失联。内核版本搭配建议宿主机内核与 Guest 内核应保持同一 PVM 版本。AgentENV 打包的 Guest 内核基于 6.12.33对应的预编译宿主机内核包也是 6.12.33 版本直接选用即可避免 ABI 不兼容导致 Guest 无法启动。第一步安装 PVM 宿主机内核AgentENV 不会替你更换运行中的内核这一步需要手动完成。1. 下载并安装预编译内核包Debian / Ubuntu 系下载linux-image-6.12.33的.deb包然后sudo dpkg -i linux-image-6.12.33_*.deb sudo update-grubFedora / RHEL / CentOS 等 RPM 系下载kernel-6.12.33的.rpm包然后sudo rpm -ivh --oldpackage kernel-6.12.33_*.rpm sudo grubby --set-default /boot/vmlinuz-6.12.33-*如果机器上还装了更高版本的内核记得在启动管理器中把 6.12.33 设为默认启动项。2. 重启并验证sudo reboot uname -r # 应输出 6.12.33 或 6.12.33-g91e9c9be4472如果uname -r仍显示旧内核说明启动项没选对请修正后再重启。第二步加载并验证 kvm_pvm 模块 sudo modprobe kvm_pvm lsmod | grep kvm_pvm # 模块已加载 ls -l /dev/kvm # KVM 兼容设备出现确认模块加载成功后配置开机自动加载echo kvm_pvm | sudo tee /etc/modules-load.d/kvm-pvm.conf宿主机准备完成的标准是三点/sys/module/kvm_pvm存在、/dev/kvm存在、AgentENV 运行账户可读写/dev/kvm。第三步以 PVM 模式安装 AgentENV准备好宿主机后AgentENV 侧只需要在默认 KVM 安装流程上加一个环境变量AENV_VIRTUALIZATION_MODEpvm有三种方式任选其一 ️方式 A安装脚本推荐curl -fsSL 安装脚本地址 | sudo AENV_VIRTUALIZATION_MODEpvm bash sudo systemctl start aenv安装脚本 scripts/install.sh 会自动下载 PVM 专属的 Firecracker 与 Guest 内核制品、把模式写入/etc/default/aenv并配置好服务账户对/dev/kvm的访问权限它不会替你装内核。方式 BDocker使用专用的 PVM 镜像默认即pvm模式仅含 PVM 运行时制品docker run --rm -it --name aenv-server \ --device /dev/kvm --privileged \ -v /dev:/dev -p 8000:8000 \ ghcr.io/kvcache-ai/aenv-server:latest-pvm构建 PVM 镜像时构建文件为 deploy/docker/Dockerfile.agentenv加参数--build-arg AENV_VIRTUALIZATION_MODEpvm即可。方式 C源码构建export AENV_VIRTUALIZATION_MODEpvm cargo run --bin server -- --setup-only make start-server也可以在 TOML 配置中设置参考 config/default.toml 中的virtualization_mode kvm改成pvm即可。注意环境变量优先级高于 TOML 配置。另外一个小细节KVM 模式下默认开启的内存快照脏页跟踪在 PVM 模式下会自动关闭该组合尚未测试。第四步验证部署是否成功 grep AENV_VIRTUALIZATION_MODE /etc/default/aenv # 应显示 pvm sudo systemctl status aenv curl http://127.0.0.1:8000/health服务健康后后续操作与标准部署完全一致aenv pull ubuntu:22.04 --name ubuntu aenv start ubuntu 恭喜你云主机上跑起了第一个沙箱。多节点部署注意事项 同一运行时池内保持模式一致PVM 节点统一加载kvm_pvm、使用 PVM 镜像并导出AENV_VIRTUALIZATION_MODEpvmK8s 场景下给 PVM 节点打标签并配置节点选择器避免 PVM Pod 调度到 KVM 节点不要混用快照会记录创建时的虚拟化模式节点会拒绝恢复其他模式的状态。KVM 与 PVM 节点不要共用同一份持久化沙箱目录。常见问题速查 报错/现象原因与解法PVM virtualization mode is only supported on x86_64 hosts当前是 ARM 机器请换 x86_64 服务器PVM mode requires the kvm_pvm host module to be loaded执行uname -r确认是否在 PVM 内核上再sudo modprobe kvm_pvm若提示找不到模块说明内核不对加载模块后仍无/dev/kvm查看sudo dmesg \| tail -n 100检查 PVM 内核安装与启动参数/dev/kvm权限不足ls -l /dev/kvm、id aenv检查属主与用户组改组后需重启服务或会话下载/使用的仍是标准 KVM 制品确认/etc/default/aenv中已有 pvm 模式然后重新执行--setup-only预置依赖快照或暂停沙箱无法恢复模式不匹配请回到创建该状态的原模式节点或在目标模式重建并重新打快照更多排查思路可参考 docs/src/troubleshooting/common-issues.md。写在最后PVM 模式让 AgentENV 摆脱了必须有硬件虚拟化的门槛在不支持嵌套虚拟化的普通云主机上只要完成装 PVM 内核 → 加载kvm_pvm模块两个宿主机步骤就能像标准 KVM 部署一样创建模板、启动沙箱。如果你的云厂商支持嵌套虚拟化直接使用标准 KVM 部署即可无需折腾 PVM。【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Substrate区块链开发框架详解:从理解核心架构到动手搭建自定义链 2026/9/28 21:56:58

Substrate区块链开发框架详解:从理解核心架构到动手搭建自定义链

1. substrate到底是什么:从一张实验台布说起很多刚接触区块链底层开发的朋友,看到"substrate"这个词都会愣一下——这到底是个框架、一个库、还是一条链?我第一次接触它的时候也绕了不少弯路,这里先给大家一个最直白的说…

阅读更多 →
S500无人机新手入门:Pixhawk4与FS-IA6B对码接线及飞控配置全攻略 2026/9/28 21:56:58

S500无人机新手入门:Pixhawk4与FS-IA6B对码接线及飞控配置全攻略

1. 为什么S500这套配置值得新手拿来练手S500机架配Pixhawk4飞控再加FS-IA6B接收机,这个组合在入门级四轴里算是相当经典的搭配。S500的轴距500mm,机架空间足够大,装起来不憋屈,炸机了维修成本也低。Pixhawk4作为一款成熟的开源飞控…

阅读更多 →
JSP+MySQL在线音乐管理系统:从数据库设计到部署全解析 2026/9/28 21:56:51

JSP+MySQL在线音乐管理系统:从数据库设计到部署全解析

简介:一个基于 JSP 技术栈开发的在线音乐信息管理系统完整项目,采用 Java Web JSP MySQL JavaScript 实现,适合正在学习 Java Web 开发、需要课程设计或毕业设计参考的学生。系统区分管理员与普通用户两类角色:前台支持歌曲查询…

阅读更多 →
从零构建分布式调度平台:任务编排、重试幂等与高可用实践 2026/9/28 21:56:51

从零构建分布式调度平台:任务编排、重试幂等与高可用实践

搞了一年多的“ax调度”,总算有底气拿出来给大家说说。有人一听“调度”两个字就发怵,觉得离自己很远,其实说白了就一句话:把该做的事,按正确的时间和顺序,安排好、跑起来、只执行一次。AX 这个名字是我早年…

阅读更多 →
Agent-Native架构实战:主循环、工具设计与稳定落地的工程指南 2026/9/28 21:56:51

Agent-Native架构实战:主循环、工具设计与稳定落地的工程指南

去年我开始认真梳理手里几个 AI 项目的时候,发现一个很扎心的现象:大家都说自己在做 AI 应用,但绝大多数产品本质上只是“套了一个聊天框的数据库”,真正把 agent 放在主流程里的几乎没几个。而“agent-native”这个热词的流行&am…

阅读更多 →
S500装机第一步:FS-IA6B接收机与Pixhawk4对码接线全攻略 2026/9/28 21:56:14

S500装机第一步:FS-IA6B接收机与Pixhawk4对码接线全攻略

1. 为什么S500装机第一步是搞定接收机对码S500这套四轴机架在入门到进阶的航模圈子里热度一直不低,轴距500mm、支持折叠、能挂云台也能挂运动相机,属于那种“既能练手又能干活”的机型。但很多新手拿到套件之后,第一道坎不是焊电调、不是调PI…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉