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

使用Terraform为已部署VMware Server添加磁盘配置报错求助

问题原因

vsphere_virtual_disk资源仅负责创建独立的虚拟磁盘文件,它不支持嵌套disk块来配置挂载逻辑。disk块是vsphere_virtual_machine资源的专属配置项,用于将已创建的虚拟磁盘挂载到指定虚拟机上。你把挂载配置放错了资源块,因此才会触发Blocks of type "disk" are not expected here错误。

正确配置方案

需要拆分两步操作:先创建独立虚拟磁盘,再在目标虚拟机资源中添加挂载配置。

1. 创建独立虚拟磁盘(保留你的基础配置)

resource "vsphere_virtual_disk" "disk_2" {
  vmdk_path   = "${var.name}.2.vmdk"
  size        = 112
  datacenter  = "${var.datacenter}"
  datastore   = "${var.storage}"
  type        = "thin"
}

2. 在虚拟机资源中添加磁盘挂载配置

找到你已部署的vsphere_virtual_machine资源块,在其中插入disk块来挂载刚才创建的磁盘:

resource "vsphere_virtual_machine" "your_vm" {
  # 原有虚拟机配置(名称、CPU、内存、网络等)
  name             = var.vm_name
  resource_pool_id = data.vsphere_resource_pool.pool.id
  datastore_id     = data.vsphere_datastore.datastore.id
  # ... 其他原有配置 ...

  # 添加磁盘挂载块
  disk {
    attach         = true
    path           = vsphere_virtual_disk.disk_2.vmdk_path
    label          = "diskshared"
    unit_number    = 2
    datastore_id   = data.vsphere_datastore.datastore.id
  }
}

关键注意事项

  • unit_number要确保和虚拟机现有磁盘不冲突(通常系统盘为0,数据盘从1开始递增)
  • 如果是用于集群的共享磁盘,需额外添加sharing = "sharingMultiWriter"参数
  • 确保datastore_id与虚拟磁盘所在的存储资源一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:44:56