Red Hat OpenShift Virtualization에서 대체 방법을 통해 ONTAP 스토리지를 사용하여 VM 생성
OpenShift Virtualization UI를 사용하여 VM을 생성하는 방법 외에도 OpenShift Virtualization에서 VM을 생성하는 다른 방법이 있습니다. 이 섹션에서는 이러한 방법 중 일부를 간략하게 설명합니다.
Red Hat OpenShift Virtualization을 사용하여 YAML 파일에서 VM 생성
VM은 `oc apply`명령어를 사용하여 YAML 파일을 적용하는 방식으로도 생성할 수 있습니다. 이 방법은 CLI 사용을 선호하거나 스크립트를 사용하여 VM 생성을 자동화하려는 사용자에게 유용합니다. 이 방법을 사용하여 VM을 생성하려면 VM과 VM 디스크용 PVC와 같은 관련 리소스를 정의하는 YAML 파일을 생성해야 합니다. 그런 다음 `oc apply -f <yaml-file>`명령어를 사용하여 YAML 파일을 적용하면 OpenShift 클러스터에 VM이 생성됩니다.
예를 보여주세요
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: test-vms-vm
namespace: test-5vms
labels:
app: test-vms-vm
vm.kubevirt.io/template: centos-stream9-server-small
spec:
dataVolumeTemplates:
- apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: test-vms-vm-rootdisk
spec:
sourceRef:
kind: DataSource
name: centos-stream9
namespace: openshift-virtualization-os-images
storage:
resources:
requests:
storage: 30Gi
runStrategy: Always
template:
metadata:
labels:
kubevirt.io/domain: test-vms-vm
spec:
domain:
cpu:
cores: 1
sockets: 1
threads: 1
devices:
disks:
- bootOrder: 1
disk:
bus: virtio
name: rootdisk
- disk:
bus: virtio
name: cloudinitdisk
interfaces:
- masquerade: {}
model: virtio
name: default
resources:
requests:
memory: 2Gi
networks:
- name: default
pod: {}
terminationGracePeriodSeconds: 180
volumes:
- dataVolume:
name: test-vms-vm-rootdisk
name: rootdisk
- cloudInitNoCloud:
userData: |-
#cloud-config
user: admin
password: <replace with your password>
chpasswd: { expire: False }
name: cloudinitdisk
Red Hat OpenShift Virtualization을 사용하여 스냅샷 복사본에서 VM 만들기
OpenShift Virtualization을 사용하면 스냅샷에서 가상 머신(VM)을 생성할 수 있습니다. 이 절차에는 VolumeSnapshotClass 생성, VM의 영구 볼륨 클레임(PVC) 스냅샷 생성, 새 PVC에 스냅샷 복원, 그리고 복원된 PVC를 루트 디스크로 사용하는 새 VM 배포가 포함됩니다.
Trident 와 Red Hat OpenShift를 사용하면 사용자는 해당 볼륨에서 프로비저닝된 스토리지 클래스의 영구 볼륨에 대한 스냅샷을 만들 수 있습니다. 이 기능을 사용하면 사용자는 볼륨의 특정 시점 복사본을 만들어 새 볼륨을 만들거나 동일한 볼륨을 이전 상태로 복원할 수 있습니다. 이를 통해 롤백, 복제, 데이터 복원 등 다양한 사용 사례가 가능해지고 지원됩니다.
OpenShift에서 스냅샷 작업을 수행하려면 VolumeSnapshotClass, VolumeSnapshot 및 VolumeSnapshotContent 리소스를 정의해야 합니다.
-
VolumeSnapshotContent는 클러스터의 볼륨에서 찍은 실제 스냅샷입니다. 이는 저장소를 위한 PersistentVolume과 유사한 클러스터 전체 리소스입니다.
-
VolumeSnapshot은 볼륨의 스냅샷을 생성하기 위한 요청입니다. 이는 PersistentVolumeClaim과 유사합니다.
-
VolumeSnapshotClass를 사용하면 관리자가 VolumeSnapshot에 대해 다양한 속성을 지정할 수 있습니다. 동일한 볼륨에서 찍은 다양한 스냅샷에 대해 서로 다른 속성을 가질 수 있습니다.

예를 보여주세요
필수 조건
PVC의 스냅샷을 생성하려면 먼저 Trident Storage Class에 프로비저닝된 PVC가 연결된 기존 VM이 있어야 하며, VM이 실행 중인 상태여야 합니다. VolumeSnapshot을 생성하는 데 사용할 수 있는 VolumeSnapshotClass가 생성되어 있어야 합니다. 이는 OpenShift Virtualization을 설치하기 위한 사전 요구사항의 일부로 생성되었을 것입니다. 자세한 내용은 "VolumeSnapshotClass 구성을 생성하는 3단계"을 참조하십시오.
VM의 스냅샷을 생성하려면 다음 단계를 완료하십시오.
-
소스 VM에 연결된 PVC를 식별한 다음 해당 PVC의 스냅샷을 만듭니다. 로 이동
Storage > VolumeSnapshots볼륨 스냅샷 만들기를 클릭하세요. -
스냅샷을 만들려는 PVC를 선택하고 스냅샷 이름을 입력하거나 기본값을 사용하고 적절한 VolumeSnapshotClass를 선택합니다. 그런 다음 만들기를 클릭합니다.
-
이렇게 하면 해당 시점의 PVC 스냅샷이 생성됩니다.

