【发布时间】:2019-04-28 05:36:16
【问题描述】:
我想附加一个 EBS 卷而不是快照作为我的 Spot 实例的持久存储。我了解如何手动附加卷、挂载它并让它在重新启动后仍然存在,但我如何让它在启动时自动附加?
在启动实例时我可以在用户数据中做些什么吗?
目前,我有一个 ami 作为现场实例运行。我有一个单独的卷,它持续存在并用于实例的输入和保存结果。我一次只有一个实例。 ami 将驱动器安装在 /data。为了使挂载能够在重新启动后继续存在,我编辑了 /etc/fstab 以包括:
UUID=MY_VOLUME_UUID /data xfs defaults,nofail 0 2
再次编辑以展示 Passatizhi 的解决方案
我将以下内容添加到 EC2 启动向导的配置实例详细信息 > 高级详细信息 > 用户数据部分:
#!/bin/bash
INSTANCE_ID=$(curl 169.254.169.254/latest/meta-data/instance-id)
export AWS_DEFAULT_REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/[a-z]$//')
/home/ubuntu/miniconda3/bin/aws ec2 attach-volume --volume-id vol-myVol12345 --instance-id $INSTANCE_ID --device /dev/sdf
sleep 10
sudo mkdir -p /data
sudo mount /dev/nvme1n1 /data
注意:
我需要将完整路径添加到 aws 以使其正常工作。另外由于 ami 已经有 /data 设置,我不需要sudo mkdir -p /data
【问题讨论】:
-
“启动时”是指实例启动时?
-
@hephalump 是实例启动时
-
我想澄清一下,one 卷是同时挂载多个实例的吗?您可以创建一个卷并将其附加到 aws 控制台中。这不合适吗?
-
@Passatizhi 我将我的问题编辑得更具体,但我并没有问如何在创建/第一次启动时将卷附加到多个实例自动一个卷到一个实例.
标签: amazon-web-services amazon-ec2