使用/ etc / fstab自动挂载多个s3fs存储桶

Rya*_*eng 3 amazon-s3 s3fs

在s3fs指令Wiki中,我们被告知可以通过输入以下行来自动挂载s3fs存储桶: /etc/fstab

s3fs#mybucket /mnt/mybucket fuse    allow_other,use_cache=/tmp,url=https://s3.amazonaws.com 0 0
Run Code Online (Sandbox Code Playgroud)

这适用于1个存储桶,但是当我尝试通过2行将多个存储桶安装到1个EC2实例上时:

s3fs#mybucket /mnt/mybucket fuse    allow_other,use_cache=/tmp 0 0
s3fs#mybucket2 /mnt/mybucket2 fuse    allow_other,use_cache=/tmp 0 0
Run Code Online (Sandbox Code Playgroud)

只有第二行有效,我尝试将s3fs复制到s3fs2并复制到:

s3fs#mybucket /mnt/mybucket fuse    allow_other,use_cache=/tmp 0 0
s3fs2#mybucket2 /mnt/mybucket2 fuse    allow_other,use_cache=/tmp 0 0
Run Code Online (Sandbox Code Playgroud)

但这仍然行不通。只有第二个被安装:

如何通过s3fs自动挂载多个s3存储桶,/etc/fstab 而无需手动使用:

s3fs mybucket /mn/mybucket2-ouse_cache=/tmp
Run Code Online (Sandbox Code Playgroud)

bsh*_*hea 7

也许您的网络没有启动?

最少进入-只有一个选项(_netdev=网络“启动”后挂载)

<bucket name> <mount point> fuse.s3fs _netdev, 0 0

我正在运行Ubuntu 16.04,在中可以进行多个安装/etc/fstab

类似于我用于ftp图像上传的示例(已通过额外的存储桶安装点进行了测试):

mybucket1.mydomain.org /mnt/mybucket1 fuse.s3fs _netdev,allow_other,passwd_file=/home/ftpuser/.passwd-aws-s3fs,default_acl=public-read,uid=1001,gid=65534   0 0

mybucket2.mydomain.org /mnt/mybucket2 fuse.s3fs _netdev,allow_other,passwd_file=/home/ftpuser/.passwd-aws-s3fs,default_acl=public-read,uid=1001,gid=65534   0 0
Run Code Online (Sandbox Code Playgroud)

sudo mount -a 测试新条目并挂载它们(然后进行重新启动测试)。

参考:https : //github.com/s3fs-fuse/s3fs-fuse/wiki/FAQ

如果您希望以非root用户身份挂载,请按照上述内容查看UID,GID选项。如果使用保险丝选项allow_other,这不是绝对必要的,因为安装时权限为“ 0777”。


小智 0

您可以尝试启动脚本。这就是我解决在启动时使用 /etc/fstab 安装 s3fs 的问题的方法。

如何制作启动脚本因发行版而异,但有很多关于该主题的信息。