全部產品
Search
文件中心

Container Service for Kubernetes:ossfs 1.0版本說明

更新時間:May 28, 2025

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及以上版本

  • v1.30.1-98960d8-aliyun (通過特性門控啟用)

  • v1.30.4-fe12624-aliyun(預設使用)

1.80.x

v1.20.5-ff6490f-aliyun(支援Arm64的首個CSI版本)

AMD64

1.91及以上版本

  • v1.30.1-98960d8-aliyun (通過特性門控啟用)

  • v1.30.4-fe12624-aliyun(預設使用)

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。

    1. 查詢正在啟動並執行Pod。

      kubectl -n ack-csi-fuse get pod | grep csi-fuse-ossfs
    2. 確認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。

    1. 查詢正在啟動並執行Pod。

      kubectl -n kube-system get pod | grep csi-fuse-ossfs
    2. 確認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進程?

  1. 確認csi-plugin版本為1.30.1及以上版本。

    1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

    2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,單擊組件管理

    3. 在組件管理頁面,尋找定位csi-plugin組件,查看組件目前的版本。

      若csi-plugin版本小於1.30.1,請單擊組件右下角升級,將組件升級至最新版本。

  2. 開啟UpdatedOssfsVersion特性門控。

    說明

    通過控制台開啟時,設定的FeatureGate參數將覆蓋原有的特性門控配置,若您不確定此前是否已經通過kubectl開啟過其他特性門控功能,建議您使用kubectl方式進行開啟。

    kubectl

    1. 修改csi-plugin的DaemonSet檔案。

      kubectl -n kube-system edit ds csi-plugin
    2. 在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

    控制台

    1. 升級csi-plugin組件後,單擊csi-plugin組件卡片中的配置

    2. csi-plugin 參數配置頁面,設定FeatureGate參數為UpdatedOssfsVersion=true,然後單擊確認

      若之前已經開啟過其他特性門控,則參數填寫格式為xxxxxx=true,yyyyyy=false,UpdatedOssfsVersion=true

相關文檔

關於1.91及以上版本新增功能以及壓測效能介紹,請參見ossfs 1.0新版本功能介紹及效能壓測