安裝IBM Cloud Object Storage叢集插件

您可以透過 IBM Cloud 控制台或命令列介面 (CLI) 啟用「IBM Cloud Object Storage」附加元件。

必要條件:

  • IBM Cloud Object Storage 附加元件至少需要 0.3 vCPU 和 360 MB 記憶體。
  • 該附加元件適用於 Red Hat CoreOS (RHCOS) 和 Ubuntu 工作者節點。 如果您的群集同時有 RHEL 和 RHCOS 節點,則只會在 RHCOS 節點上部署附加元件。
  • 建立 IBM Cloud Object Storage 實例
  • 可選如果您打算使用儲存桶版本控制,您的服務憑證必須具有 ManagerWriter 權限,才能在儲存桶上啟用或停用儲存桶版本控制。 如需更多資訊,請參閱《 版本控制入門 》。

了解儲存桶的建立和刪除

  • 您可以透過在 PVC 中指定儲存桶名稱來使用現有儲存桶。
  • 如果您提供儲存桶名稱,但該儲存桶不存在,則會建立具有該名稱的儲存桶。
  • 如果您不提供儲存桶名稱,則會建立具有命名約定 temp-xxx 的儲存桶。
  • 根據儲存類別中定義的回收策略刪除儲存桶。
    • 如果設定了 reclaimPolicy: Delete,則刪除PVC時,該桶也會被刪除。
    • 如果設定了 reclaimPolicy: Retain,則即使刪除PVC,該桶仍會保留。

從主控台啟用「IBM Cloud Object Storage」附加元件

  1. Red Hat OpenShift on IBM Cloud 叢集儀表板中,選取您要為其啟用此附加元件的叢集。
  2. 在「附加元件」區段中,找到該 Cloud Object Storage 擴充功能,然後點擊「安裝」。
  3. 在「安裝附加元件:Cloud Object Storage」面板中,請從「版本」下拉式選單中選擇一個版本。
  4. (可選):請設定以下參數。
maxVolumesPerNode
設定單一節點上可掛載的 IBM Cloud Object Storage 卷最大數量。 預設值為 0,這表示未設定任何限制。
restrictNodeServerScheduling
將設定值設為 true ,以限制 nodeserver Pod 僅能在標記為 cos.csi.ibm.io/csi-node=true`` 的節點上執行。 預設值為 false,這表示 nodeserver Pod 會被排程至所有節點上。
  1. 按一下安裝。 附加程式可能需要幾分鐘的時間完成部署並備妥以供使用。
  2. 驗證安裝。 在「附加元件」區段中,請確認該 Cloud Object Storage 此擴充功能顯示為「正常」的健康狀態。

從 CLI 啟用 IBM Cloud Object Storage 附加元件

開始之前:造訪您的Red Hat OpenShift叢集

  1. 將「container-service」外掛程式更新至最新版本。
    ibmcloud update && ibmcloud plugin update container-service
    
  2. 列出附加元件並找到您要安裝的版本。
    ibmcloud oc cluster addon versions
    
  3. 檢視附加選項。
    ibmcloud oc cluster addon options --addon ibm-object-csi-driver [--version VERSION]
    
  4. 安裝附加元件。
    ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER [--version VERSION]
    
  5. 驗證安裝。
    ibmcloud oc cluster addon ls --cluster CLUSTER
    
    OK
    Name                    Version   Health State   Health Status
    ibm-object-csi-driver   1.0       normal         Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
    
  6. 列出可用的儲存類別。 此驅動程式同時支援「s3fs」與「rclone」掛載器的區域性及跨區域儲存類別。
    oc get sc | grep object
    
    ibm-object-storage-smart-cross-region-rclone             cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-smart-cross-region-rclone-retain      cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-smart-cross-region-s3fs               cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-smart-cross-region-s3fs-retain        cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-smart-rclone                          cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-smart-rclone-retain                   cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-smart-s3fs                            cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-smart-s3fs-retain                     cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-standard-cross-region-rclone          cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-standard-cross-region-rclone-retain   cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-standard-cross-region-s3fs            cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-standard-cross-region-s3fs-retain     cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-standard-rclone                       cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-standard-rclone-retain                cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    ibm-object-storage-standard-s3fs                         cos.s3.csi.ibm.io   Delete          Immediate           false                  17h
    ibm-object-storage-standard-s3fs-retain                  cos.s3.csi.ibm.io   Retain          Immediate           false                  17h
    

