ossfs能讓您在Linux系統中,將對象存儲OSS的存儲空間(Bucket)掛載到本地文件系統中,您能夠像操作本地文件一樣操作OSS的對象(Object),實現數據的共享。
使用限制
ossfs使用有以下限制:
- 不支持掛載歸檔型Bucket。
- 編輯已上傳文件會導致文件被重新上傳。
- 元數據操作,例如
list directory,因為需要遠程訪問OSS服務器,所以性能較差。 - 重命名文件/文件夾可能會出錯。若操作失敗,可能會導致數據不一致。
- 不適合高並發讀/寫的場景。
- 多個客戶端掛載同一個OSS Bucket時,數據一致性由您自行維護。例如,合理規划文件使用時間,避免出現多個客戶端寫同一個文件的情況。
- 不支持hard link。
主要功能
ossfs基於s3fs構建,具有s3fs的全部功能。其中包括:
- 支持POSIX 文件系統的大部分功能,包括文件讀寫、目錄、鏈接操作、權限、uid/gid、以及擴展屬性(extended attributes)。
- 使用OSS的multipart功能上傳大文件。
- 支持MD5校驗,保證數據完整性。
下載地址
| Linux發行版 | 下載 |
|---|---|
| Ubuntu 18.04 (x64) | ossfs_1.80.6_ubuntu18.04_amd64.deb |
| Ubuntu 16.04 (x64) | ossfs_1.80.6_ubuntu16.04_amd64.deb |
| Ubuntu 14.04 (x64) | ossfs_1.80.6_ubuntu14.04_amd64.deb |
| CentOS 7.0 (x64) | ossfs_1.80.6_centos7.0_x86_64.rpm |
| CentOS 6.5 (x64) | ossfs_1.80.6_centos6.5_x86_64.rpm |
快速安裝
由於低版本的Linux系統內核版本比較低,ossfs進程在運行過程中容易出現掉線或者其他問題。因此建議您將操作系統升級到CentOS 7.0或者Ubuntu 14.04及以上版本。
1.下載安裝包,以下載CentOS 7.0 (x64)版本為例:
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
2.安裝ossfs。
Ubuntu系統的安裝命令:
sudo apt-get update sudo apt-get install gdebi-core sudo gdebi your_ossfs_package
CentOS6.5及以上系統版本的安裝命令:
sudo yum localinstall your_ossfs_package
說明 對於使用yum安裝rpm包的客戶端,如果客戶端節點網絡環境特殊,無法直接用yum下載依賴包。可以在網絡正常的、相同版本操作系統的節點上,使用yum下載依賴包並拷貝到網絡特殊的節點。例如,ossfs需要依賴fuse 2.8.4以上版本,可使用如下命令,下載yum源中最新的fuse到本地:
sudo yum install --downloadonly --downloaddir=./ fuse
如果需要下載其他依賴包,則將fuse換成對應包的名稱。
CentOS5系統版本的安裝命令:
sudo yum localinstall your_ossfs_package --nogpgcheck
3.配置賬號訪問信息。
將Bucket名稱以及具有此Bucket訪問權限的AccessKeyId/AccessKeySecret信息存放在
/etc/passwd-ossfs文件中。注意這個文件的權限必須正確設置,建議設為640。

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs
4.將Bucket掛載到指定目錄。
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
掛載示例:將杭州地域,名稱為bucket-test的Bucket掛載到/tmp/ossfs目錄下。
echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs mkdir /tmp/ossfs ossfs bucket-test /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

5.如果您不希望繼續掛載此Bucket,您可以將其卸載。
fusermount -u /tmp/ossfs
