AI 虚拟化平台智能运维
AI 虚拟化平台智能运维
公开说明
本文经过脱敏处理,仅介绍通用问题、技术方案和个人工作,不涉及具体使用单位、资源名称、内部地址、认证信息、真实告警、运维规则或部署参数。
项目背景
大规模虚拟化环境同时包含不同操作系统、计算集群、宿主机、存储域、网络和模板。传统管理方式要求运维人员熟悉平台页面、资源关系和接口字段;批量创建、克隆、迁移和故障排查又往往需要跨多个页面和工具完成,操作成本高,也容易因上下文缺失造成误操作。
项目建设了一套面向虚拟化环境的智能运维平台,以大模型作为自然语言入口,以结构化执行计划连接资源查询、调度决策、工作流执行和故障诊断。大模型负责理解需求和生成提议,规则、权限与工作流引擎负责校验和执行,从而把自然语言的易用性与生产运维的确定性结合起来。
核心能力
对话式资源管理
支持通过自然语言查询、创建、克隆、启停、迁移、快照和批量管理虚拟机。系统能够识别用户描述中的资源类型、目标对象、规格、时间范围和操作意图,并将其转换为结构化查询或操作请求。
对于“那台虚拟机”“某环境最近创建的机器”等模糊表达,系统结合会话上下文、资源元数据和候选结果进行实体定位,在目标不唯一时返回候选项,不直接执行有副作用的操作。
智能决策与任务编排
创建虚拟机时,用户只需要描述业务规格和用途。平台综合模板、计算资源、存储、网络和亲和性约束生成候选方案,通过硬约束过滤与多目标评分给出可解释的资源放置结果。
对于批量创建、克隆、网络配置、启动和健康检查等复合任务,系统将自然语言需求拆解为执行 DAG,并由工作流引擎管理步骤依赖、异步等待、超时重试、失败补偿和最终校验。
故障诊断与容量治理
平台能够围绕虚拟机、宿主机、集群、存储、网络、亲和性规则和事件记录收集诊断上下文,结合运维知识库完成故障原因分析,并给出有依据的处置建议。
同时对长期关机、低利用率、资源超配、存储热点和宿主机负载不均等问题进行识别,提供资源回收、规格调整、数据迁移和容量风险分析。
整体架构
管理页面与对话入口
↓
AI Gateway
会话上下文 / 身份认证 / 权限控制
↓
LLM Planner
意图识别 / 实体定位 / 参数抽取 / 计划生成
↓
Structured Plan
↓
Guardrail Engine
Schema 校验 / RBAC / 配额 / 策略 / 风险确认
↓
Workflow Engine
DAG / 状态机 / Retry / Timeout / Saga / 幂等
↓
Tool Layer
资源查询 / 创建 / 启停 / 克隆 / 快照 / 迁移 / 指标 / 事件
↓
oVirt / 自动化工具 / 运维知识库大模型不会直接拼接并执行任意 REST 请求。它输出受约束的结构化计划,后端依次完成参数、权限、配额、资源状态和风险等级检查,再由工具层调用真实平台接口。
我的主要工作
1. 自然语言查询与操作
完成大模型与 oVirt REST API 的接入,梳理虚拟机、宿主机、集群、存储域、网络、模板和事件等资源模型,并将常用查询和操作封装为边界明确的工具。
围绕资源查询设计中间 DSL,把用户描述转换为资源类型、过滤条件、排序和数量限制,再由查询引擎执行,避免大模型直接生成数据库语句或自由组合平台接口。
{
"resource": "vm",
"filters": [
{ "field": "os", "op": "contains", "value": "centos" },
{ "field": "memory", "op": "gt", "value": "16GB" },
{ "field": "status", "op": "eq", "value": "DOWN" }
]
}在操作链路中,对虚拟机名称、处理器、内存、磁盘、操作系统、模板和网络等参数进行结构化转换,并统一单位、枚举和默认值,减少自然语言表达差异对接口调用的影响。
2. 资源实体定位
为解决资源别名、同名对象和上下文指代问题,建立“用户表达—标准资源—平台标识”的映射过程。系统先根据名称、类型、所属环境和最近操作等条件缩小候选范围,再结合会话上下文确定目标。
查询操作可以返回多个候选结果;创建、删除、迁移等有副作用的操作必须定位到唯一资源标识,否则中止执行并要求用户确认目标。
3. 智能资源放置
参与设计资源放置模块,将大模型理解到的业务需求转换为资源约束,结合 oVirt 原生调度能力完成计算域、存储域、模板和网络的选择。
首先执行硬约束过滤:
- 模板和网络是否存在并可用;
- 计算集群的体系结构与虚拟机是否兼容;
- 存储域是否处于可用状态且容量满足要求;
- 宿主机的处理器和内存余量是否满足规格;
- 亲和性、反亲和性和维护状态是否存在冲突。
通过硬约束的候选资源再按照处理器余量、内存余量、存储容量、集群均衡度和历史稳定性进行加权评分。推荐结果同时返回主要得分因素和被过滤原因,使资源放置过程可以解释和复核,而不是由模型直接决定最终位置。
4. 多步骤运维工作流
实现从自然语言任务到执行 DAG 的转换。以批量创建虚拟机为例,工作流会拆分为模板检查、集群检查、存储检查、资源放置、创建虚拟机、创建并挂载磁盘、连接网络、启动、等待状态和健康检查等步骤。
VALIDATING
↓
PLANNING
↓
EXECUTING
↓
WAITING
↓
VERIFYING
↓
SUCCESS / FAILED / ROLLING_BACK针对虚拟化平台的异步操作,接口返回只代表请求已受理。工作流会持续轮询任务和资源状态,直到满足目标条件或触发超时;临时失败采用有限次数重试,业务校验失败则立即停止后续步骤。
5. 失败补偿与状态恢复
多步骤任务无法依赖单个数据库事务完成回滚,因此为关键步骤配置对应补偿动作。例如创建虚拟机、创建磁盘、挂载磁盘和连接网络分别对应删除虚拟机、删除磁盘、卸载磁盘和断开网络。
当中间步骤失败时,工作流按照已完成步骤的逆序执行补偿,并记录每个补偿动作的结果。对于无法自动恢复的外部状态,系统停止继续操作,保留现场信息并转人工处理,不将部分成功错误地标记为整体成功。
6. 幂等、重试与并发控制
为每次对话任务和资源操作生成任务标识、请求标识和操作标识。执行前检查历史状态,同一幂等键已经成功时直接返回原结果,仍在执行时返回当前进度,避免因网络超时或前端重试重复创建资源。
针对同一虚拟机的启停、删除、快照和迁移等互斥操作,使用基于资源标识的分布式锁和状态校验控制并发;任务完成或超时后释放锁,并通过任务状态表支持异常恢复和结果追踪。
7. 故障诊断 Agent
围绕虚拟机无法启动、运行异常和资源不可用等场景,构建诊断工具链。Agent 会主动查询虚拟机状态、近期事件、宿主机资源、存储可用性、网络状态和亲和性约束,将分散信息组合为诊断上下文。
诊断结果区分“直接证据、推断原因和处置建议”。例如只有在事件记录、资源状态和约束条件能够形成证据链时,才给出主要原因;证据不足时返回待检查项,不编造确定结论。修复操作仍需进入权限、风险和工作流校验链路。
8. 容量治理与资源优化
对虚拟机运行状态和资源指标进行周期分析,识别长期未启动、持续低利用率、内存或处理器超配、存储空间紧张、存储热点和宿主机负载不均等问题。
资源优化建议同时展示当前配置、统计区间、关键指标和调整依据。对于新增一批虚拟机等容量问题,通过放置模拟计算处理器、内存、存储和约束条件的可满足程度,给出容量缺口和风险位置。
9. 运维知识库与 RAG
将公开运维手册、脱敏后的处理规范、历史故障经验和错误码说明整理为可检索知识库。故障诊断时,平台先获取当前资源和事件信息,再以错误特征检索相关知识,形成“实时状态 + 历史经验”的组合上下文。
检索结果保留来源和关联依据,知识库内容只用于补充诊断,不替代实时状态检查,也不会绕过现有运维权限和操作流程。
10. 安全护栏与风险分级
在大模型和真实平台之间增加统一安全护栏,对工具名称、参数 Schema、资源权限、配额、平台状态和操作策略进行校验。无法通过校验的计划不会进入执行层。
按照操作影响对工具进行风险分级:
| 操作类型 | 风险等级 | 执行方式 |
|---|---|---|
| 资源查询 | L0 | 校验权限后直接执行 |
| 启动、普通创建 | L1 | 展示执行结果或简要计划 |
| 修改规格、关机 | L2 | 展示影响并确认 |
| 强制停止、删除 | L3 | 强确认并记录审计信息 |
| 批量删除、关键资源变更 | L4 | 进入审批或禁止 Agent 直接执行 |
对于删除等高风险操作,系统在确认前补充资源运行状态、关联磁盘、快照和影响范围,避免只依据一句自然语言立即执行不可逆操作。
关键设计原则
大模型负责理解,系统负责确定性执行
大模型擅长理解不完整或不规范的自然语言,但不能成为权限、参数和资源状态的最终判断者。所有操作都必须落到定义明确的工具、Schema 和执行状态机中。
查询与操作使用不同安全边界
资源查询允许返回候选信息,写操作必须定位唯一目标并通过权限与风险检查。批量操作还需要展示执行范围,避免模型对模糊集合进行扩大解释。
建议必须可解释
资源放置、故障诊断和容量优化都会返回关键数据、命中规则和推断过程。运维人员能够知道推荐结论来自哪些资源状态,而不是只看到模型生成的一段文字。
全链路可追踪
系统记录用户请求、结构化计划、校验结果、工作流步骤、平台响应、补偿过程和最终状态,支持问题定位、操作审计和任务恢复。
项目成果
- 建立自然语言查询与虚拟化资源管理入口;
- 实现资源语义解析、上下文实体定位和结构化工具调用;
- 完成硬约束过滤、多目标评分和可解释资源放置;
- 实现多步骤 DAG、异步状态轮询、超时重试和 Saga 补偿;
- 通过幂等键、资源锁和状态机控制重复请求与并发冲突;
- 建立基于实时资源、事件和知识库的故障诊断链路;
- 支持低利用率识别、资源优化建议和容量模拟;
- 通过 Schema、RBAC、配额、风险确认和审计约束 Agent 执行边界。
项目将大模型定位为运维意图入口,真正的工程主体仍然是资源建模、约束决策、工作流状态机、可靠性控制、安全治理和虚拟化平台集成。
