1.7 KiB
1.7 KiB
GPU 健康、独占资源与终端日志归档
已实现
GET /api/v1/resources/gpus?node=...在每个 GPU 上返回health:PVE PCI 清单中的驱动字段、驱动绑定状态、来源和采集时间。标准 PVE PCI 接口没有温度、利用率、显存指标时返回status=not_collected和空值,不把 VM 配置引用当作健康数据。GET /api/v1/resources/gpu-exclusive?node=...提供独占组分配前检查:advisory lock、成员完整性、PVE 实际电源、活跃终端会话、未完成任务、冲突原因、allocationReady和releaseReady。接口只读,不会关机、切换显卡或重放任务。- 终端成功回传
collect-logs后,日志写入terminal_log_archives,按终端和时间建立索引,保留 30 天,并通过GET /api/v1/terminal-logs支持终端、时间范围和关键词检索。沿用诊断脱敏;这是回传快照归档,不是实时日志流。 - 高级版 GPU 页面显示健康状态、驱动绑定、独占资源冲突和释放条件;日志与诊断页面增加持续归档检索区。
真实边界
温度、利用率和显存需要节点采集代理或厂商工具接入,当前 API 明确显示“未采集”。独占资源的释放状态只代表平台检查条件满足,实际 GPU 切换仍走既有终端准备任务和核对流程。
验证
docker run --rm -v "${PWD}:/src" -w /src/platform golang:1.27-alpine sh -c 'go test ./...'通过。npm run typecheck和生产构建通过。- 真实控制台
http://127.0.0.1:5182已重新部署;root 登录后真实读取独占组和 PVE GPU 清单,健康字段显示not_collected,独占组正确报告 VM 101 正在运行导致不可分配。