クラスタアドオンIBM Cloud Object Storageのインストール
「 IBM Cloud Object Storage 」アドオンは、 IBM Cloud コンソールまたはCLIから有効にできます。
前提条件:
- IBM Cloud Object Storage アドオンには、少なくとも 0.3 vCPU と 360 MB のメモリが必要です。
- このアドオンは Red Hat CoreOS (RHCOS) および Ubuntu ワーカーノードで利用可能です。 クラスタにRHELノードとRHCOSノードの両方がある場合、アドオンはRHCOSノードにのみデプロイされます。
- IBM Cloud Object Storage。
- オプションバケットのバージョニングを使用する予定がある場合、サービス認証情報は、バケット上でバケットのバージョニングを有効または無効にするための Manager または Writer 権限を持っていなければなりません。 詳細については、「 バージョン管理の始め方 」を参照してください。
バケットの作成と削除を理解する
- PVCにバケツ名を指定することで、既存のバケツを利用することができます。
- バケツ名を指定し、そのバケツが存在しない場合は、その名前のバケツが作成される。
- バケツ名を指定しない場合は、
temp-xxxという命名規則を持つバケツが作成される。 - バケットは、ストレージクラスで定義された再生ポリシーに基づいて削除されます。
reclaimPolicy: Delete設定されている場合、PVCが削除されるとバケットは削除される。reclaimPolicy: Retain設定すると、PVCが削除されてもバケットは保持される。
コンソールから「 IBM Cloud Object Storage 」アドオンを有効にする
- Red Hat OpenShift on IBM Cloud のクラスターダッシュボードから、アドオンを有効にしたいクラスターを選択します。
- 「 アドオン 」セクションで、 Cloud Object Storage アドオンを見つけて、「 インストール 」をクリックします。
- 「 アドオンをインストールする: Cloud Object Storage 」パネルで、「 バージョン 」ドロップダウンからバージョンを選択します。
- オプション:以下のパラメータを設定してください。
maxVolumesPerNode- 1つのノードにマウントできる IBM Cloud Object Storage ボリュームの最大数を設定します。 デフォルト値は
0であり、これは制限が適用されないことを意味します。 restrictNodeServerSchedulingtrueに設定すると、ノードサーバーのポッドが、cos.csi.ibm.io/csi-node=trueというラベルが付いたノード上でのみ実行されるように制限されます。 デフォルト値はfalseであり、これはノードサーバーのポッドがすべてのノードにスケジューリングされることを意味します。
- **「インストール」**をクリックします。 アドオンのデプロイが完了して利用可能になるには数分かかる場合があります。
- インストールを検証します。 「 アドオン 」セクションで、 Cloud Object Storage アドオンのヘルス状態が「 正常 」と表示されていることを確認してください。
CLIから IBM Cloud Object Storage アドオンを有効にする
始める前に、Red Hat OpenShift クラスターにアクセスします。
container-serviceプラグインを最新バージョンに更新してください。ibmcloud update && ibmcloud plugin update container-service- アドオンをリストアップし、インストールしたいバージョンを見つける。
ibmcloud oc cluster addon versions - アドオンのオプションを確認します。
ibmcloud oc cluster addon options --addon ibm-object-csi-driver [--version VERSION] - アドオンをインストールします。
ibmcloud oc cluster addon enable ibm-object-csi-driver --cluster CLUSTER [--version VERSION] - インストールを検証します。
ibmcloud oc cluster addon ls --cluster CLUSTEROK Name Version Health State Health Status ibm-object-csi-driver 1.0 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500) - 利用可能なストレージクラスを一覧表示してください。 このドライバは、
s3fsおよびrcloneマウンタに対して、リージョナルおよびクロスリージョナルの両方のストレージクラスをサポートしています。oc get sc | grep objectibm-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
ノードサーバーのポッドスケジューリングの制限
デフォルトでは、COS CSI ドライバーのノードサーバー ポッドは、クラスター内のすべてのノードにスケジューリングされます。 restrictNodeServerScheduling パラメータを使用すると、ノードサーバーのポッドのスケジューリングを、 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」を更新するには、以下の手順に従ってください。
- クラスタ内のノードを一覧表示し、COS ドライバーのポッドを実行する場所を決定してください。
出力例oc get nodesNAME 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 - すべてのノードで、nodeserver ポッドが現在実行中であることを確認してください。
出力例oc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wideNAME 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> - ノードサーバーのポッドをスケジューリングしたいノードにラベルを付けます。
出力例oc label nodes NODE-NAME-1 NODE-NAME-2 cos.csi.ibm.io/csi-node=truenode/10.241.0.11 labeled node/10.241.0.12 labeled - 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 - ノードサーバーのポッドが、ラベルが設定されたノードにのみスケジューリングされることを確認してください。
出力例oc get pods -n ibm-object-csi-operator -l app.kubernetes.io/component=node -o wideNAME 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: "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: "0" (デフォルト) |
ノードごとにマウントできるボリュームの数に制限はありません。 |
maxVolumesPerNode: "VALUE" |
1つのノードにマウントできるボリュームの数を、指定された値に制限します。 |
以下を使用するアプリのデプロイ IBM Cloud Object Storage
COSの認証情報を含む Kubernetes のシークレットを作成します。
-
以下のコンフィギュレーションを、
secret.yaml. IAM 認証情報または HMAC のいずれかを提供するが、両方は提供しない。- IAM クレデンシャルには、 Object Storage の
apiKeyとserviceIdを組み合わせて使用する。 - HMAC クレデンシャルには、 Object Storage から
accessKeyとsecretKeyを使用する。
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=8mountOptions- シークレットの
mountOptionsを編集することで、s3fsまたはrcloneのマウントオプションをカスタマイズすることができます。 指定するオプションを、PVCが使用するストレージ・クラスに合わせます。 ストレージ・クラスのデフォルト値を確認するには、oc describe storageclass <storageclass_name>またはoc describe storageclass <storageclass_name>を実行します。 詳細については、 s3fs マウント・オプションとrcloneマウント・ オプションを参照のこと。
現在、アドオンはマウントオプションごとに適切な検証を行い、固定されたマウントオプションのセットをサポートするように有効になっています。 検証リストにない他のマウントオプションを使用したい場合は、サポートに連絡してそれらのオプションを有効にしてください。
- IAM クレデンシャルには、 Object Storage の
-
すべての秘密データ・パラメーターを base64 にエンコードする。
echo -n "<value>" | base64 -
base64 でエンコードされた値で
secret.yamlを更新する。 -
シークレットを作成します。
oc apply -f secret.yaml
PVCの作成
複数のPVCにわたって単一のシークレットを使用することも、PVCごとに1つのシークレットを使用することもできます。
この動作は、PVC yamlで以下のアノテーションを使用することで管理できる。 これらの注釈は、ドライバーがPVCを正しいシークレットにマッピングするのに役立つ。
cos.csi.driver/secret: "<custom-secret>"
secret、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つ選び、あなたの使用ケースに合わせてカスタマイズしてください。 ストレージ・クラスのリストについては、ストレージ・クラス・リファレンス を参照してください。
-
PVC を作成します。
oc apply -f pvc.yaml
デプロイメントを作成します
-
以下の設定を「
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. -
デプロイメントを作成します。
oc apply -f dep.yaml
IBM Cloud Object Storageアドオンを無効にする
既存のシークレット、PVC、およびデプロイは、アドオンを無効にしたり、パッチを更新したりしても削除されません。 既存のお客様ワークロードに支障をきたすことはない。
- アドオンを無効にするには、次のコマンドを実行してください。
出力例ibmcloud oc cluster addon disable ibm-object-csi-driver --cluster CLUSTERData 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 - アドオンが削除されたことを確認してください。
ibmcloud oc cluster addon ls --cluster CLUSTER
Helmプラグインからクラスタアドオンへの移行
-
PVCの詳細を取得し、移行する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 -
PVCについて説明し、バケツ名を取得する。
oc describe pvc <pvc_name> | grep ibm.io/bucket:出力例
ibm.io/bucket: test-s3 -
バケツの名前も含めて、あなたの秘密を再現してください。
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 -
PVCで使用されているストレージクラスを検索する。
oc describe pvc <pvc_name> | grep StorageClass:test-s3PVCに対するコマンド例。oc describe pvc test-s3 | grep StorageClass:出力例
StorageClass: ibmc-s3fs-smart-perf-regional -
アドオンで使用できる 新しいストレージクラスを確認 し、置換クラスを選択します。
flexを使用していた場合は、新しいsmartクラスのいずれかを選択してください。standardを使用している場合は、新しいstandardクラスのいずれかを選択してください。coldとvaultのクラスはアドオンでは利用できなくなりました。代わりにsmartまたはstandardのクラスを選択してください。
-
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> -
新しいストレージ・クラスを使用し、以前に作成したシークレットを参照する置換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. -
PVCが
Boundであることを確認する。oc get pvc -
アプリの詳細を確認してください。
oc get pods -
アプリをゼロまで縮小する。
kubectl scale deployment --replicas=0 my-app -
前の手順で作成した PVC を参照する置換配置を作成します。
-
新しい配置が実行されたら、古い配置を削除できます。
-
移行したい各PVCについて、これらの手順を繰り返してください。
IBM Cloud Object Storageクラスタ・アドオン・ストレージクラス
IBM Cloud Object Storage クラスタ・アドオンは、 s3fs および rclone マウンタ用のストレージ・クラスを提供します。 データ・アクセス要件に合ったストレージ・クラスを選択します。 ストレージクラスは、ワークロード用に作成されたバケットのバケットクラス、リクレイムポリシー、デフォルトのマウント動作を決定します。
- Standard
- ウェブやモバイルアプリのデータなど、頻繁にアクセスするホットデータに使用する。
- スマート
- 特定の使用パターンに従わないワークロードやデータ、あるいは使用パターンの予測が困難な場合に使用する。
| 名前 | バケット・クラス | 回復力 | マウンター | 再利用ポリシー | バインディング・モード |
|---|---|---|---|---|---|
| ibm-object-storage-smart-cross-region-rclone | スマート | 地域横断的 | rclone |
の削除 | 即時 |
| ibm-オブジェクト・ストレージ-スマート・クロス・リージョン-rclone-リテイン | スマート | 地域横断的 | rclone |
保持 | 即時 |
| ibm-object-storage-smart-cross-region-s3fs | スマート | 地域横断的 | s3fs |
の削除 | 即時 |
| ibm-object-storage-smart-cross-region-s3fs-retain | スマート | 地域横断的 | s3fs |
保持 | 即時 |
| IBMオブジェクトストレージスマートRクローン | スマート | リージョン | rclone |
の削除 | 即時 |
| IBMオブジェクトストレージスマートRクローン保持 | スマート | リージョン | rclone |
保持 | 即時 |
| ibm-object-storage-smart-s3fs | スマート | リージョン | s3fs |
の削除 | 即時 |
| ibm-object-storage-smart-s3fs-retain | スマート | リージョン | s3fs |
保持 | 即時 |
| ibm-object-storage-standard-cross-region-rclone | Standard | 地域横断的 | rclone |
の削除 | 即時 |
| ibm-object-storage-standard-cross-region-rclone-retain | Standard | 地域横断的 | rclone |
保持 | 即時 |
| ibm-object-storage-standard-cross-region-s3fs | Standard | 地域横断的 | s3fs |
の削除 | 即時 |
| ibm-object-storage-standard-cross-region-s3fs-retain | Standard | 地域横断的 | s3fs |
保持 | 即時 |
| IBM-オブジェクト-ストレージ-スタンダード-Rクローン | Standard | リージョン | rclone |
の削除 | 即時 |
| IBM-オブジェクト-ストレージ-スタンダード-Rclone-retain | Standard | リージョン | rclone |
保持 | 即時 |
| ibm-object-storage-standard-s3fs | Standard | リージョン | s3fs |
の削除 | 即時 |
| ibm-object-storage-standard-s3fs-retain | Standard | リージョン | s3fs |
保持 | 即時 |
ストレージクラスの詳細なバケット設定を確認するには、 oc describe storageclass <storageclass_name> または oc describe storageclass <storageclass_name> を実行します。
ストレージ・クラスのパラメーター
すべてのクラスタ・アドオン・ストレージ・クラスには、以下のコア・パラメータが含まれる。
| パラメーター | 説明 |
|---|---|
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-smart や au-syd-standard のように、バケツのクラスと地域を定義する。 |
mounter |
ストレージ・クラスが s3fs または rclone のどちらのマウンタを使用するかを指定します。 |
デフォルトの s3fs ストレージクラスのマウントオプション
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 ストレージ・クラスは、以下のデフォルト・マウント・オプションを使用する。
| マウントオプション | 説明 |
|---|---|
acl=private |
アップロードされたオブジェクトが一般にアクセスできないようにする。 |
bucket_acl=private |
rclone が作成するバケットのデフォルト ACL を private に設定する。 |
upload_cutoff=100Mi |
マルチパートアップロードを使用して、 100 MiB より大きなファイルをアップロードします。 小さなファイルは1回のリクエストでアップロードされます。 |
chunk_size=16Mi |
マルチパートアップロードの各パートのサイズを設定します。 |
max_upload_parts=1000 |
マルチパートアップロードあたりの最大パート数を設定し、設定された chunk_size で間接的にサポートされる最大ファイルサイズの上限を設定します。 chunk_size=16Mi の場合、最大ファイルサイズは 16 GiB。 |
upload_concurrency=8 |
マルチパートアップロード中に並行してアップロードされるパートの数を設定します。 |