You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible创建Proxmox VM模板时提示配置文件不存在的问题

问题分析与解决

关于报错中的配置文件

nodes/pve/qemu-server/900.conf是Proxmox VE(PVE)里VM ID为900的虚拟机配置文件,PVE会自动生成并维护这个文件——不管是通过GUI还是命令行创建VM,成功后都会生成该文件,完全不需要手动创建。

错误根源

你的Ansible playbook里第二个任务(Create a VM to use as a template)的creates参数设置错误:

creates: "{{ vm.cloud_image_path }}"

这个参数的逻辑是:如果指定的文件已存在,就跳过当前任务。也就是说,只要镜像文件/tmp/ubuntu-2204-minimal-cloudimg-amd64.qcow2已经下载过,创建VM的命令就不会执行,自然不会生成900.conf配置文件,后续执行qm importdisk时就会因找不到VM配置而报错。

修复方案

把第二个任务的creates参数改成判断VM配置文件是否存在,而非镜像文件:

- name: Create a VM to use as a template
  ansible.builtin.command:
    cmd: "qm create {{ vm.template_id }} --name {{ vm.template_name }} --memory {{ vm.template_memory }} --net0 virtio,bridge=vmbr0"
    creates: "/etc/pve/nodes/{{ ansible_hostname }}/qemu-server/{{ vm.template_id }}.conf"
  become: true

这样只有当VM 900的配置文件不存在时,才会执行创建VM的命令,确保后续导入磁盘时VM已正常创建。

如果是第一次运行playbook就出现该错误,需要手动在PVE节点上执行qm create命令,排查是否存在VMID 900已被占用、桥接设备vmbr0不存在等其他问题。

内容的提问来源于stack exchange,提问作者Fomalhaut -C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:55:19