首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Terraform创建vsphere_virtual_machine资源后展开Linux分区

使用Terraform创建vsphere_virtual_machine资源后展开Linux分区
EN

Stack Overflow用户
提问于 2018-07-19 03:37:00
回答 2查看 1.2K关注 0票数 2

我正在利用Terraform的vsphere_virtual_machine资源从模板克隆虚拟机。磁盘子资源(模板中的每个磁盘都需要)允许您在调配期间增加磁盘的大小。我正在寻找关于如何从操作系统的角度(分区、逻辑卷、文件系统)自动扩展空间的建议。目前,我使用fdisk、lvextend等工具手动执行此操作,但我希望在代码中自动执行此操作。如果这超出了Terraform的范围,是否有其他策略或自动化工具可以更好地完成此任务(例如,Chef等配置管理工具)?

EN

回答 2

Stack Overflow用户

发布于 2018-11-28 06:51:51

您可以使用remote_exec provisioner来完成此操作:

代码语言:javascript
复制
  provisioner "remote-exec" {
    connection {
      host = "${var.ip}"
      user = "ubuntu"
      password = "${var.VP}"
  }

    inline = [
      "echo ${var.VP} | sudo -S growpart /dev/sda 2",
      "sudo growpart /dev/sda 5",
      "sudo pvresize /dev/sda5",
      "sudo lvextend -l +100%FREE /dev/mapper/ubuntu--base--vg-root",
      "sudo resize2fs /dev/mapper/ubuntu--base--vg-root"
    ]
  }

根据操作系统和分区标签的不同,您的命令略有不同,但要点是相同的。

我不知道为什么我必须在growpart /dev/sda 5之前使用growpart /dev/sda 2,但是我知道。这适用于VMWare ESXI上的Ubuntu16.04模板。

票数 0
EN

Stack Overflow用户

发布于 2019-09-23 23:57:13

和我不知道为什么我必须在growpart /dev/sda 5之前使用growpart /dev/sda 2,但我知道。

如果运行fdisk -l,您将看到分区5是一个LVM,它在分区2中开始和结束,它是一个扩展分区。因此,必须先增长分区2,然后才能增长分区5。

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

https://stackoverflow.com/questions/51409798

复制
相关文章

相似问题

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