限制節點伺服器 Pod 的調度

預設情況下,COS CSI 驅動程式節點伺服器 Pod 會被排程至叢集中的所有節點上。 您可以使用 restrictNodeServerScheduling 參數,將 nodeserver 的 Pod 調度限制在僅標有 cos.csi.ibm.io/csi-node=true`` 標籤的節點上。

您可以在啟用此附加元件時設定 restrictNodeServerScheduling ,或稍後透過修補 ConfigMap 來更新該設定。

  • 若要在啟用附加元件時設定 restrictNodeServerScheduling ,請在啟用指令中加入 --param 標誌。
    ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "restrictNodeServerScheduling=true"
    
  • 若要在已啟用該附加元件後更新「restrictNodeServerScheduling」,請依照以下步驟操作。
  1. 列出叢集中的節點,並決定要讓 COS 驅動程式 Pod 在何處執行。
    oc get nodes
    
    輸出範例
    NAME            STATUS   ROLES    AGE    VERSION
    10.241.0.11     Ready    <none>   5d2h   v1.35.5+IKS
    10.241.0.12     Ready    <none>   5d2h   v1.35.5+IKS
    10.241.0.13     Ready    <none>   5d2h   v1.35.5+IKS
    10.241.128.10   Ready    <none>   5d2h   v1.35.5+IKS
    10.241.128.11   Ready    <none>   5d2h   v1.35.5+IKS
    10.241.128.9    Ready    <none>   5d2h   v1.35.5+IKS
    10.241.65.12    Ready    <none>   5d2h   v1.35.5+IKS
    10.241.65.13    Ready    <none>   5d2h   v1.35.5+IKS
    10.241.65.14    Ready    <none>   5d2h   v1.35.5+IKS
    
  2. 請確認所有節點上目前都有節點伺服器 Pod 正在執行。
    oc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wide
    
    輸出範例
    NAME                        READY   STATUS    RESTARTS   AGE    IP              NODE            NOMINATED NODE   READINESS GATES
    ibm-object-csi-node-2pj2j   3/3     Running   0          145m   172.17.14.10    10.241.0.12     <none>           <none>
    ibm-object-csi-node-7bhwh   3/3     Running   0          145m   172.17.1.72     10.241.65.12    <none>           <none>
    ibm-object-csi-node-7l9hc   3/3     Running   0          145m   172.17.17.6     10.241.128.9    <none>           <none>
    ibm-object-csi-node-cxzt7   3/3     Running   0          145m   172.17.39.72    10.241.0.11     <none>           <none>
    ibm-object-csi-node-dw6qs   3/3     Running   0          145m   172.17.46.77    10.241.128.10   <none>           <none>
    ibm-object-csi-node-rpcvr   3/3     Running   0          145m   172.17.32.198   10.241.65.13    <none>           <none>
    ibm-object-csi-node-swqtg   3/3     Running   0          145m   172.17.16.69    10.241.0.13     <none>           <none>
    ibm-object-csi-node-sxbbs   3/3     Running   0          145m   172.17.26.7     10.241.65.14    <none>           <none>
    ibm-object-csi-node-xm8bt   3/3     Running   0          145m   172.17.20.200   10.241.128.11   <none>           <none>
    
  3. 請為您希望將 nodeserver Pod 排程至其中的節點加上標籤。
    oc label nodes NODE-NAME-1 NODE-NAME-2 cos.csi.ibm.io/csi-node=true
    
    輸出範例
    node/10.241.0.11 labeled
    node/10.241.0.12 labeled
    
  4. 請更新 ConfigMap 以啟用此限制。
    oc patch cm managed-addon-ibm-object-csi-driver -n kube-system \
      --type merge -p '{"data":{"restrictNodeServerScheduling":"true"}}'
    
    輸出範例
    configmap/managed-addon-ibm-object-csi-driver patched
    
  5. 請確認 nodeserver Pod 僅會排程至帶有標籤的節點上。
    oc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wide
    
    輸出範例
    NAME                        READY   STATUS    RESTARTS   AGE    IP             NODE           NOMINATED NODE   READINESS GATES
    ibm-object-csi-node-cxzt7   3/3     Running   0          145m   172.17.39.72   10.241.0.11    <none>           <none>
    ibm-object-csi-node-7bhwh   3/3     Running   0          145m   172.17.1.72    10.241.65.12   <none>           <none>
    
