我正在尝试使用 S3 存储桶来长期存储电子邮件,使用 Dovecot 提供服务,并使用 cron 作业将doveadm altmove
所有超过几周的内容转移到其他存储中。我能够使用以下 Dovecot 配置来实现这一点
# doveconf
mail_location = sdbox:~/sdbox:ALT=/var/s3mail/%n
/var/s3mail
我选择的 S3 存储桶的根目录在哪里,安装有s3fs-fuse。
这可以将旧邮件移动到备用存储,从而释放邮件服务器的空间。但是,当我尝试使用电子邮件客户端在邮箱文件夹之间移动旧邮件(存储在 S3 上)时,Dovecot 失败并显示以下日志消息:
link(/var/s3mail/[SOURCE_PATH], /var/s3mail/[DEST_PATH]/.temp....) failed: Operation not supported
鉴于link
我猜测这是 S3 或 s3fs-fuse 文件系统功能的不足。
如果不通过 s3fs-fuse 和上述配置,我该如何实现使用 S3 存储桶进行替代存储的最终目标,最好不要改变存储方法(sdbox)?
或者,是否有配置可以更改 Dovecot 在文件夹之间移动电子邮件的方式,以便不使用硬链接?我可以将符号链接与 s3fs-fuse 一起使用,但不能使用硬链接。(我认为link
错误意味着 Dovecot 试图创建硬链接,但这可能是误解。我对 Dovecot 的实现不太了解。)
答案1
EFS 可以工作,并且实际上似乎比 S3 更适合电子邮件托管,所以我现在正在使用它。