实例重启后,Amazon OpsWorks未安装EBS卷?

时间:2014-03-11 17:14:03

标签: amazon-web-services aws-opsworks

我已经配置了一个OpsWorks堆栈并设置了我的图层,以便将50 GB的卷附加到我启动的每个实例上。

新的EBS卷可以正确创建,附加并安装到新启动的实例。这是我在第一次启动后立即看到的内容:

[root@biscotti ec2-user]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  1.9G  5.9G  25% /
tmpfs           298M     0  298M   0% /dev/shm
/dev/xvdi        50G   33M   50G   1% /srv/www          <---------
[root@biscotti ec2-user]# mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/xvdi on /srv/www type xfs (rw,noatime)             <---------

但是,如果我重新启动实例,则不会自动重新安装卷:

[root@biscotti ec2-user]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  1.9G  5.9G  25% /
tmpfs           298M     0  298M   0% /dev/shm
[root@biscotti ec2-user]# mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

如果我输入

sudo mount -a

一切都会恢复正常:

[root@biscotti ec2-user]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  1.9G  5.9G  25% /
tmpfs           298M     0  298M   0% /dev/shm
/dev/xvdi        50G   33M   50G   1% /srv/www
[root@biscotti ec2-user]# mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/xvdi on /srv/www type xfs (rw,noatime)

如何让OpsWorks自动为我重新安装EBS卷?

提前致谢。

2 个答案:

答案 0 :(得分:5)

我提出了AWS支持的问题,结果证明是OpsWorks的一个问题。该错误可重现性的一个关键因素是我通过在命令行上键入sudo reboot来重新启动实例。如果我通过API或AWS控制台停止并重新启动实例,则会正确装入卷。从字面上引用AWS支持:

  

OpsWorks是一个非常程序化的服务。如果可能的话,它喜欢在没有人工干预的情况下管理自己的资源。也许手动操作系统重启可以覆盖OpsWorks流程的某些部分。

我被告知OpsWorksdev团队正在解决这个问题。通过使用自定义Chef配方将auto选项添加到/etc/fstab文件中的EBS设备,也可以解决此问题。

我希望这会帮助那些遇到同样问题的人。

答案 1 :(得分:0)

我们必须使用的解决方法是自定义opsworks_initial_setup食谱(original)的默认属性。

使用以下customize.rb:

default[:opsworks_initial_setup][:bind_mounts][:mounts] = {}

但亚马逊当然建议使用symlink