restrictNodeServerScheduling 選項
設定 行為
restrictNodeServerScheduling: "false" (預設) Nodeserver 匣會被排程至所有節點上。
restrictNodeServerScheduling: "true" Nodeserver 匣僅會排程至標有 cos.csi.ibm.io/csi-node=true 標籤的節點上。

設定每個節點的最大音量

預設情況下,COS CSI 驅動程式不會限制單一節點上可掛載的卷數。 您可以使用 maxVolumesPerNode 參數來設定每個節點的最大卷數。

您可以在啟用此附加元件時設定 maxVolumesPerNode ,或稍後透過修補 ConfigMap 來更新該設定。

  • 若要在啟用附加元件時設定 maxVolumesPerNode ,請在啟用指令中加入 --param 標誌。
    ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER --param "maxVolumesPerNode=VALUE"
    
  • 若要在已啟用外掛程式後更新 maxVolumesPerNode,請修補受管外掛程式 ConfigMap。
    oc patch cm managed-addon-ibm-object-csi-driver -n kube-system --type merge -p '{"data":{"maxVolumesPerNode":"VALUE"}}'
    
    輸出範例
    configmap/managed-addon-ibm-object-csi-driver patched
    
maxVolumesPerNode 選項
設定 行為
maxVolumesPerNode: "0" (預設) 每個節點可掛載的卷數沒有限制。
maxVolumesPerNode: "VALUE" 將單一節點上可掛載的卷數限制為指定值。

部署使用IBM Cloud Object Storage的應用

建立包含您的 COS 憑證的Kubernetes金鑰。

  1. 存取您的Red Hat OpenShift叢集

  2. 將以下配置儲存為名為 secret.yaml 檔案。 提供 IAM 認證或 HMAC,但不能同時提供。

    • 對於 IAM 認證,請使用 apiKeyserviceId 的組合,來自 Object Storage。
    • 對於 HMAC 憑證,請使用 accessKeysecretKey 從 Object Storage。
    apiVersion: v1
    kind: Secret
    type: cos-s3-csi-driver
    metadata:
        name: cos-secret-1 # Name your secret. This same name is used for the PVC in the following steps.
        namespace: <namespace> # Specify the namespace where you want to create the secret.
    data:
        apiKey: <base64-encoded-COS-Service-Instance-apikey>
        serviceID: <base64-encoded-COS-resource_instance_id>
        accessKey: <base64-encoded-HMAC-access_key_id>
        secretKey: <base64-encoded-HMAC-secret_access_key>
        kp-root-key-crn: <CRN> # Key Protect or HPCS root key crn in base64 encoded format
    stringData:
        bucketName: <bucket-name> # Optional. If you don't provide a bucket name, a bucket with the naming convention s3fs-timestamp-xxx or rclone-timestamp-xxx is created.
        bucketVersioning: "false" # Bucket versioning is set to false by default. Set to "true" to enable bucket versioning. Set to "false" to disable versioning for a bucket where versioning is enabled. Must be a string value.
        # uid: "3000" # Optional: Provide a uid to run as non root user. This must match runAsUser in SecurityContext of pod spec.
        mountOptions: |
            # Review or update the following default s3fs mount options
            #multipart_size=52
            #multireq_max=20
            #max_dirty_data=5120
            #parallel_count=20
            #max_stat_cache_size=100000
            #retries=5
            #kernel_cache
            # Review or update the following default rclone mount options
            #acl=private
            #bucket_acl=private
            #upload_cutoff=100Mi
            #chunk_size=16Mi
            #max_upload_parts=1000
            #upload_concurrency=8
    
    mountOptions
    您可以在秘密中編輯 mountOptions,自訂 s3fsrclone 的掛載選項。 使您指定的選項與 PVC 使用的儲存類別一致。 若要檢視儲存類別的預設值,請執行 oc describe storageclass <storageclass_name>oc describe storageclass <storageclass_name>。 如需詳細資訊,請參閱 s3fs 掛載選項rclone 掛載選項

    目前,附加元件已啟用,以支援固定的掛載選項集,並針對每個掛載選項進行適當的驗證。 如果您要使用驗證清單中沒有的其他掛載選項,請聯絡支援人員啟用這些選項。

  3. 將所有秘密資料參數編碼至 base64。

    echo -n "<value>" | base64
    
  4. 使用 base64 編碼值更新 secret.yaml

  5. 建立該密鑰。

    oc apply -f secret.yaml
    

