s3fs 在 Linux 中将 Amazon S3 存储桶挂载为本地目录的稳定性如何?对于高要求的生产环境是否推荐/稳定?
有更好/类似的解决方案吗?
Update:使用 EBS 并通过 NFS 将其安装到所有其他 AMI 会更好吗?
这里有一篇关于 s3fs 的好文章 http://www.turnkeylinux.org/blog/exploring-s3-based-filesystems-s3fs-and-s3backer,读完后我求助于 EBS Share。
它强调了使用 s3fs 时的一些重要注意事项,即与 S3 的固有限制相关的事项:
- 任何文件不能超过 5GB
- 您无法部分更新文件,因此更改单个字节将重新上传整个文件。
- 对许多小文件的操作非常高效(毕竟每个文件都是一个单独的 S3 对象),但对大文件的操作效率非常低
- 尽管 S3 支持部分/分块下载,但 s3fs 并没有利用这一点,因此如果您只想读取 1GB 文件的一个字节,则必须下载整个 GB。
因此,s3fs 是否是一个可行的选择取决于您存储的内容。如果您要存储照片,您想要写入整个文件或读取整个文件,而不会增量更改文件,那么就可以了,尽管有人可能会问,如果您这样做,那么为什么不直接使用 S3直接API?
如果您正在谈论应用程序数据(例如数据库文件、日志文件),您想要进行小的增量更改,那么它绝对不可以 - S3 只是无法以这种方式工作,您无法增量更改文件。
上面提到的文章确实谈到了类似的应用程序 -s3backer https://code.google.com/p/s3backer/- 通过在 S3 上实现虚拟文件系统来解决性能问题。这解决了性能问题,但它本身也有一些问题:
- 由于写入延迟,数据损坏的风险很高
- 太小的块大小(例如,4K 默认值)可能会显着增加
额外费用(例如,50GB、4K 块存储价值 130 美元)
- 太大的块大小会增加大量的数据传输和存储
费用。
- 内存使用量可能令人望而却步:默认情况下它缓存 1000 个块。
对于默认的 4K 块大小,这不是问题,但大多数用户
可能会想要增加块大小。
我求助于从 EC2 实例共享的 EBS 安装驱动器。但你应该知道,虽然这是性能最好的选项,但它有一个大问题
EBS挂载的NFS共享有其自身的问题——单点故障;如果共享 EBS 卷的计算机出现故障,那么您将失去对所有访问该共享的计算机的访问权限。
这是我能够承受的风险,也是我最终选择的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)