스냅샷에서 새 VM 생성
-
먼저 스냅샷을 새로운 PVC로 복원합니다. 저장소 > 볼륨 스냅샷으로 이동하여 복원하려는 스냅샷 옆에 있는 줄임표를 클릭하고 새 PVC로 복원을 클릭합니다.
-
새 PVC의 세부 정보를 입력하고 복원을 클릭합니다. 이렇게 하면 새로운 PVC가 생성됩니다.

-
다음으로, 이 PVC에서 새로운 VM을 만듭니다. 가상화 > 가상 머신으로 이동하여 만들기 > YAML 사용을 클릭합니다.
-
사양 > 템플릿 > 사양 > 볼륨 섹션에서 컨테이너 디스크 대신 스냅샷에서 생성된 새 PVC를 지정합니다. 귀하의 요구 사항에 따라 새 VM에 대한 다른 모든 세부 정보를 제공합니다.
- name: rootdisk
persistentVolumeClaim:
claimName: rhel8-short-frog-rootdisk-28dvb-snapshot-restore
-
새로운 VM을 만들려면 만들기를 클릭하세요.
-
VM이 성공적으로 생성된 후, 스냅샷이 생성된 시점에 PVC를 사용하여 스냅샷을 생성한 VM과 동일한 상태인지 액세스하여 확인합니다.
OpenShift Virtualization에서 Trident를 사용하여 VM 복제
이 절차에는 Trident CSI 볼륨 복제 기능을 활용하는 것이 포함되어 있어 원본 VM을 종료하여 새 VM을 생성하거나 원본 VM을 계속 실행 상태로 유지할 수 있습니다.
예를 보여주세요
VM 복제
OpenShift에서 기존 VM을 복제하는 작업은 Trident의 Volume CSI 복제 기능을 통해 수행됩니다. CSI 볼륨 클로닝을 사용하면 기존 PVC를 데이터 소스로 사용하여 PV를 복제하여 새로운 PVC를 생성할 수 있습니다. 새로운 PVC가 생성된 후에는 별도의 엔터티로 작동하며 소스 PVC에 대한 링크나 종속성이 없습니다.

CSI 볼륨 클로닝에는 고려해야 할 몇 가지 제한 사항이 있습니다.
-
소스 PVC와 대상 PVC는 동일한 프로젝트에 있어야 합니다.
-
동일한 스토리지 클래스 내에서 복제가 지원됩니다.
-
소스 볼륨과 대상 볼륨이 동일한 VolumeMode 설정을 사용하는 경우에만 복제를 수행할 수 있습니다. 예를 들어, 블록 볼륨은 다른 블록 볼륨에만 복제할 수 있습니다.
OpenShift 클러스터의 VM은 두 가지 방법으로 복제할 수 있습니다.
-
소스 VM을 종료하여
-
소스 VM을 활성 상태로 유지하여
소스 VM을 종료하여
VM을 종료하여 기존 VM을 복제하는 것은 Trident 의 지원을 받아 구현된 기본 OpenShift 기능입니다. VM을 복제하려면 다음 단계를 완료하세요.
-
워크로드 > 가상화 > 가상 머신으로 이동한 다음 복제하려는 가상 머신 옆에 있는 줄임표를 클릭합니다.
-
가상 머신 복제를 클릭하고 새 VM에 대한 세부 정보를 제공합니다.

-
가상 머신 복제를 클릭합니다. 그러면 소스 VM이 종료되고 복제 VM 생성이 시작됩니다.
-
이 단계가 완료되면 복제된 VM의 콘텐츠에 액세스하여 확인할 수 있습니다.
원본 VM을 계속 실행 상태로 유지함으로써
소스 VM의 기존 PVC를 복제한 다음 복제된 PVC를 사용하여 새 VM을 만드는 방식으로 기존 VM을 복제할 수도 있습니다. 이 방법을 사용하면 소스 VM을 종료할 필요가 없습니다. VM을 종료하지 않고 복제하려면 다음 단계를 완료하세요.
-
저장소 > 영구 볼륨 클레임으로 이동한 다음 소스 VM에 연결된 PVC 옆에 있는 줄임표를 클릭합니다.
-
PVC 복제를 클릭하고 새 PVC에 대한 세부 정보를 제공합니다.

-
그런 다음 복제를 클릭합니다. 이렇게 하면 새 VM에 대한 PVC가 생성됩니다.
-
워크로드 > 가상화 > 가상 머신으로 이동한 후 만들기 > YAML 사용을 클릭합니다.
-
사양 > 템플릿 > 사양 > 볼륨 섹션에서 컨테이너 디스크 대신 복제된 PVC를 첨부합니다. 귀하의 요구 사항에 따라 새 VM에 대한 다른 모든 세부 정보를 제공합니다.
- name: rootdisk
persistentVolumeClaim:
claimName: rhel8-short-frog-rootdisk-28dvb-clone
-
새로운 VM을 만들려면 만들기를 클릭하세요.
-
VM이 성공적으로 생성된 후 새 VM에 액세스하여 소스 VM의 복제본인지 확인합니다.