ubuntu 14 amazon aws
我正在尝试在启动时附加和挂载一个卷,/etc/init中有以下.conf文件
start on started network-interface
script
/usr/bin/aws ec2 attach-volume ... && /bin/mount ... || /bin/mount ...
end script问题是连接是异步的,可能需要任意时间
因此,如果我在实例第一次连接卷时启动它,但在装载时将失败如果我重新启动,那么它将在连接时失败,因为它已经连接了装载将工作,然后任何后续的重新引导都将工作问题是在第一次需要连接卷时
因此,我认为我需要另一个脚本(不确定是否可以在相同的.conf文件中完成),类似于
start on started network-interface
script
////try to attach it if we get an error then its already attached so mount it
/usr/bin/aws ec2 attach-volume ... || /bin/mount ...
end script
start on WHEN volumen IS attached (no idea what i need here)
script
///new device attached to system mount it
/bin/mount ...
end script所以我的问题是,我如何知道设备/卷何时连接到系统,我希望所有这些都可以在像apache mysql这样的东西之前完成……如果没有启动,我需要重新启动它们,或者更好地延迟apache mysql的启动。在我的装载准备好之前,我需要以这种方式连接多个卷
感谢您的建议
发布于 2016-07-20 09:07:16
通过让实例创建并附加其自己的EBS卷,每个实例都将需要凭据或允许其创建和附加EBS卷的
upstart。这只需要在第一次启动时完成一次,而不是在每次重新启动时。将实例user-data中的命令作为脚本在第一次引导时执行。user-data中,传递一个用于格式化卷并装载它的脚本(并向/etc/fstab).添加一个条目
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
https://stackoverflow.com/questions/38470317
复制相似问题