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

使用Ansible的vmware_guest模块创建Windows Server虚拟机时disk参数不生效问题

问题根因

  • vmware_guest模块针对Linux和Windows虚拟机的克隆后磁盘处理逻辑不同:Linux场景下vCenter调整磁盘硬件大小后系统可自动识别挂载,Windows场景下默认客制化流程不会自动调整分区大小,且缺少明确的磁盘匹配参数时模块会跳过模板原有磁盘的大小调整。
  • 你当前的配置缺少两个Windows场景必须的参数:磁盘的唯一匹配标识、客制化阶段的磁盘扩容开关。

修复方案

1. 修正disk参数配置

明确指定要调整的是模板自带的第一块系统盘,避免模块无法匹配磁盘而跳过配置:

disk:
  - size_gb: "{{ disk_size | default('16') }}"
    type: "{{ vm_disk_type | default('thin') }}"
    datastore: "{{ vm_datastore }}"
    disk_number: 0
    scsi_controller: 0

2. 新增客制化扩容参数

在customization配置块添加extend_disk: yes,开启Windows客制化阶段的自动分区扩容能力:

customization:
  dns_servers:
    - "{{ dns_server1 }}"
  extend_disk: yes

注:extend_disk参数需要community.vmware集合版本≥1.0.0,低版本Ansible需先升级对应集合

3. 模板前置检查

操作前确认Windows模板满足以下条件:

  • 已安装最新版VMware Tools
  • 系统盘未开启BitLocker加密
  • 系统分区为NTFS格式,无额外分区限制

兜底方案

如果上述配置仍不生效,可拆分任务两步执行:

  1. 先克隆虚拟机并调整磁盘硬件大小,不执行客制化、不启动虚拟机
  2. 启动虚拟机后通过WinRM连接执行PowerShell命令扩容分区:
$partition = Get-Partition -DriveLetter C
Resize-Partition -DriveLetter C -Size ($partition | Get-PartitionSupportedSize).SizeMax

内容的提问来源于stack exchange,提问作者G16

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:27:03