創建PVC

您可以在多個 PVC 上使用單一密碼,或在每個 PVC 上使用一個密碼。

您可以在 PVC yaml 中使用下列註解來管理此行為。 這些註解有助於驅動程式將 PVC 映射到正確的秘密。

cos.csi.driver/secret: "<custom-secret>"

請確保您的 secret、PVC 和 pods 均位於同一個命名空間中

將您的 PVC 賦予與您先前建立的秘密相同的名稱,以建立 1-to-1 秘密與 PVC 對應的範例 PVC。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: cos-secret-1 # Give your PVC the same name as the secret you created in the previous step.
  namespace: <namespace> # The namespace where you want to create the PVC.
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: <storage_class_name> # The storage class you want to use.

使用註解指定秘密,將 1 個秘密用於多個 PVC 的範例 PVC。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: cos-csi-pvc1
  namespace: <namespace> # The namespace where you want to create the PVC.
  annotations:
    cos.csi.driver/secret: "<custom-secret>"
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 256Mi
  storageClassName: <storage_class_name> # The storage class you want to use.
  1. 從之前的範例中選擇一個,並根據您的使用情況進行自訂。 有關儲存類別的列表,請參閱 儲存類別參考

  2. 建立 PVC。

    oc apply -f pvc.yaml
    

建立部署

  1. 將以下配置儲存到名為 dep.yaml 的檔案中。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: <name>
      labels:
        app: <name>
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: <name>
      template:
        metadata:
          labels:
        app: <name>
        spec:
          containers:
          - name: app-frontend
            image: <image> # Enter your app image.
            imagePullPolicy: IfNotPresent
            volumeMounts:
            - mountPath: <path_you_want_to_mount_the_volume_on> # For example `/dev`
              name: cos-csi-volume
          volumes:
          - name: cos-csi-volume
            persistentVolumeClaim:
              claimName: <pvc_name> # Enter the name of the PVC you created earlier.
    
  2. 建立部署。

    oc apply -f dep.yaml
    

停用IBM Cloud Object Storage附加元件

現有的機密、PVC 和部署不會因為停用附加元件或修補程式更新而被刪除。 不會中斷現有客戶的工作負載。

  1. 執行以下指令以停用此附加元件。
     ibmcloud oc cluster addon disable ibm-object-csi-driver --cluster CLUSTER
    
    輸出範例
    Data and resources that you created for the add-on might be deleted when the add-on is disabled. Continue? [y/N]> y
    Disabling add-on ibm-object-csi-driver for cluster XXX...
    OK
    
  2. 驗證該附加元件是否已刪除。
    ibmcloud oc cluster addon ls --cluster CLUSTER
    

