【问题标题】:Relation between azure_managed_disk and storage_data_diskazure_managed_disk 和 storage_data_disk 之间的关系
【发布时间】:2019-07-10 22:59:57
【问题描述】:

请看下面的 terraform 代码块:它为每个 1 TB 的 VM 添加 5 个磁盘,对吗?

resource "azurerm_managed_disk" "tf-mdsk-cluster" {
  count                = 5
  name                 = "${var.ax_base_hostname}-${count.index+1}-DATADISK"
  location             = "${azurerm_resource_group.tf-rg-cluster-internal.location}"
  resource_group_name  = "${azurerm_resource_group.tf-rg-cluster-internal.name}"
  storage_account_type = "Standard_LRS"
  create_option        = "Empty"
  disk_size_gb         = "1024"
}

如果是,那么下面会做什么?下面的 terraform 代码还为 5 个 VM 添加了 2 个磁盘,每个 1 TB,那么我应该使用哪一个?

storage_data_disk {
  name            = "${var.ax_base_hostname}-${count.index+1}-DISK-0"
  managed_disk_type = "Standard_LRS"
  create_option   = "Empty"
  lun             = 0
  disk_size_gb    = "1023"
}

storage_data_disk {
  name            = "${var.ax_base_hostname}-${count.index+1}-DISK-1"
  managed_disk_type = "Standard_LRS"
  create_option   = "Empty"
  lun             = 1
  disk_size_gb    = "1023"
}

我完全不知道每个角色的作用是什么,应该使用哪个。我的要求是所有磁盘,包括操作系统磁盘和数据磁盘都应该是托管磁盘。每个 VM 的数据磁盘应该是 5 TB,我必须构建 5 个 VM。了解这可以通过规模集来实现,但由于应用程序的原因,我们使用的是 5 个集群。

【问题讨论】:

    标签: azure azure-storage terraform terraform-provider-azure


    【解决方案1】:

    我相信一个是显式创建托管磁盘资源,而另一个只是一个 vm 定义(vm 将为您创建这些磁盘)。因此可以使用不同的方法获得相同的结果。

    https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html#storage_data_disk

    【讨论】:

    • 没有。 attach - 附加现有磁盘(因此它必须事先存在)
    • 实际上要求是从头开始创建然后附加到VM。所以它们以前不存在。
    • 这意味着您需要像在您提供的示例中一样使用两者
    • 澄清一下,使用azurerm_managed_disk 创建磁盘,然后使用带有附加选项的storage_data_disk 附加新创建的磁盘
    猜你喜欢
    • 2011-09-06
    • 2016-06-10
    • 2013-02-03
    • 2017-04-04
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多