7.18.7.2. CLI でのオフライン仮想マシンスナップショットの作成
VirtualMachineSnapshot オブジェクトを作成し、オフライン仮想マシンの仮想マシン (VM) スナップショットを作成できます。
前提条件
- 永続ボリューム要求 (PVC) が Container Storage Interface (CSI) ボリュームスナップショットをサポートするストレージクラスにあることを確認する。
-
OpenShift CLI (
oc) をインストールしている。 - スナップショットを作成する仮想マシンの電源を切ること。
手順
YAML ファイルを作成し、新規の
VirtualMachineSnapshotの名前およびソース仮想マシンの名前を指定するVirtualMachineSnapshotオブジェトを定義します。以下に例を示します。
apiVersion: snapshot.kubevirt.io/v1alpha1 kind: VirtualMachineSnapshot metadata: name: my-vmsnapshot1 spec: source: apiGroup: kubevirt.io kind: VirtualMachine name: my-vm2 VirtualMachineSnapshotリソースを作成します。スナップコントローラーはVirtualMachineSnapshotContentオブジェクトを作成し、これをVirtualMachineSnapshotにバインドし、VirtualMachineSnapshotオブジェクトのstatusおよびreadyToUseフィールドを更新します。$ oc create -f <my-vmsnapshot>.yaml
検証
VirtualMachineSnapshotオブジェクトが作成されており、VirtualMachineSnapshotContentにバインドされていることを確認します。readyToUseフラグをtrueに設定する必要があります。$ oc describe vmsnapshot <my-vmsnapshot>出力例
apiVersion: snapshot.kubevirt.io/v1alpha1 kind: VirtualMachineSnapshot metadata: creationTimestamp: "2020-09-30T14:41:51Z" finalizers: - snapshot.kubevirt.io/vmsnapshot-protection generation: 5 name: mysnap namespace: default resourceVersion: "3897" selfLink: /apis/snapshot.kubevirt.io/v1alpha1/namespaces/default/virtualmachinesnapshots/my-vmsnapshot uid: 28eedf08-5d6a-42c1-969c-2eda58e2a78d spec: source: apiGroup: kubevirt.io kind: VirtualMachine name: my-vm status: conditions: - lastProbeTime: null lastTransitionTime: "2020-09-30T14:42:03Z" reason: Operation complete status: "False"1 type: Progressing - lastProbeTime: null lastTransitionTime: "2020-09-30T14:42:03Z" reason: Operation complete status: "True"2 type: Ready creationTime: "2020-09-30T14:42:03Z" readyToUse: true3 sourceUID: 355897f3-73a0-4ec4-83d3-3c2df9486f4f virtualMachineSnapshotContentName: vmsnapshot-content-28eedf08-5d6a-42c1-969c-2eda58e2a78d4 -
VirtualMachineSnapshotContentリソースのspec:volumeBackupsプロパティーをチェックし、予想される PVC がスナップショットに含まれることを確認します。