Amazon web services Amazon OpsWorks在实例重新启动后不装载EBS卷?
我已经配置了一个OpsWorks堆栈,并且设置了我的层,以便将一个50 GB的卷连接到我启动的每个实例 新的EBS卷将正确创建、连接并装载到新启动的实例。以下是我在第一次开机后立即看到的内容:Amazon web services Amazon OpsWorks在实例重新启动后不装载EBS卷?,amazon-web-services,aws-opsworks,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
[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) <---------
如果我打字
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卷
提前感谢。我向AWS支持部门提出了这个问题,结果证明这是OpsWorks的问题。要使bug重现,一个关键的问题是我在命令行上键入
sudoreboot
来重新启动实例。如果我通过API或AWS控制台停止并重新启动实例,卷将正确装入。逐字引用AWS支持:
OpsWorks是一个非常程序化的服务。如果可能的话,它喜欢在没有人工干预的情况下管理自己的资源。也许手动重新启动操作系统覆盖了OpsWorks过程的某些部分
我被告知OpsWorksdev团队正在解决这个问题。该问题也可以通过向带有自定义厨师配方的/etc/fstab
文件中的EBS设备添加auto
选项来解决
我希望这将帮助那些遇到同样问题的人。我们必须使用的一个解决方法是自定义opsworks\u initial\u setup cookbook()的默认属性 使用以下customize.rb:
default[:opsworks_initial_setup][:bind_mounts][:mounts] = {}
当然,Amazon建议您使用。是否将卷添加到/etc/fstab?如果mount-a可以工作,那么我猜是的,但是应该在重新启动时安装它。
default[:opsworks_initial_setup][:bind_mounts][:mounts] = {}