[雲端應用] 阿里雲開放儲存服務OSS(Open Storage Service) – Linux mount

所謂的阿里雲OSS,就是雲端版的儲存空間,透過阿里雲的認證方式,你可以把資料上傳到OSS上,它和傳統硬碟和NAS不同的是,沒有限制使用多少空間.

個人覺得使用上有點像是mega.nz,將資料上傳後,每個資料可以獲得一個URL,透過URL來進行讀取及分享.

詳細你可以自己參考阿里雲的說明頁 https://cn.aliyun.com/product/oss

但本文要說明的是將這個服務運用到Linux上,讓它像mount外部分享硬碟空間般的運用.

OSSFS
簡介
ossfs 能讓您在Linux系統中把Aliyun OSS bucket 掛載到本地檔案系統中,您能夠便捷地通過本地檔案系統操作OSS 上的物件,實現資料的共用。
功能
ossfs 基於s3fs 構建,具有s3fs 的全部功能。主要功能包括:
•    支援POSIX 檔案系統的大部分功能,包括檔讀寫,目錄,連結操作,許可權,uid/gid,以及擴展屬性(extended attributes)
•    通過OSS 的multipart 功能上傳大檔。
•    MD5 校驗保證資料完整性。
安裝及使用
安裝包下載:
Linux發行版本    下載
Ubuntu 14.04 (x64)    ossfs_1.79.8_ubuntu14.04_amd64.deb
CentOS 7.0 (x64)    ossfs_1.79.8_centos7.0_x86_64.rpm
CentOS 6.5 (x64)    ossfs_1.79.8_centos6.5_x86_64.rpm
CentOS 5.11 (x64)    ossfs_1.79.8_centos5.11_x86_64.rpm
安裝方法
•    對於Ubuntu,安裝命令為:
1.    sudo apt-get update
2.    sudo apt-get install gdebi-core
3.    sudo gdebi your_ossfs_package
•    對於CentOS6.5及以上,安裝命令為:
1.    sudo yum localinstall your_ossfs_package
•    對於CentOS5,安裝命令為:
1.    sudo yum localinstall your_ossfs_package –nogpgcheck
使用方法
設置bucket name, AccessKeyId/Secret資訊,將其存放在/etc/passwd-ossfs 檔中,注意這個檔的許可權必須正確設置,建議設為640。
1.    echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
2.    chmod 640 /etc/passwd-ossfs
將oss bucket mount到指定目錄
1.    ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
示例
將my-bucket這個bucket掛載到/tmp/ossfs目錄下,AccessKeyId是faint,AccessKeySecret是123,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com
1.    echo my-bucket:faint:123 > /etc/passwd-ossfs
2.    chmod 640 /etc/passwd-ossfs
3.    mkdir /tmp/ossfs
4.    ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com
卸載bucket:
1.    fusermount -u /tmp/ossfs
更多詳細內容請參考:https://github.com/aliyun/ossfs#ossfs
局限性
ossfs提供的功能和性能和本地檔案系統相比,具有一些局限性。具體包括:
•    隨機或者追加寫文件會導致整個文件的重寫。
•    中繼資料操作,例如list directory,性能較差,因為需要遠端存取oss伺服器。
•    檔/資料夾的rename操作不是原子的。
•    多個用戶端掛載同一個oss bucket時,依賴用戶自行協調各個用戶端的行為。例如避免多個用戶端寫同一個檔等等。
•    不支持hard link。
•    不適合用在高併發讀/寫的場景,這樣會讓系統的load升高
版本日誌
請參考:https://github.com/aliyun/ossfs/blob/master/ChangeLog

安裝過程中,有可能出現 fuse conflict的錯誤,這是因為fuse版本有衝突,請將原來的fuse移除掉

# yum remove fuse

 

Category: 雲端應用