【问题标题】:Format and Mount AWS Instance Store with Cloud-Init使用 Cloud-Init 格式化和挂载 AWS Instance Store
【发布时间】:2018-07-15 23:00:15
【问题描述】:

我正在尝试使用 terraform 在 AWS 中创建 r3.large 实例。

这是我在 terraform 中的 AMI 定义的 sn-p。

resource "aws_instance" "centos-server" {

   ephemeral_block_device {
     device_name  = "/dev/xvdf"
     virtual_name = "ephemeral0"
   }

   user_data = "${file("./user-data.yml")}"
}

还有我的 user-data.yml 文件

#cloud-config
device_aliases:
  'ephemeral0': '/dev/xvdf'
disk_setup:
  ephmeral0:
   table_type: 'mbr'
   layout: true
   overwrite: true
fs_setup:
 - label: ephemeral0
   filesystem: ext4
   device: ephemeral0
   partition: auto
mounts:
 - [ ephemeral0, "/media/ephemeral0", "ext4", "noatime", "0", "2" ]

当我 ssh 进入正在运行的实例时,我可以看到带有“fdisk -l”的实例存储,但它没有格式化或分区。

编辑:添加了 cloud-init 日志的 sn-p

Cloud-init v. 0.7.5 running 'modules:config' at Wed, 07 Feb 2018 19:09:33 +0000. Up 41.76 seconds.
2018-02-07 19:09:33,600 - util.py[WARNING]: Activating mounts via 'mount -a' failed

【问题讨论】:

  • cloud-init 日志有什么有用的要说的吗?
  • 并非如此。只是“mount -a”失败,我看到 /etc/fstab 被 cloud-init 修改了,安装失败,因为驱动器没有先格式化。

标签: amazon-ec2 terraform cloud-init


【解决方案1】:

在这篇文章中,它提到 Amazon Linux 上的 cloud-init 不支持 fs_setup 模块。我认为这就是你得到失败结果的原因。

https://stackoverflow.com/a/53194483/8431665

我想你可以尝试使用bootcmd、mount和runcmd直接格式化和挂载EBS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 2017-04-24
    • 2020-07-19
    • 2021-11-20
    • 2017-12-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    相关资源
    最近更新 更多