我正在尝试将运行 Ubuntu 18.04 的新 AWS EC2 实例上的文件夹挂载到 AWS S3。
我一直按照我在以下网址找到的说明进行操作https://cloud.netapp.com/blog/amazon-s3-as-a-file-system和https://www.nakivo.com/blog/mount-amazon-s3-as-a-drive-how-to-guide/。我也看到了这条消息将 S3 存储桶安装到 AWS Ubuntu 实例上的问题
当我运行命令来挂载文件夹时,我没有收到任何错误,但是当我查看当前挂载的文件夹时,没有列出我的新文件夹,例如:
[email protected]:~$ sudo s3fs -o allow_other alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs
[email protected]:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=486512k,nr_inodes=121628,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=100208k,mode=755)
/dev/xvda1 on / type ext4 (rw,relatime,discard)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13950)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/var/lib/snapd/snaps/snapd_14066.snap on /snap/snapd/14066 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/amazon-ssm-agent_4046.snap on /snap/amazon-ssm-agent/4046 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core18_2253.snap on /snap/core18/2253 type squashfs (ro,nodev,relatime,x-gdu.hide)
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=100204k,mode=700,uid=1000,gid=1000)
我尝试了 mount 命令的各种组合:
sudo /usr/bin/s3fs -o allow_other alextestbackup /home/ubuntu/s3-bucket/
s3fs -o allow_other alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs
s3fs alextestbackup ~/s3-bucket/ -o passwd_file=~/.passwd-s3fs
我还测试了使 .passwd-s3fs 具有不正确的凭据,但没有收到任何警告说这些凭据不正确。
在我看来,凭证似乎出于某种原因未被拾取?或者是我遗漏了其他什么。
非常感谢您的帮助,如果您需要任何日志文件信息,请告诉我在这里发布什么。
答案1
我停止/启动了 AWS E2 实例,然后运行:
sudo /usr/bin/s3fs -o allow_other alextestbackup /home/ubuntu/s3-bucket/
现在我看到目录已经挂载了(mount 命令的最后几行):
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=100204k,mode=700,uid=1000,gid=1000)
s3fs on /home/ubuntu/s3-bucket type fuse.s3fs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
并且可以确认当我将文件写入 s3-bucket 时我可以在 AWS S3 控制台上看到该文件。
所以...不知道之前发生了什么,或者只是在安装 s3fs 后需要重新启动
答案2
我在 EC2(Ubuntu18)上安装了 S3,但无法使用命令行安装它。当我向 /etc/fstab 文件添加一个条目并重新安装(source -a)时,它工作正常。我还确保我的 EC2 实例具有包含适当 S3 读/写/删除策略的角色。
Srini 在下面的链接中提供了一个很好的解释(尽管只有 fstab 条目对我有用)。