Ubuntu-14.04
在啟動時使用 s3fs 自動掛載儲存桶
我使用 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