8.18.3. プロファイルを使用したデータボリュームの作成

データボリュームの作成時に、Containerized Data Interface (CDI) は永続ボリューム要求 (PVC) を作成し、PVC にデータを入力します。データボリュームは、スタンドアロンリソースとして、または仮想マシン仕様で dataVolumeTemplate リソースを使用することで、作成できます。PVC API またはストレージ API のいずれかを使用して、データボリュームを作成します。

重要

OpenShift Container Platform Container Storage で OpenShift Virtualization を使用する場合は、仮想マシンディスクの作成時に RBD ブロックモードの永続ボリューム要求(PVC)を指定します。仮想マシンディスクにより、RBD ブロックモードボリュームはより効率的であり、Ceph FS または RBD ファイルシステムモード PVC よりも優れたパフォーマンスを提供します。

RBD ブロックモード PVC を指定するには、'ocs-storagecluster-ceph-rbd' ストレージクラスおよび VolumeMode: Block を使用します。

ヒント

可能な限り、ストレージ API を使用して、スペースの割り当てを最適化し、パフォーマンスを最大化します。

ストレージプロファイル は、CDI が管理するカスタムリソースです。関連付けられたストレージクラスに基づく推奨ストレージ設定を提供します。ストレージクラスごとにストレージクラスが割り当てられます。

ストレージプロファイルを使用すると、コーディングを減らし、潜在的なエラーを最小限に抑えながら、データボリュームをすばやく作成できます。

認識されたストレージタイプの場合、CDI は PVC の作成を最適化する値を提供します。ただし、ストレージプロファイルをカスタマイズする場合は、ストレージクラスの自動設定を行うことができます。

8.18.3.1. ストレージ API を使用したデータボリュームの作成

ストレージ API を使用してデータボリュームを作成する場合、Containerized Data Interface (CDI) は、選択したストレージクラスでサポートされるストレージのタイプに基づいて、永続ボリューム要求 (PVC) の割り当てを最適化します。データボリューム名、namespace、および割り当てるストレージの量のみを指定する必要があります。

以下は例になります。

  • Ceph RBD を使用する場合、accessModesReadWriteMany に自動設定され、ライブマイグレーションが可能になります。volumeMode は、パフォーマンスを最大化するために Block に設定されています。
  • volumeMode: Filesystem を使用する場合、ファイルシステムのオーバーヘッドに対応する必要がある場合は、CDI が追加の領域を自動的に要求します。

以下の YAML では、ストレージ API を使用して、2 ギガバイトの使用可能な領域を持つデータボリュームを要求します。ユーザーは、必要な永続ボリューム要求 (PVC) のサイズを適切に予測するために volumeMode を把握する必要はありません。CDI は accessModes 属性と volumeMode 属性の最適な組み合わせを自動的に選択します。これらの最適値は、ストレージのタイプまたはストレージプロファイルで定義するデフォルトに基づいています。カスタム値を指定する場合は、システムで計算された値を上書きします。

DataVolume 定義の例

apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
  name: <datavolume> 1
spec:
  source:
    pvc: 2
      namespace: "<source_namespace>" 3
      name: "<my_vm_disk>" 4
  storage: 5
    resources:
      requests:
        storage: 2Gi 6
    storageClassName: <storage_class> 7

1
新規データボリュームの名前。
2
インポートのソースが既存の永続ボリューム要求 (PVC) であることを示しています。
3
ソース PVC が存在する namespace。
4
ソース PVC の名前。
5
ストレージ API を使用した割り当てを示します。
6
PVC に要求する利用可能な領域のサイズを指定します。
7
オプション: ストレージクラスの名前。ストレージクラスが指定されていない場合、システムデフォルトのストレージクラスが使用されます。