ossfs 2.0是一款專門用於通過掛載方式高效能訪問OSS(Object Storage Service)的用戶端,它具備出色的順序讀寫能力,可充分發揮OSS的高頻寬優勢。
效能提升
ossfs 2.0相較於ossfs 1.0在順序讀寫和高並發小檔案讀取方面均實現了顯著的效能提升。更多有關ossfs 2.0效能說明,請參見效能測試。
-
順序寫入效能:在單線程大檔案順序寫入情境下,ossfs 2.0的頻寬相較於ossfs 1.0提升了近18倍。
-
順序讀取效能:在單線程或多線程(4線程)大檔案順序讀取情境下,ossfs 2.0的頻寬相較於ossfs 1.0提升了3倍以上。
-
小檔案並發讀取效能:在高並發(128線程)讀取小檔案的情境下,ossfs 2.0的頻寬相較於ossfs 1.0提升了20倍以上。
適用情境
ossfs 2.0適用於對儲存訪問效能要求較高的情境,比如AI訓練、推理、巨量資料處理、自動駕駛等新型計算密集型負載。這類工作負載主要涉及順序和隨機讀取、順序(僅支援追加)寫入操作,並且無需依賴完整的 POSIX 語義。
運行環境
ossfs 2.0基於FUSE(使用者態檔案系統,Filesystem in Userspace)開發。
|
系統架構 |
作業系統 |
系統版本 |
下載地址 |
|
x86_64 |
CentOS |
CentOS 7、CentOS 8 |
|
|
Rocky Linux |
Rocky Linux 9.0及以上版本 |
||
|
Alibaba Cloud Linux |
Alibaba Cloud Linux 2及以上版本 |
||
|
Ubuntu |
Ubuntu 20.04 LTS及後續LTS版本 |
||
|
Debian |
Debian 11及以上版本 |
||
|
aarch64 |
Alibaba Cloud Linux |
Alibaba Cloud Linux 3 |
使用限制
-
許可權要求:需確保AccessKey對目標Bucket或首碼(prefix)相關資源擁有全部許可權,否則可能導致掛載失敗或功能異常。
-
儲存類型限制:不建議掛載Archive Storage、冷Archive Storage、深度冷Archive Storage類型的Bucket。
-
檔案名稱限制:檔案名稱長度上限255字元(遵循Linux限制),OSS中超過此限制的檔案或目錄在掛載點內不可見。
-
檔案讀取限制:新寫入的檔案必須在檔案關閉後才會上傳到OSS。如果讀取一個正在寫入、尚未關閉的檔案,可能導致報錯。
-
檔案寫入限制:預設模式下不支援隨機寫入,不支援並發寫入同一個檔案。寫入分區大小預設是8388608位元組(8 MiB),即最大支援83886080000位元組(78.125 GiB)的檔案寫入。分區大小可根據掛載選項upload_buffer_size配置。v2.0.9及以後版本可通過掛載選項temp_dir開啟基於本地臨時目錄的隨機寫入模式,支援任意位移寫入、任意大小截斷及多控制代碼並發寫入同一檔案。
-
檔案重新命名操作(非原子性)
-
檔案:先拷貝後再執行遠端檔案的刪除操作。
-
目錄:對所有檔案執行拷貝操作後,再批量執行源檔案的刪除操作。目錄重新命名時預設限制子孫檔案數量為200 萬,限制的子孫檔案數量可根據掛載選項rename_dir_limit配置。
-
-
並發寫入一致性:多用戶端同時掛載同一Bucket並寫入同一檔案時,無法保證資料一致性。
-
POSIX API相容性:部分相容,具體請參見POSIX API支援情況。
功能介紹
功能特性
-
提供基礎的POSIX相容性,聚焦於發揮OSS的服務端讀寫能力。
-
通過端到端的讀寫鏈路最佳化,提供了高效的大檔案順序讀寫能力。
-
通過高效的中繼資料管理能力,提供了高效的小檔案並發載入能力。
-
通過配置fstab的方式,提供了開機自動掛載OSS Bucket的能力。
POSIX API支援情況
以下為ossfs 1.0與ossfs 2.0對於常用POSIX API的支援情況。
|
功能分類 |
操作/功能 |
ossfs 1.0 |
ossfs 2.0 |
|
檔案基礎操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
檔案讀寫 |
|
|
|
|
|
支援隨機寫入(必須配置磁碟緩衝區) |
預設僅支援順序寫入(無需磁碟緩衝),v2.0.9及以後版本支援隨機寫入(需配置磁碟緩衝區) |
|
|
|
(可調整檔案大小) |
預設僅支援清空檔案,v2.0.9及以後版本支援調整檔案大小(需配置磁碟緩衝區) |
|
|
檔案元操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目錄操作 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
許可權與屬性 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
擴充功能 |
|
|
|
|
|
|
預設不支援,v2.0.6及以後版本可通過選項開啟,支援指向掛載點內部路徑的軟連結 |
|
|
|
|
|