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-vmsnapshot 1 spec: source: apiGroup: kubevirt.io kind: VirtualMachine name: my-vm 2
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: true 3 sourceUID: 355897f3-73a0-4ec4-83d3-3c2df9486f4f virtualMachineSnapshotContentName: vmsnapshot-content-28eedf08-5d6a-42c1-969c-2eda58e2a78d 4
-
VirtualMachineSnapshotContent
リソースのspec:volumeBackups
プロパティーをチェックし、予想される PVC がスナップショットに含まれることを確認します。