列表与运行管理
虚拟机模块(路由 /vm)是 QVMConsole 的核心运维入口,提供列表/卡片双视图、批量电源操作、虚拟机锁定、分组与标签管理,以及实时更新的虚拟机详情页。
视图与筛选
| 能力 | 说明 |
|---|---|
| 表格视图 / 卡片视图 | 双视图切换,选择持久化到本地;卡片视图展示规格、资源使用条与关键信息 |
| 分组视图 | 按 状态、模板 或自定义分组(分组名)聚合展示,组头支持折叠与组内全选 |
| 搜索 | 按名称、备注、模板、标签关键字搜索 |
| 标签筛选 | 按标签过滤虚拟机列表 |
| 实时更新 | 管理员走 /vm/sse、普通用户走 /self/vms/sse,每 2 秒推送列表状态(SSE 断线 5 秒自动重连) |
普通用户(弹性云)只能看到名下的虚拟机;轻量云用户菜单与路由进一步受限。
电源操作
| 操作 | 说明 | 限制 |
|---|---|---|
| 开机 | 启动虚拟机 | 非管理员开机前校验配额;维护模式下禁止开机 |
| 关机 | ACPI 优雅关机 | 锁定中的虚拟机会给出警告并要求二次确认 |
| 强制断电 | 立即停止(相当于拔电源) | 同上 |
| 重启 | ACPI 重启 | 运行中可用 |
| 重置 | 硬重置(相当于按复位键) | 运行中(含暂停态恢复场景)可用 |
迁移与任务互斥
虚拟机处于迁移中或存在活动的重装/迁移任务时,电源操作会被拒绝;关机/强制断电成功后系统会异步重分配带宽资源。
批量操作工具栏支持对选中虚拟机执行开机、重启、关机、强制断电与删除(批量删除包含锁定虚拟机时会被拒绝)。
虚拟机锁定
锁定用于防止虚拟机被误删除或误操作(表 vm_locks):
| 行为 | 锁定后的效果 |
|---|---|
| 删除虚拟机 | 阻止(含批量删除) |
| 定时删除任务 | 阻止 |
| 关机 / 强制断电 | 允许,但返回锁定警告并要求二次确认 |
| 其余操作 | 不受影响 |
- 锁定:行内「更多」菜单中执行,不要求二次验证
- 解锁:属于高风险操作,要求二次验证
- 锁定状态会展示在列表字段与详情页状态卡中;轻量云用户不显示锁定入口
分组、标签与备注
| 能力 | 说明 |
|---|---|
| 分组 | 编辑对话框可选择已有分组或输入新分组,留空表示移出分组 |
| 标签 | 行内标签编辑器支持增删标签(单个标签最长 32 字符,自动去重;迁移中禁止编辑) |
| 备注 | 独立备注编辑对话框 |
行内操作菜单
行内常驻「控制台」与「电源」图标按钮;更多操作收纳在 ⋯ 下拉菜单中:
| 操作 | 权限/条件 |
|---|---|
| 重置 / 重启 / 强制断电 | 按运行状态显示 |
| 编辑备注 / 编辑分组 | 所有用户 |
| 制作模板 | 仅管理员(虚拟机需关机) |
| 导出虚拟机 | 所有用户(详见 导入与导出) |
| 重装系统 | 所有用户(详见 重装与救援) |
| 迁移 | 仅管理员(详见 虚拟机迁移) |
| 转为独立虚拟机 | 仅管理员,链式克隆且已关机的虚拟机 |
| 救援模式开关 | 所有用户(详见 重装与救援) |
| 锁定 / 解锁 | 所有用户(轻量云隐藏) |
| 删除 | 高风险操作;锁定中的虚拟机不可删除 |
虚拟机详情页
详情页(/vm/detail/:id)由顶部 Hero 区(状态卡、资源卡、VNC 预览卡)与标签页组成,SSE 每 3 秒推送详情更新:
| 标签页 | 内容 |
|---|---|
| 系统信息 | 基础信息、磁盘路径、OS 类型、引导方式、架构/机型、Guest Agent 状态、登录凭据等 |
| 快照 | 快照的创建/恢复/删除(详见 快照管理) |
| 网络管理 | 端口转发规则、静态 IP 绑定、运行态网口信息(管理员)、网络诊断与抓包(管理员) |
| 定时任务 | VM 定时开关机/删除任务(详见 调度事件) |
| VNC 控制台 | VNC 开关/密码/暴露/独立窗口(详见 远程控制台) |
| SPICE 控制台 | SPICE 开关/密码/暴露/.vv 下载(详见 远程控制台) |
| 编辑 | 虚拟机配置编辑表单(与创建向导共用 vm-form 模块) |
页面底部提供监控图表(CPU、内存、磁盘 I/O、网络流量实时曲线)。
显示设备为「无」时
若虚拟机未配置显示设备(video_model 为 none),VNC / SPICE 标签页会隐藏并自动跳回系统信息页。
网络运行态与诊断(详情页)
| 面板 | 说明 |
|---|---|
| 端口转发 | 展示/增删改该 VM 的端口转发规则,含完整访问地址与首次开通引导 |
| 静态 IP | 绑定/解绑静态 IP,展示 DHCP 租约(桥接直通模式下不可用) |
| 运行状态(管理员) | 每个网口的网桥、ofport、网卡型号、MAC、IP(来源:Guest Agent 或 OVS 推导)、端口安全状态、带宽 QoS 与异常信息 |
| 网络诊断(管理员) | VM 网络诊断信息与抓包:可选网口、协议模板(any/tcp/udp/icmp/arp/dhcp/dns)、源/目的 IP、端口、抓包时长(默认 30 秒)、最大 64MB / 5000 包;抓包任务支持启动、取消、下载 pcap 与删除 |
API 摘要
| 接口 | 说明 |
|---|---|
GET /vm/list、GET /vm/sse | VM 列表与实时推送(管理员) |
GET /self/vms、GET /self/vms/sse | 我的 VM 列表与实时推送(普通用户) |
GET /vm/{name}、GET /vm/{name}/sse | VM 详情与实时推送 |
POST /vm/{name}/operate | 电源操作(start/shutdown/destroy/reboot/reset) |
GET/PUT /vm/{name} | 获取/编辑配置 |
GET/PUT /vm/{name}/xml | 查看/编辑 Domain XML(仅管理员) |
GET /vm/{name}/stats、/stats/history | 实时与历史监控数据 |
POST/GET /vm/{name}/lock、POST /vm/{name}/unlock | 锁定 / 查询锁定状态 / 解锁 |
GET /vm/{name}/network/status | 网络运行态 |
GET /vm/{name}/network/diagnostics | 网络诊断信息(管理员) |
POST /vm/{name}/network/capture | 启动抓包(管理员) |