S3存储桶在EC2实例上随机卸载

时间:2011-09-07 11:43:59

标签: amazon-ec2 amazon-web-services s3fs

我公司目前正在使用AWS的S3fs和Ec2。我们已经在我们的Ec2实例上安装了s3存储桶,但是经过一段时间(例如一周),一些存储桶会自行卸载,而我们的服务器实例几乎无用。错误是“传输端点未连接。”

S3fs版本:从源代码构建1.61

FUSE版本:2.84.1从源代码构建

操作系统:Linux,Ubuntu 11.04

是否存在某种预防(或至少检测)这些问题的安全机制?

2 个答案:

答案 0 :(得分:1)

s3fs是一个不错的主意,但请记住,即使对s3 的调用可能有点内部(或者说在他们的网络上“),你仍然在通过HTTP挂载文件系统。从长远来看,这不会是稳定的。

也许您可以通过使用任何类型(我猜)共享网络文件系统来重新表达您的问题以寻求替代方案并分享您要完成的任务。我可以看到吸引力,但是对于Amazon EC2,人们通常使用无共享方法,应避免任何与网络相关的额外操作,以便能够更轻松地回收实例等。

很高兴延长我的答案。

答案 1 :(得分:1)

很有见地。没想过这个。但是我们可以采取以下3个预防措施:

1)创建一个自动挂载,以便在EC2关闭的极不可能的情况下,一旦EC2通过 / etc / fstab

返回,S3将重新打开

2)或/如果您愿意,可以使用cron创建辅助自动挂载:

echo "/usr/bin/s3fs [s3 bucket name] [mountpoint path] -o allow_other" >> automount-s3
sudo mv automount-s3 /usr/sbin
sudo chown root:ubuntu /usr/sbin/automount-s3
sudo chmod +x /usr/sbin/automount-s3

crontab -e

添加此行

@reboot /usr/sbin/automount-s3

3)我还会创建另一个每小时的cron来检查S3是否仍然挂载 - 这可以通过检查EC2路径中是否存在虚拟文件来完成。如果该文件不存在,cron将通过调用“/ usr / bin / s3fs -o allow_other [s3 bucket name] [mountpoint path]”进行手动挂载。最好是向管理员发送电子邮件并将其登录到系统中。