本文將介紹如何將阿里雲OSS掛載到LINUX服務器下
用服務器搭建私有云時,存儲盤是個問題,直接使用服務器盤太浪費,而且速度不行,其實可以使用阿里雲的OSS作爲存儲盤,便宜且速度快。 那麼如何將
對象存儲 OSS 掛載到服務器目錄下呢?
第一步:安裝OSSFS
OSSFS 簡介:掛載對象存儲bucket到本地文件系統,能夠通過本地文件系統操作OSS 上的對象,實現數據的訪問和共享
登錄Linux( 本文使用的是CentOS 7.6 64位 )輸入命令
下載安裝包:
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.7.9.3_centos7.0_x86_64.rpm
執行命令安裝:
yum localinstall ossfs_1.7.9.3_centos7.0_x86_64.rpm -y
第二步:配置文件
設置bucket name 和 AccessKeyId/Secret信息,將其存放在/etc/passwd-ossfs 文件中,注意這個文件的權限必須正確設置,建議設爲640
語法:
echo bucket-name:AccessKeyId:AccessKeySecret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs
第三步: 掛載
語法:
ossfs bucket-name /path -ourl=bucket-endpoint
卸載
語法:
fusermount -u /path
掛載完整示例
將
my-bucket
這個bucket掛載到/tmp/ossfs
目錄下,AccessKeyId是faint
,AccessKeySecret是123
,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com
echo my-bucket:faint:123 > /etc/passwd-ossfs(存放bucket信息)
chmod 640 /etc/passwd-ossfs(設置文件權限)
mkdir /tmp/ossfs(創建被掛載目錄)
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com(執行掛載)
Tips:如果您使用在阿里雲購買的雲虛擬機主機(ECS)來提供ossfs服務, 您可以使用內網域名,比如在這個例子您可以將oss endpoint 改成oss-cn-hangzhou-internal.aliyuncs.com,這樣可以節省帶寬方面的費用。
可能的錯誤
ossfs: MOUNTPOINT directory /tmp/ossfs is not empty. if you are sure this is safe, can use the 'nonempty' mount option.
意思是:被掛載目錄不是空的,裏邊已經有文件,系統會產生困擾,所以最好避免這種情況的發生。當然如果你確定安全的話就在掛載時加上nonempty命令就可以解決了
命令修改:ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o nonempty
(如果這樣強制掛載的話,該目錄下原來的文件就會隱藏)
Tip :掛載後目錄權限問題
主要針對OSS掛載到Ecs後目錄無法訪問,目錄權限需要0770等問題得解決策略。
#echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs (導入my-bucket的key)
#chmod 640 /etc/passwd-ossfs (設定文件權限)
#id www-data (www-data 爲你要設定目錄權限的用戶名)查看要設定的用戶id以及組id。
#ossfs My-Bucket /disk(disk掛載目錄名) -ourl=EndPoint -ouid=(用戶id) -ogid=(組id) -o allow_other
#fusermount -u /disk (disk掛載目錄名)卸載掛載目錄
還有一種例外,如果你得Ecs是VPC的服務器,endpoint要不一樣一些,具體見:
https://help.aliyun.com/document_detail/31837.html
-ourl後面不要加bucketName
-ourl=http://vpc100-oss-cn-beijing.aliyuncs.com
具體命令如下:
#ossfs My-Bucket /disk -ourl=http://vpc100-oss-cn-beijing.aliyuncs.com -ouid=33 -ogid=33 -o allow_other
應用於nextclou使用oss掛載。因nextclou對附件目錄權限需使用770權限,估我們使用-oumask=007來修改默認的777權限。
#ossfs My-Bucket /disk -ourl=oss-cn-beijing.aliyuncs.com -ouid=33 -ogid=33 -oumask=007 -o allow_other