虚拟机高级操作 API
VergeOS 中虚拟机高级操作的完整指南,包括克隆、快照、删除和故障排除。
本指南介绍 VergeOS 中的高级虚拟机操作,包括克隆、快照管理、删除和故障排除。这些操作为虚拟机生命周期管理和灾难恢复提供了强大的能力。
阶段: 虚拟机高级操作(4/4) 输入: VM 键(42)、操作类型、参数 输出: 已克隆的虚拟机、快照、清理确认 上一页: 虚拟机已配置 → VM 配置 常见操作:
用于模板的克隆 → 新建虚拟机创建周期
用于备份的快照 → 恢复工作流
用于清理的删除 → 生命周期结束
本文档适用于
"如何通过 API 克隆虚拟机"
"创建虚拟机快照和备份"
"从快照恢复虚拟机"
"安全删除虚拟机和清理"
"虚拟机故障排除和诊断"
"模板创建工作流"
"灾难恢复操作"
"批量虚拟机管理"
"资源清理自动化"
快速参考
主要端点
VM 操作:
POST /api/v4/vm_actions虚拟机删除:
DELETE /api/v4/vms/{vm_key}虚拟机列表:
GET /api/v4/vms
关键操作
克隆: 创建虚拟机完整副本快照: 创建虚拟机快照恢复: 从快照恢复
身份验证
前提条件
虚拟机必须存在 → 参见 VM 创建
API 快速参考
克隆虚拟机
POST
/api/v4/vm_actions
VM 键
创建完整副本
创建快照
POST
/api/v4/vm_actions
VM 键
时间点备份
恢复快照
POST
/api/v4/vm_actions
VM 键
恢复操作
列出快照
GET
/api/v4/vms
筛选查询
查找快照
删除 VM
DELETE
/api/v4/vms/{id}
VM 键
完整移除
VM 状态
GET
/api/v4/vms/{id}
VM 键
配置检查
操作状态
GET
/api/v4/machine_status/{id}
Machine 键
运行时监控
故障排查索引
409 冲突: 克隆名称已存在,虚拟机已在运行,操作正在进行
507 存储空间不足: 克隆空间不足,快照存储已满
403 禁止访问: API 密钥权限、虚拟机访问被拒、集群限制
404 未找到: 未找到虚拟机、未找到快照、虚拟机键无效
408 请求超时: 克隆操作超时,快照创建超时
422 无法处理的实体: 克隆参数无效,快照恢复冲突
500 内部服务器错误: 存储系统问题、虚拟机监控器问题、集群故障
虚拟机克隆
POST /api/v4/vm_actions
说明: 创建虚拟机的完整副本,包括所有磁盘和配置。
基础克隆
完整 API 调用:
响应示例:
高级克隆选项
克隆参数
name
字符串
是
克隆后的虚拟机名称
description
字符串
否
克隆描述
静默
字符串
否
克隆前使虚拟机静默("true"/"false"),以确保数据一致性
preserve_macs
字符串
否
保留 MAC 地址("true"/"false")
preserve_device_uuids
字符串
否
保留设备 UUID("true"/"false")
cluster
字符串
否
目标集群 ID
克隆选项
静默: 使用
"quiesce": "true"通过短暂暂停虚拟机来确保数据一致性保留 MAC: 使用
"preserve_macs": "true"以保持相同的 MAC 地址(可能导致网络冲突)保留设备 UUID: 使用
"preserve_device_uuids": "true"以保持设备标识符跨集群: 指定不同的集群 ID 以克隆到另一个集群
克隆工作流示例
虚拟机快照
创建快照
完整 API 调用:
从快照恢复
完整 API 调用:
列出虚拟机快照
GET /api/v4/vms
使用筛选条件查找快照:
查找某虚拟机的所有快照:
快照管理工作流
虚拟机删除与清理
完整删除虚拟机
DELETE /api/v4/vms/{vm_key}
说明: 删除虚拟机并自动移除所有关联资源,包括磁盘、NIC、设备和配置。
响应: 200 OK 在删除成功时。
自动清理
当你使用 DELETE /api/v4/vms/{vm_key}删除虚拟机时,VergeOS 会自动移除:
所有磁盘 挂载到虚拟机上的
所有网络接口 (NIC)
所有设备 (GPU、PCI 直通、USB、TPM 等)
虚拟机配置 及元数据
Cloud-init 文件 及配置
虚拟机备注 及文档
关联的机器资源
删除前注意事项
删除虚拟机前,请考虑:
数据备份: 确保重要数据已备份
快照: 虚拟机快照可能会随虚拟机一起删除
依赖项: 检查其他系统是否依赖该虚拟机
网络配置: 记录任何特殊网络配置
许可: 考虑软件许可影响
安全删除流程
步骤 1:关闭虚拟机(推荐)
步骤 2:验证电源状态
步骤 3:创建最终备份(可选)
步骤 4:删除虚拟机及所有资源
VM 键用法
使用 VM 键(例如, 42)来自 VM 创建响应或 VM 列表,而不是 machine key。删除过程会自动处理所有关联的机器资源。
无需手动清理
与某些虚拟化平台不同,VergeOS 会自动完成完整的资源清理。你不 未 需要手动:
删除单个磁盘
移除网络接口
分离设备
清理配置文件
移除机器状态条目
单个 DELETE /api/v4/vms/{vm_key} 操作会自动处理所有清理。
查找孤立资源
错误处理与故障排除
常见错误场景
虚拟机创建失败
错误: 400 错误请求 - 无效的机器类型
解决方案: 使用受支持列表中的有效机器类型。
电源状态冲突
错误: 409 冲突 - 虚拟机已在运行
解决方案: 在发出电源命令前检查当前电源状态。
资源限制
错误: 507 存储空间不足
解决方案: 选择不同的存储层或减小磁盘大小。
克隆失败
错误: 409 冲突 - 克隆名称已存在
解决方案: 为克隆的虚拟机使用唯一名称。
监控虚拟机操作
检查操作状态
许多虚拟机操作是异步的。使用以下方式监控进度:
操作超时
为长时间运行的操作设置合适的超时:
VM 创建: 5-10 分钟
克隆操作: 10-30 分钟(取决于大小)
快照创建: 2-5 分钟
快照恢复: 5-15 分钟
电源状态更改: 30-60 秒
虚拟机删除: 2-5 分钟
重试逻辑
为瞬时故障实现重试逻辑:
调试虚拟机问题
检查虚拟机配置
检查机器状态
检查系统资源
最佳实践
始终先测试操作 在开发环境中进行
创建快照 在重大更改前
监控资源使用情况 在操作期间
实施适当的错误处理 在自动化脚本中
使用描述性名称 用于克隆和快照
清理未使用的资源 定期
记录操作流程 供你的团队使用
最后更新于
这有帮助吗?