ossfs 1.0用戶端版本隨著CSI組件版本的迭代進行升級。本文介紹ossfs 1.0版本說明以及如何查看並切換ossfs 1.0版本。
功能說明
通過CSI掛載OSS儲存卷時,csi-plugin組件將啟動ossfs進程,將OSS服務端資料掛載到容器內指定的掛載路徑。您可以通過POSIX操作讀寫服務端的檔案,像操作普通檔案那樣讀寫OSS Bucket中的Object,便於雲端儲存資源的訪問和管理。
ossfs 1.0是一個使用者空間檔案系統(userspace filesystem),可以將Object Storage Service的Bucket掛載到Linux系統的本地檔案系統。通過ossfs 1.0用戶端,您可以像操作本地檔案一樣直接存取和管理OSS中的Object,實現資料的無縫共用和操作。主要功能如下:
支援POSIX檔案協議標準的大部分功能,例如上傳和下載檔案、目錄,設定使用者權限等。
預設使用OSS的分區上傳和斷點續傳功能上傳檔案。
支援MD5校正,保證資料的完整性。
基於s3fs構建,具有s3fs的全部功能。
版本說明
ossfs 1.0版本的表達方式為x.yy.z。其中:
x.yy為ossfs基於開源s3fs的版本。x.yy版本發布時,支援通過CSI環境變數等配置項回退。
z為ossfs自身的迭代版本,包括OSS儲存、ACK使用環境的最佳化。例如監控、鑒權、加密等新增功能。更多版本資訊,請參見csi-plugin。
為了區分開源ossfs版本,容器ossfs版本還會有.ack.1尾碼,例如1.80.6.ack.1。
ossfs大版本迭代記錄
如果您對檔案操作效能有較高要求,建議您將ossfs 1.0版本切換至1.91及以上版本。關於ossfs 1.91及以上版本的啟用情境,請參見1.91及以上版本功能啟用最佳實務。如何切換ossfs 1.0版本,請參見下文將ossfs 1.0切換至1.91及以上版本。
架構類型 | ossfs 1.0版本 | 對應CSI版本 |
Arm64 | 1.91及以上版本 |
|
1.80.x | v1.20.5-ff6490f-aliyun(支援Arm64的首個CSI版本) | |
AMD64 | 1.91及以上版本 |
|
1.88.x | v1.22.14-820d8870-aliyun | |
1.86.x | v1.16.9.43-f36bb540-aliyun | |
1.80.x | 初始版本 |
ossfs1.91及以上版本的詳細迭代記錄,請參見版本更新功能介紹。
查看ossfs版本
CSI版本小於1.28且不包含1.26.6時,ossfs 1.0運行在節點上,您可以登入任一節點,執行以下命令確認ossfs 1.0的版本。
/usr/local/bin/ossfs --version
CSI版本為1.26.6,或1.28.1及以上時,ossfs 1.0作為Pod內的容器運行在叢集中。您可以通過以下方式確認ossfs 1.0的版本。
CSI版本為1.30.4及以上
說明如果CSI版本為1.30.4及以上,掛載OSS儲存卷後,CSI組件將自動在
ack-csi-fuse命名空間下建立相關Pod。查詢正在啟動並執行Pod。
kubectl -n ack-csi-fuse get pod | grep csi-fuse-ossfs確認ossfs 1.0的版本。
kubectl -n ack-csi-fuse exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
CSI版本小於1.30.4
說明如果CSI版本小於1.30.4,掛載OSS儲存卷後,CSI組件將自動在
kube-system命名空間下建立相關Pod。查詢正在啟動並執行Pod。
kubectl -n kube-system get pod | grep csi-fuse-ossfs確認ossfs版本。
kubectl -n kube-system exec -it <csi-fuse-ossfs-xxxx> -- ossfs --version
將ossfs 1.0切換至1.91及以上版本
方法一:升級CSI版本
對於1.30.4及以上的CSI版本,ossfs 1.0預設已使用1.91及以上的版本,您可以直接通過升級CSI版本切換ossfs 1.0的版本。
方法二:開啟特性門控
您需要開啟UpdatedOssfsVersion特性門控以啟用1.91及以上版本的ossfs 1.0。具體操作如下:
預設情況下,同一節點上掛載同一OSS儲存卷的Pod共用一個ossfs進程,即在叢集中只會啟動一個名為csi-fuse-ossfs-***的Pod。開啟UpdatedOssfsVersion特性門控後,新啟動的ossfs容器將自動使用1.91及以上版本鏡像,正在使用OSS儲存卷的業務不受影響。如需手動觸發當前業務使用的ossfs版本升級,請參見共用掛載方式下,如何重啟ossfs進程?。
確認csi-plugin版本為1.30.1及以上版本。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,單擊組件管理。
在組件管理頁面,尋找定位csi-plugin組件,查看組件目前的版本。
若csi-plugin版本小於1.30.1,請單擊組件右下角升級,將組件升級至最新版本。
開啟
UpdatedOssfsVersion特性門控。說明通過控制台開啟時,設定的FeatureGate參數將覆蓋原有的特性門控配置,若您不確定此前是否已經通過kubectl開啟過其他特性門控功能,建議您使用kubectl方式進行開啟。
kubectl
修改csi-plugin的DaemonSet檔案。
kubectl -n kube-system edit ds csi-plugin在csi-plugin容器(非Init Container容器)的
args中,新增參數--feature-gates=UpdatedOssfsVersion=true。說明若之前已經開啟過其他特性門控,新增參數格式為
--feature-gates=xxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true。修改後的args類似為:
- args: - --endpoint=$(CSI_ENDPOINT) - --v=2 - --driver=oss,nas,disk - --feature-gates=UpdatedOssfsVersion=true
控制台
升級csi-plugin組件後,單擊csi-plugin組件卡片中的配置。
在csi-plugin 參數配置頁面,設定FeatureGate參數為UpdatedOssfsVersion=true,然後單擊確認。
若之前已經開啟過其他特性門控,則參數填寫格式為
xxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true。
相關文檔
關於1.91及以上版本新增功能以及壓測效能介紹,請參見ossfs 1.0新版本功能介紹及效能壓測。