6.3.8. vSphere のスナップショットの最大数の変更
vSphere Container Storage Interface (CSI) のボリュームあたりのスナップショットのデフォルトの最大数は 3 です。1 ボリュームあたり最大 32 個まで変更できます。
ただし、スナップショットの最大値を増やすとパフォーマンスとのトレードオフが発生するため、パフォーマンスを向上させるには、ボリュームごとに 2 - 3 個のスナップショットのみを使用するようにしてください。
VMware スナップショットのパフォーマンスに関する推奨事項の詳細は、関連情報 を参照してください。
前提条件
- 管理者権限でクラスターにアクセスできる。
手順
次のコマンドを実行して、現在のシークレットを確認します。
$ oc -n openshift-cluster-csi-drivers get secret/vsphere-csi-config-secret -o jsonpath='{.data.cloud\.conf}' | base64 -d出力例
# Labels with topology values are added dynamically via operator [Global] cluster-id = vsphere-01-cwv8p # Populate VCenters (multi) after here [VirtualCenter "vcenter.openshift.com"] insecure-flag = true datacenters = DEVQEdatacenter password = "xxxxxxxx" user = "xxxxxxxx@devcluster.openshift.com" migration-datastore-url = ds:///vmfs/volumes/vsan:52c842f232751e0d-3253aadeac21ca82/この例では、スナップショットのグローバル最大数は設定されていないため、デフォルト値の 3 が適用されます。
次のコマンドを実行してスナップショットの制限を変更します。
global スナップショット制限を設定します。
$ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"globalMaxSnapshotsPerBlockVolume": 10}}}}' clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patchedこの例では、グローバル制限が 10 に変更されます (
globalMaxSnapshotsPerBlockVolumeが 10 に設定されています)。仮想ボリューム のスナップショット制限を設定します。
このパラメーターは、仮想ボリュームデータストアのみに制限を設定します。仮想ボリュームの最大スナップショット制限は、設定されている場合はグローバル制約をオーバーライドしますが、設定されていない場合はデフォルトでグローバル制限になります。
$ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"granularMaxSnapshotsPerBlockVolumeInVVOL": 5}}}}' clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patchedこの例では、仮想ボリュームの制限が 5 に変更されます (
granularMaxSnapshotsPerBlockVolumeInVVOLが 5 に設定されています)。vSAN スナップショットの制限を設定します。
このパラメーターは、vSAN データストアのみに制限を設定します。vSAN の最大スナップショット制限は、設定されている場合はグローバル制約をオーバーライドしますが、設定されていない場合はデフォルトでグローバル制限になります。vSAN ESA セットアップでは、最大値 32 を設定できます。
$ oc patch clustercsidriver/csi.vsphere.vmware.com --type=merge -p '{"spec":{"driverConfig":{"vSphere":{"granularMaxSnapshotsPerBlockVolumeInVSAN": 7}}}}' clustercsidriver.operator.openshift.io/csi.vsphere.vmware.com patchedこの例では、vSAN 制限が 7 に変更されます (
granularMaxSnapshotsPerBlockVolumeInVSANが 7 に設定されています)。
検証
次のコマンドを実行して、行った変更が config map に反映されていることを確認します。
$ oc -n openshift-cluster-csi-drivers get secret/vsphere-csi-config-secret -o jsonpath='{.data.cloud\.conf}' | base64 -d出力例
# Labels with topology values are added dynamically via operator [Global] cluster-id = vsphere-01-cwv8p # Populate VCenters (multi) after here [VirtualCenter "vcenter.openshift.com"] insecure-flag = true datacenters = DEVQEdatacenter password = "xxxxxxxx" user = "xxxxxxxx@devcluster.openshift.com" migration-datastore-url = ds:///vmfs/volumes/vsan:52c842f232751e0d-3253aadeac21ca82/ [Snapshot] global-max-snapshots-per-block-volume = 101 - 1
global-max-snapshots-per-block-volumeが 10 に設定されました。