從Helm插件遷移到叢集插件

  1. 存取您的Red Hat OpenShift叢集

  2. 取得 PVC 的詳細資訊並選擇一個進行遷移。

    oc get pvc --all-namespaces -o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name' | tail -n +2 | while read namespace pvc; do kubectl describe pvc "$pvc" -n "$namespace" | grep 'volume.kubernetes.io/storage-provisioner: ibm.io/ibmc-s3fs' > /dev/null ; if [ $? -eq 0 ]; then echo "PVC: $pvc in Namespace: $namespace uses ibm.io/ibmc-s3fs storage provisioner"; fi; done
    

    輸出範例

    PVC: pvc-test in Namespace: default uses ibm.io/ibmc-s3fs storage provisioner
    
  3. 描述 PVC 並取得儲存桶名稱。

    oc describe pvc <pvc_name> | grep ibm.io/bucket:
    

    輸出範例

    ibm.io/bucket: test-s3
    
  4. 包含水桶名稱,重新創造您的秘密。

    apiVersion: v1
    kind: Secret
    type: cos-s3-csi-driver
    metadata:
        name: cos-secret-1 # Name your secret.
        namespace: <namespace> # Specify the namespace where you want to create the secret.
    data:
        accessKey: <base64-encoded-HMAC-access-key>
        secretKey: <base64-encoded-HMAC-secret-key>
    stringData:
        bucketName: <bucket-name>
        # uid: "3000" # Optional: Provide a uid to run as non root user. This must match runAsUser in SecurityContext of pod spec.
        mountOptions: |
            key1=value1
            key2=value2
    
  5. 找到 PVC 中使用的儲存類別。

    oc describe pvc <pvc_name> | grep StorageClass:
    

    名為 test-s3 PVC 的範例指令。

    oc describe pvc test-s3 | grep StorageClass:
    

    輸出範例

    StorageClass:  ibmc-s3fs-smart-perf-regional
    
  6. 查看該附加元件提供的新儲存類別 並選擇取代類別。

    • 如果您使用了 flex 類,請選擇新的 smart 類之一。
    • 如果您使用了 standard 類,請選擇新的 standard 類之一。
    • 此附加元件不再提供 coldvault 類別;選擇 smartstandard 類別來代替。
  7. 檢查 PVC 的詳細資訊。

    oc describe pvc test-s3
    

    輸出範例

    Name:          pvc-test
    Namespace:     default
    StorageClass:  ibmc-s3fs-smart-perf-regional
    Status:        Bound
    Volume:        pvc-c625474d-31f0-4929-bc3e-feace1fb42fb
    Labels:        <none>
    Annotations:   ibm.io/auto-create-bucket: true
                ibm.io/auto-delete-bucket: true
                ibm.io/bucket: bha-test-s23
                ibm.io/secret-name: satstoragesecret
                pv.kubernetes.io/bind-completed: yes
                pv.kubernetes.io/bound-by-controller: yes
                volume.kubernetes.io/storage-provisioner: ibm.io/ibmc-s3fs
    Finalizers:    [kubernetes.io/pvc-protection]
    Capacity:      3Gi
    Access Modes:  RWO
    VolumeMode:    Filesystem
    Used By:       test-pod
    Events:        <none>
    
  8. 建立一個替換 PVC,它使用新的儲存類別並引用您先前建立的金鑰。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: cos-csi-pvc1
    namespace: <namespace> # The namespace where you want to create the PVC.
    annotations:
        cos.csi.driver/secret: "cos-secret-1"  # Secret created in step 4
    spec:
    accessModes:
    - ReadWriteOnce
    resources:
        requests:
        storage: 256Mi
    storageClassName: <storage_class_name> # The storage class you picked based on old storage class mapping.
    
  9. 驗證 PVC 是否為 Bound

    oc get pvc
    
  10. 獲取您的應用程式的詳細資訊。

    oc get pods
    
  11. 將您的應用程式縮小到零。

    kubectl scale deployment --replicas=0 my-app
    
  12. 建立引用您在上一步中建立的 PVC 的替換部署。

  13. 新部署運行後,您可以刪除舊部署。

  14. 請針對每個您要遷移的 PVC 重複執行這些步驟。

IBM Cloud Object Storage叢集附加儲存類

IBM Cloud Object Storage 群集附加元件為 s3fsrclone 存取器提供儲存類別。 選擇符合資料存取需求的儲存空間類別。 儲存類別決定為工作負載建立的儲存桶類別、回收政策和預設掛載行為。

