我正在尝试使用terraform在AWS中创建一个r3.large实例。
以下是我在地形中的AMI定义片段。
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" ]
当我进入正在运行的实例时,我可以看到带有“fdisk -l”的实例存储,但它没有格式化或分区。
编辑:添加了一个cloud-init日志片段
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
答案 0 :(得分:0)
在这篇文章中,它提到Amazon Linux上的cloud-init
不支持fs_setup
模块。我认为这就是导致失败的原因。
https://stackoverflow.com/a/53194483/8431665
我认为您可以尝试使用bootcmd,mount和runcmd直接格式化和装载EBS。