7.18.7.2. CLI에서 오프라인 가상 머신 스냅샷 생성
VirtualMachineSnapshot
오브젝트를 생성하여 오프라인 VM에 대한 VM(가상 머신) 스냅샷을 생성할 수 있습니다.
사전 요구 사항
- PVC(영구 볼륨 클레임)이 CSI(Container Storage Interface) 볼륨 스냅샷을 지원하는 스토리지 클래스에 있는지 확인합니다.
-
OpenShift CLI(
oc
)를 설치합니다. - 스냅샷을 생성할 VM의 전원을 끕니다.
프로세스
YAML 파일을 생성하여 새
VirtualMachineSnapshot
의 이름과 소스 VM의 이름을 지정하는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가 스냅샷에 포함되어 있는지 확인합니다.