7.18.9.3. 通过 CLI 创建离线虚拟机快照
您可以通过创建一个 VirtualMachineSnapshot 对象来为离线虚拟机创建虚拟机快照。
先决条件
- 确保持久性卷声明(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。