所謂的阿里雲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
留言列表