首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >terraform:重启后的azure storage_data_disk丢失

terraform:重启后的azure storage_data_disk丢失
EN

Stack Overflow用户
提问于 2020-05-07 18:37:04
回答 1查看 566关注 0票数 0

我使用下面的模板创建带有terraform的Azure中的VM。创建了数据磁盘,并将其用于提供阶段:

代码语言:javascript
复制
/dev/sdb1       6.9G   32M  6.5G   1% /mnt
/dev/sdc1        25G  3.7G   20G  16% /datadrive
tmpfs           341M     0  341M   0% /run/user/1000

在重新启动VM之后,data_disk消失了,我在VM创建中做错了什么,我需要持久化data_disk。

代码语言:javascript
复制
/dev/sdb1       6.9G   32M  6.5G   1% /mnt
tmpfs           341M     0  341M   0% /run/user/1000

terraform模板

代码语言:javascript
复制
resource "azurerm_managed_disk" "data-disk" {
  name                 = "datadisk-${random_string.resource-id.result}"
  location             = data.azurerm_resource_group.azure-resource-rg.location
  resource_group_name  = data.azurerm_resource_group.azure-resource-rg.name
  storage_account_type = "Standard_LRS"
  create_option        = "Empty"
  disk_size_gb         = "128"
}


# Create virtual machine
resource "azurerm_virtual_machine" "azure-vm" {
    name                  = "${var.prefix}-${random_string.resource-id.result}"
    location              = (var.location)

    (...)

    storage_os_disk {
        name              = "${var.prefix}-${random_string.resource-id.result}-disk"
        caching           = "ReadWrite"
        create_option     = "FromImage"
        managed_disk_type = "Premium_LRS"
    }

    storage_data_disk {
        name            = azurerm_managed_disk.data-disk.name
        managed_disk_id = azurerm_managed_disk.data-disk.id
        create_option   = "Attach"
        lun             = 0
        disk_size_gb    = azurerm_managed_disk.data-disk.disk_size_gb
    }

    storage_image_reference {
        publisher = (var.os-publisher)
        offer     = (var.os-offer)
        sku       = (var.os-sku)
        version   = (var.os-version)
    }

    (...)

}

编辑

为装入数据磁盘而执行的脚本:

代码语言:javascript
复制
mountpoint /datadrive || echo -e "o\nn\np\n\n\n\n\nt\nfd\nw\n" | sudo fdisk "/dev/sdc"
sudo mkdir /datadrive
sudo mkfs -t ext4 /dev/sdc1
sudo mount /dev/sdc1 /datadrive
sudo -i blkid
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 02:29:36

要确保驱动器在重新启动后自动重新挂载,必须将其添加到/etc/fstab文件中。还强烈建议在/etc/fstab中使用UUID (通用唯一的UUID)来引用驱动器,而不仅仅是设备名称(例如,/dev/sdc1 1)。

若要通过sudo -i blkid查找新磁盘UUID,请将以下行添加到/etc/fstab文件的末尾:

代码语言:javascript
复制
UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   ext4   defaults,nofail   1   2

Note

不正确地编辑/etc/fstab文件可能会导致无法引导的系统。如果不确定,请参考发行版的文档以获得有关如何正确编辑此文件的信息。还建议在编辑之前创建/etc/fstab文件的备份。

读取https://learn.microsoft.com/en-us/azure/virtual-machines/linux/attach-disk-portal#mount-the-disk

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61665258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档