8.18.3.2. PVC API を使用したデータボリュームの作成

PVC API を使用してデータボリュームを作成する場合、Containerized Data Interface (CDI) は、以下のフィールドに指定する内容に基づいてデータボリュームを作成します。

  • accessModes (ReadWriteOnceReadWrtieMany、または ReadOnlyMany)
  • volumeMode (Filesystem または Block)
  • storagecapacity (例: 5Gi)

以下の YAML では、PVC API を使用して、2 ギガバイトのストレージ容量を持つデータボリュームを割り当てます。ReadWriteMany のアクセスモードを指定して、ライブマイグレーションを有効にします。システムがサポートできる値がわかっているので、デフォルトの Filesystem の代わりに Block ストレージを指定します。

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
  pvc: 5
    accessModes: 6
      - ReadWriteMany
    resources:
      requests:
        storage: 2Gi 7
    volumeMode: Block 8
    storageClassName: <storage_class> 9

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

PVC API を使用してデータボリュームを明示的に割り当て、volumeMode: Block を使用していない場合は、ファイルシステムのオーバーヘッドを考慮してください。

ファイルシステムのオーバーヘッドは、ファイルシステムのメタデータを維持するために必要な領域のサイズです。ファイルシステムメタデータに必要な領域のサイズは、ファイルシステムに依存します。ストレージ容量要求でファイルシステムのオーバーヘッドに対応できない場合は、基礎となる永続ボリューム要求 (PVC) が仮想マシンディスクに十分に対応できない大きさとなる可能性があります。

ストレージ API を使用する場合、CDI はファイルシステムのオーバーヘッドを考慮し、割り当て要求が正常に実行されるように大きな永続ボリューム要求 (PVC) を要求します。