在启动 Amazon EC2 Linux 实例时自动挂载 EBS 卷



我有一个 EBS 卷(例如 /dev/sdf ),已附加到 EC2 实例(从不同的 EBS 卷启动),并且我已经挂载了该卷(通过 mount /dev/sdf /data)。当我停止并重新启动实例时,卷仍已连接但不再挂载,我必须再次手动挂载它。

有没有办法使卷/dev/sdf启动实例时自动挂载到/data

似乎官方 ec2 文档现在推荐带有 nofail 的普通旧 fstab 条目 -

/dev/xvdf       /data   ext4    defaults,nofail        0       2

参考 - http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

/etc/fstab

输入

输入如下:

/dev/sdf    /data   ext3    defaults    1 1

这将在重新启动期间自动装入卷。

我建议使用/etc/init conf 文件来执行此操作:

  • 使用根登录
  • 创建一个新文件(非可执行文件)命名如下:mountec2vol.conf
  • 粘贴此代码:
# /etc/init/mountec2vol.conf
#
# description: Mounts the EBS Volume
#
start on net-device-up
exec mount /dev/xvdf1 /myVolume`
  • 如果要测试,请重新启动

这就是你要做的!

可证明的证明是官方文档

你需要一段代码,例如:

DEVICE=/dev/$(lsblk -rno NAME | awk 'FNR == 3 {print}')
MOUNT_POINT=/data/
cp /etc/fstab /etc/fstab.orig
UUID=$(blkid | grep $DEVICE | awk -F '"' '{print $2}')
echo -e "UUID=$UUID     $MOUNT_POINT      xfs    defaults,nofail   0   2" >> /etc/fstab
umount /data
mount -a

如果您要使用 Terraform 启动实例、具有附加和挂载功能的 EBS,您可以使用我的 AWS-EBS-Attach-Mount 备忘单中的所有代码

最新更新