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

如何使用Terraform为vSphere虚拟机添加动态数量的数据磁盘

你可以使用Terraform内置的dynamic动态块功能,遍历每个虚拟机实例的disks列表批量生成disk配置块,无需调整现有变量和变量值定义,仅需修改resource.tf中vsphere_virtual_machine资源的磁盘部分即可。

修改后的磁盘配置段

在你现有disk1的配置块之后,新增如下dynamic块:

# 批量遍历disks列表创建额外数据盘
dynamic "disk" {
  for_each = each.value.disks
  iterator = disk_item
  content {
    label            = "disk${disk_item.index + 2}"
    unit_number      = disk_item.index + 2
    size             = disk_item.value
    eagerly_scrub    = data.vsphere_virtual_machine.template.disks.0.eagerly_scrub
    thin_provisioned = data.vsphere_virtual_machine.template.disks.0.thin_provisioned
  }
}

逻辑说明

  • 你原有代码中已经定义了unit_number = 0的系统盘、unit_number = 1的110G固定数据盘,所以批量生成的磁盘索引从2开始,避免设备号冲突
  • disk_item.index为disks列表的遍历索引,从0开始计数,加2后自动生成连续不重复的label和unit_number
  • disk_item.value直接读取disks列表中存储的磁盘容量值,其余磁盘参数沿用模板的默认配置,和你现有逻辑保持一致

可选优化

如果你不需要单独维护system_disk1_size参数,可以把110G的磁盘也合并到disks列表中,删除原来的disk1固定配置块,将dynamic块中的索引偏移改为+1即可,进一步简化配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:48:03