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-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。