標準
用於您經常存取的熱資料,例如網頁或行動應用程式的資料。
智慧型
用於不遵循特定使用模式的工作負載和資料,或使用模式難以預測時。
COS 集群附加儲存類別
名稱 水桶等級 備援 裝載機 收回原則 連結模式
ibm-object-storage-smart-cross-region-rclone 智慧型 跨區域 rclone 刪除 立即
ibm-object-storage-smart-cross-region-rclone-retain 智慧型 跨區域 rclone 保留 立即
ibm-object-storage-smart-cross-region-s3fs 智慧型 跨區域 s3fs 刪除 立即
ibm-object-storage-smart-cross-region-s3fs-retain 智慧型 跨區域 s3fs 保留 立即
ibm 物件儲存智慧 rclone 智慧型 地區 rclone 刪除 立即
ibm-物件儲存-智慧型-rclone-保留 智慧型 地區 rclone 保留 立即
ibm-object-storage-smart-s3fs 智慧型 地區 s3fs 刪除 立即
ibm-object-storage-smart-s3fs-retain 智慧型 地區 s3fs 保留 立即
ibm-object-storage-standard-跨區域-rclone 標準 跨區域 rclone 刪除 立即
ibm-object-storage-standard-跨區域-rclone-保留 標準 跨區域 rclone 保留 立即
ibm-object-storage-standard-cross-region-s3fs 標準 跨區域 s3fs 刪除 立即
ibm-object-storage-standard-cross-region-s3fs-retain 標準 跨區域 s3fs 保留 立即
ibm 物件儲存標準 rclone 標準 地區 rclone 刪除 立即
ibm 物件儲存-標準-rclone-保留 標準 地區 rclone 保留 立即
ibm-object-storage-standard-s3fs 標準 地區 s3fs 刪除 立即
ibm-object-storage-standard-s3fs-retain 標準 地區 s3fs 保留 立即

若要檢視儲存類別的詳細儲存桶設定,請執行 oc describe storageclass <storageclass_name>oc describe storageclass <storageclass_name>

儲存類別參數

所有群集附加儲存類別都包含下列核心參數。

COS 集群附加儲存類別的核心參數
參數 說明
client 識別驅動程式使用的用戶端類型。 附加儲存類別使用 awss3
cosEndpoint 定義儲存桶區域的 IBM Cloud Object Storage 端點。
csi.storage.k8s.io/node-publish-secret-name 參考包含 IBM Cloud Object Storage 認證的秘密名稱。
csi.storage.k8s.io/node-publish-secret-namespace 引用包含 IBM Cloud Object Storage 認證的秘密命名空間。
locationConstraint 定義水桶類別和區域,例如 au-syd-smartau-syd-standard
mounter 指定儲存類別使用 s3fsrclone 計算器。

預設 s3fs 儲存類別掛載選項

s3fs 儲存類別使用下列預設掛載選項。

COS 附加元件「s3fs」儲存類別的預設掛載選項
安裝選項 說明
multipart_size=52 設定每個多部分請求的部分大小(以 MB 為單位)。
multireq_max=20 設定列出物件的最大平行請求數目。
max_dirty_data=5120 在寫入指定的 MB 數量後,將不純資料刷新到 S3。 最小支援值為 50-1 的值會停用此行為。
parallel_count=20 設定上載大型物件的平行請求數目。s3fs 使用多部分請求上載大型物件,並平行傳送請求。
max_stat_cache_size=100000 設定統計快取和符號連結快取的最大項目數量。
retries=5 設定重試失敗 S3 交易的次數。
kernel_cache 啟用該卷掛載點的內核緩衝區快取。 從 IBM Cloud Object Storage 讀取的資料會儲存在核心快取記憶體中,以協助提供更快速的讀取存取。 標準和智慧型 s3fs 儲存類別已啟用核心快取。

預設 rclone 儲存類別掛載選項

rclone 儲存類別使用下列預設掛載選項。

COS 附加元件 rclone 儲存類別的預設掛載選項
安裝選項 說明
acl=private 確保上傳的物件不會被公開存取。
bucket_acl=private rclone 建立的儲存桶的預設 ACL 設為 private
upload_cutoff=100Mi 使用多部分上傳來上傳大於 100 MiB 的檔案。 較小的檔案會在一次請求中上傳。
chunk_size=16Mi 設定多部分上傳中每個部分的大小。
max_upload_parts=1000 設定每個多部分上傳的最大部分數量,並使用設定的 chunk_size 間接設定最大支援檔案大小上限。 使用 chunk_size=16Mi,最大檔案大小為 16 GiB
upload_concurrency=8 設定在多部分上傳期間並行上傳的部分數量。