我正在使用 s3fs 将大量文件挂载到 S3 存储桶。它工作正常,除了我的本地磁盘空间也增长了很多(/tmp 目录中的内容)。
我的命令是:
$ su ec2-user -c '/usr/bin/s3fs my-bucket-name -o use_cache=/tmp /home/ec2-user/dir'`
我正在使用use_cache
参数,但实际缓存了什么?这些文件是否仍需要上传到 s3 并缓存在我的本地计算机上?我可以在上传/挂载过程中删除它吗?如果我将其关闭(如果出于其他目的),我的上传速度会更快吗?
来自 s3fs wiki(有点难找)。
如果通过"use_cache"选项启用,s3fs 会自动在 use_cache 指定的文件夹中维护文件的本地缓存。每当 S3FS 需要在 S3 上读取或写入文件,它首先下载整个 文件本地到 use_cache 指定的文件夹并对其进行操作。 当调用 fuse release() 时,如果 s3fs 会将文件重新上传到 s3,如果 它已被更改。S3FS 使用 MD5 校验和来最大程度地减少下载 从 S3。注意:这与统计信息缓存不同(见下文)。
本地文件缓存通过计算和比较 md5 校验和(ETag HTTP 标头)来工作。
use_cache指定的文件夹只是一个本地缓存。它可以随时删除。S3FS 按需重新构建它。注意:此目录 无限增长,并可能填满依赖于 存储桶并读取该存储桶。