This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.10. 仮想マシンのクローン作成
6.10.1. 複数の namespace 間で DataVolume をクローン作成するためのユーザーパーミッションの有効化 リンクのコピーリンクがクリップボードにコピーされました!
namespace には相互に分離する性質があるため、ユーザーはデフォルトでは namespace をまたがってリソースのクローンを作成することができません。
ユーザーが仮想マシンのクローンを別の namespace に作成できるようにするには、cluster-admin
ロールを持つユーザーが新規の ClusterRole を作成する必要があります。この ClusterRole をユーザーにバインドし、それらのユーザーが仮想マシンのクローンを宛先 namespace に対して作成できるようにします。
6.10.1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
-
cluster-admin
ロールを持つユーザーのみが ClusterRole を作成できます。
6.10.1.2. DataVolume について リンクのコピーリンクがクリップボードにコピーされました!
DataVolume
オブジェクトは、Containerized Data Importer (CDI) プロジェクトで提供されるカスタムリソースです。DataVolume は、基礎となる PersistentVolumeClaim (PVC) に関連付けられるインポート、クローン作成、およびアップロード操作のオーケストレーションを行います。DataVolume は KubeVirt に統合され、仮想マシンが PVC の作成前に起動することを防ぎます。
6.10.1.3. DataVolume のクローン作成のための RBAC リソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
datavolumes
リソースのすべてのアクションのパーミッションを有効にする新規の ClusterRole を作成します。
手順
ClusterRole マニフェストを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ClusterRole の一意の名前。
クラスターに ClusterRole を作成します。
oc create -f <datavolume-cloner.yaml>
$ oc create -f <datavolume-cloner.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 直前の手順で作成された ClusterRole マニフェストのファイル名です。
移行元および宛先 namespace の両方に適用される RoleBinding マニフェストを作成し、直前の手順で作成した ClusterRole を参照します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターに RoleBinding を作成します。
oc create -f <datavolume-cloner.yaml>
$ oc create -f <datavolume-cloner.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 直前の手順で作成された RoleBinding マニフェストのファイル名です。
6.10.2. 新規 DataVolume への仮想マシンディスクのクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
DataVolume 設定ファイルでソース PVC を参照し、新規 DataVolume に仮想マシンディスクの PersistentVolumeClaim (PVC) のクローンを作成できます。
6.10.2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- この操作を正常に実行するためには、StorageClass を定義するか、CDI のスクラッチ領域を用意する必要がある場合があります。CDI がサポートする操作マトリックスは、スクラッチ領域を必要とする条件を示しています。
- ユーザーは、仮想マシンディスクの PVC のクローンを別の namespace に作成するために 追加のパーミッションが必要です。
6.10.2.2. DataVolume について リンクのコピーリンクがクリップボードにコピーされました!
DataVolume
オブジェクトは、Containerized Data Importer (CDI) プロジェクトで提供されるカスタムリソースです。DataVolume は、基礎となる PersistentVolumeClaim (PVC) に関連付けられるインポート、クローン作成、およびアップロード操作のオーケストレーションを行います。DataVolume は KubeVirt に統合され、仮想マシンが PVC の作成前に起動することを防ぎます。
6.10.2.3. 新規 DataVolume への仮想マシンディスクの PersistentVolumeClaim のクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
既存の仮想マシンディスクの PersistentVolumeClaim (PVC) のクローンを新規 DataVolume に作成できます。その後、新規 DataVolume は新規の仮想マシンに使用できます。
Volume が仮想マシンとは別に作成される場合、DataVolume のライフサイクルは仮想マシンから切り離されます。仮想マシンが削除されても、DataVolume もその関連付けられた PVC も削除されません。
前提条件
- 使用する既存の仮想マシンディスクの PVC を判別します。クローン作成の前に、PVC に関連付けられた仮想マシンの電源を切る必要があります。
-
OpenShift CLI (
oc
) のインストール。
手順
- 関連付けられた PVC の名前および namespace を特定するために、クローン作成に必要な仮想マシンディスクを確認します。
新規 DataVolume の名前、ソース PVC の名前および namespace、および新規 DataVolume のサイズを指定する DataVolume オブジェクトの YAML ファイルを作成します。
以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DataVolume を作成して PVC のクローン作成を開始します。
oc create -f <cloner-datavolume>.yaml
$ oc create -f <cloner-datavolume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記DataVolume は仮想マシンが PVC の作成前に起動することを防ぐため、PVC のクローン作成中に新規 DataVolume を参照する仮想マシンを作成できます。
6.10.2.4. テンプレート: DataVolume クローン設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
example-clone-dv.yaml
6.10.2.5. CDI がサポートする操作マトリックス リンクのコピーリンクがクリップボードにコピーされました!
このマトリックスにはエンドポイントに対してコンテンツタイプのサポートされる CDI 操作が表示されます。これらの操作にはスクラッチ領域が必要です。
コンテンツタイプ | HTTP | HTTPS | HTTP Basic 認証 | レジストリー | アップロード |
---|---|---|---|---|---|
kubevirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
Archive+ | ✓ TAR | ✓ TAR | ✓ TAR | □ TAR | □ TAR |
✓ サポートされる操作
□ サポートされない操作
* スクラッチ領域が必要
**カスタム認証局が必要な場合にスクラッチ領域が必要
+ アーカイブはブロックモード DV をサポートしません。
6.10.3. DataVolumeTemplate の使用による仮想マシンのクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
既存の仮想マシンの PersistentVolumeClaim (PVC) のクローン作成により、新規の仮想マシンを作成できます。dataVolumeTemplate
を仮想マシン設定ファイルに含めることにより、元の PVC から新規の DataVolume を作成します。
6.10.3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- この操作を正常に実行するためには、StorageClass を定義するか、CDI のスクラッチ領域を用意する必要がある場合があります。CDI がサポートする操作マトリクスは、スクラッチ領域を必要とする条件を表示します。
- ユーザーは、仮想マシンディスクの PVC のクローンを別の namespace に作成するために 追加のパーミッションが必要です。
6.10.3.2. DataVolume について リンクのコピーリンクがクリップボードにコピーされました!
DataVolume
オブジェクトは、Containerized Data Importer (CDI) プロジェクトで提供されるカスタムリソースです。DataVolume は、基礎となる PersistentVolumeClaim (PVC) に関連付けられるインポート、クローン作成、およびアップロード操作のオーケストレーションを行います。DataVolume は KubeVirt に統合され、仮想マシンが PVC の作成前に起動することを防ぎます。
6.10.3.3. DataVolumeTemplate の使用による、クローン作成された PersistentVolumeClaim からの仮想マシンの新規作成 リンクのコピーリンクがクリップボードにコピーされました!
既存の仮想マシンの PersistentVolumeClaim (PVC) のクローンを DataVolume に作成する仮想マシンを作成できます。仮想マシン spec
の dataVolumeTemplate
を参照することにより、source
PVC のクローンが DataVolume に作成され、これは次に仮想マシンを作成するために自動的に使用されます。
DataVolume が仮想マシンの DataVolumeTemplate の一部として作成されると、DataVolume のライフサイクルは仮想マシンに依存します。つまり、仮想マシンが削除されると、DataVolume および関連付けられた PVC も削除されます。
前提条件
- 使用する既存の仮想マシンディスクの PVC を判別します。クローン作成の前に、PVC に関連付けられた仮想マシンの電源を切る必要があります。
-
OpenShift CLI (
oc
) のインストール。
手順
- 関連付けられた PVC の名前および namespace を特定するために、クローン作成に必要な仮想マシンを確認します。
VirtualMachine
オブジェクトの YAML ファイルを作成します。以下の仮想マシンのサンプルでは、source-namespace
namespace にあるmy-favorite-vm-disk
のクローンを作成します。favorite-clone
という2Gi
DataVolume がmy-favorite-vm-disk
から作成されます。以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 作成する仮想マシン。
PVC のクローンが作成された DataVolume で仮想マシンを作成します。
oc create -f <vm-clone-datavolumetemplate>.yaml
$ oc create -f <vm-clone-datavolumetemplate>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.10.3.4. テンプレート: DataVolume 仮想マシン設定ファイル リンクのコピーリンクがクリップボードにコピーされました!
example-dv-vm.yaml
- 1
- インポートする必要のあるイメージの
HTTP
ソース (該当する場合)。
6.10.3.5. CDI がサポートする操作マトリックス リンクのコピーリンクがクリップボードにコピーされました!
このマトリックスにはエンドポイントに対してコンテンツタイプのサポートされる CDI 操作が表示されます。これらの操作にはスクラッチ領域が必要です。
コンテンツタイプ | HTTP | HTTPS | HTTP Basic 認証 | レジストリー | アップロード |
---|---|---|---|---|---|
kubevirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
Archive+ | ✓ TAR | ✓ TAR | ✓ TAR | □ TAR | □ TAR |
✓ サポートされる操作
□ サポートされない操作
* スクラッチ領域が必要
**カスタム認証局が必要な場合にスクラッチ領域が必要
+ アーカイブはブロックモード DV をサポートしません。
6.10.4. 新規ブロックストレージ DataVolume への仮想マシンディスクのクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
DataVolume 設定ファイルでソース PVC を参照し、新規ブロック DataVolume に仮想マシンディスクの PersistentVolumeClaim (PVC) のクローンを作成できます。
6.10.4.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- CDI でサポートされる操作マトリックスに応じてスクラッチ領域が必要な場合、まずは、この操作が正常に実行されるように StorageClass を定義するか、またはCDI スクラッチ領域を用意します。
- ユーザーは、仮想マシンディスクの PVC のクローンを別の namespace に作成するために 追加のパーミッションが必要です。
6.10.4.2. DataVolume について リンクのコピーリンクがクリップボードにコピーされました!
DataVolume
オブジェクトは、Containerized Data Importer (CDI) プロジェクトで提供されるカスタムリソースです。DataVolume は、基礎となる PersistentVolumeClaim (PVC) に関連付けられるインポート、クローン作成、およびアップロード操作のオーケストレーションを行います。DataVolume は KubeVirt に統合され、仮想マシンが PVC の作成前に起動することを防ぎます。
6.10.4.3. ブロック PersistentVolume について リンクのコピーリンクがクリップボードにコピーされました!
ブロック PersistentVolume (PV) は、raw ブロックデバイスによってサポートされる PV です。これらのボリュームにはファイルシステムがなく、ディスクに直接書き込む仮想マシンや、独自のストレージサービスを実装する仮想マシンにはパフォーマンス上の利点があります。
raw ブロックボリュームは、PV および PersistentVolumeClaim (PVC) 仕様で volumeMode: Block
を指定してプロビジョニングされます。
6.10.4.4. ローカルブロック PersistentVolume の作成 リンクのコピーリンクがクリップボードにコピーされました!
ファイルにデータを設定し、これをループデバイスとしてマウントすることにより、ノードでローカルブロック PersistentVolume (PV) を作成します。次に、このループデバイスを PV 設定で Block
ボリュームとして参照し、これを仮想マシンイメージのブロックデバイスとして使用できます。
手順
-
ローカル PV を作成するノードに
root
としてログインします。この手順では、node01
を例に使用します。 ファイルを作成して、これを null 文字で設定し、ブロックデバイスとして使用できるようにします。以下の例では、2Gb (20 100Mb ブロック) のサイズのファイル
loop10
を作成します。dd if=/dev/zero of=<loop10> bs=100M count=20
$ dd if=/dev/zero of=<loop10> bs=100M count=20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow loop10
ファイルをループデバイスとしてマウントします。losetup </dev/loop10>d3 <loop10>
$ losetup </dev/loop10>d3 <loop10>
1 2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow マウントされたループデバイスを参照する
PersistentVolume
設定を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブロック PV を作成します。
oc create -f <local-block-pv10.yaml>
# oc create -f <local-block-pv10.yaml>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 直前の手順で作成された PersistentVolume のファイル名。
6.10.4.5. 新規 DataVolume への仮想マシンディスクの PersistentVolumeClaim のクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
既存の仮想マシンディスクの PersistentVolumeClaim (PVC) のクローンを新規 DataVolume に作成できます。その後、新規 DataVolume は新規の仮想マシンに使用できます。
Volume が仮想マシンとは別に作成される場合、DataVolume のライフサイクルは仮想マシンから切り離されます。仮想マシンが削除されても、DataVolume もその関連付けられた PVC も削除されません。
前提条件
- 使用する既存の仮想マシンディスクの PVC を判別します。クローン作成の前に、PVC に関連付けられた仮想マシンの電源を切る必要があります。
-
OpenShift CLI (
oc
) のインストール。 - ソース PVC と同じか、またはこれよりも大きい 1 つ以上の利用可能なブロック PersistentVolume (PV)。
手順
- 関連付けられた PVC の名前および namespace を特定するために、クローン作成に必要な仮想マシンディスクを確認します。
新規 DataVolume の名前、ソース PVC の名前および namespace、利用可能なブロック PV を使用できるようにするために
volumeMode: Block
、および新規 DataVolume のサイズを指定する DataVolume オブジェクトの YAML ファイルを作成します。以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DataVolume を作成して PVC のクローン作成を開始します。
oc create -f <cloner-datavolume>.yaml
$ oc create -f <cloner-datavolume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記DataVolume は仮想マシンが PVC の作成前に起動することを防ぐため、PVC のクローン作成中に新規 DataVolume を参照する仮想マシンを作成できます。
6.10.4.6. CDI がサポートする操作マトリックス リンクのコピーリンクがクリップボードにコピーされました!
このマトリックスにはエンドポイントに対してコンテンツタイプのサポートされる CDI 操作が表示されます。これらの操作にはスクラッチ領域が必要です。
コンテンツタイプ | HTTP | HTTPS | HTTP Basic 認証 | レジストリー | アップロード |
---|---|---|---|---|---|
kubevirt (QCOW2) |
✓ QCOW2 |
✓ QCOW2** |
✓ QCOW2 |
✓ QCOW2* |
✓ QCOW2* |
KubeVirt (RAW) |
✓ RAW |
✓ RAW |
✓ RAW |
✓ RAW* |
✓ RAW* |
Archive+ | ✓ TAR | ✓ TAR | ✓ TAR | □ TAR | □ TAR |
✓ サポートされる操作
□ サポートされない操作
* スクラッチ領域が必要
**カスタム認証局が必要な場合にスクラッチ領域が必要
+ アーカイブはブロックモード DV をサポートしません。