Ubuntu-14.04

在啟動時使用 s3fs 自動掛載儲存桶

  • November 24, 2021

我使用 Amazon S3 儲存桶來傳送我的一些伺服器內容。我能夠成功安裝它,並授予 Apache 對其的權限,但無法在重新啟動時正確安裝它。

我**/etc/fstab**用這條線更新了我的,但是當我啟動時沒有任何反應

s3fs#my-bucket-name /mnt/s3_bucket fuse allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0

所以,我嘗試了另一種方式,評論了這行,然後把我的命令行放在**/etc/init.d/local**:

#!/usr/bin/env bash
s3fs -o allow_other,uid=33,gid=33,umask=227,use_cache=/root/cache my-bucket-name /mnt/s3_bucket

…也沒有用。

我最終放了一個**cron**,現在它可以工作了,但是對我來說感覺非常hacky,我想知道為什麼在開始時安裝它不起作用。

//Crontab
*/10 * * * * ~/mountBucket.sh 1>/dev/null

//Mount script
#!/usr/bin/env bash
if [[ -d /mnt/s3_bucket/someBucketVirtualDirectoryName ]] ; then echo 'Bucket already mounted' ; else s3fs -o allow_other,uid=33,gid=33,umask=227,use_cache=/root/cache my-bucket-name /mnt/s3_bucket ; fi 1>/dev/null

有什麼我錯過的嗎?

我正在使用帶有 Fuse 2.9.2 的 Ubuntu 14.04.4 LTS


編輯:這是我必須自己解決的另一個不相關但重要的性能問題:

如果您的系統包含 locate 和/或 mlocate(Ubuntu 14.04 包含),您可能需要添加一個例外,以便它不會掃描您的儲存桶。我不得不修改我的/etc/updatedb.conf/etc/cron.daily/locate,添加“/mnt/my-bucket-name"PRUNEPATHS和我" fuse.s3fs"PRUNEFS 添加fuse.s3fs should be enough,但是……現在沒有時間冒險:)

您想將 _netdev 添加到您的 fstab:

s3fs#my-bucket-name /mnt/s3_bucket fuse _netdev,allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0

對我來說,使用 Amazon Linux 2 這很有效:

s3fs#my.bucket.name  /mount/path fuse _netdev,allow_other,iam_role,url=http://s3.amazonaws.com 0 0

來自: https ://github.com/s3fs-fuse/s3fs-fuse/issues/1138

引用自:https://serverfault.com/questions/842615