Skip to main content
NetApp virtualization solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Red Hat OpenShift Virtualization에서 대체 방법을 통해 ONTAP 스토리지를 사용하여 VM 생성

기여자 banum-netapp

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에 대해 다양한 속성을 지정할 수 있습니다. 동일한 볼륨에서 찍은 다양한 스냅샷에 대해 서로 다른 속성을 가질 수 있습니다.

스냅샷 아키텍처의 VM

예를 보여주세요

필수 조건

PVC의 스냅샷을 생성하려면 먼저 Trident Storage Class에 프로비저닝된 PVC가 연결된 기존 VM이 있어야 하며, VM이 실행 중인 상태여야 합니다. VolumeSnapshot을 생성하는 데 사용할 수 있는 VolumeSnapshotClass가 생성되어 있어야 합니다. 이는 OpenShift Virtualization을 설치하기 위한 사전 요구사항의 일부로 생성되었을 것입니다. 자세한 내용은 "VolumeSnapshotClass 구성을 생성하는 3단계"을 참조하십시오.

VM의 스냅샷을 생성하려면 다음 단계를 완료하십시오.

  1. 소스 VM에 연결된 PVC를 식별한 다음 해당 PVC의 스냅샷을 만듭니다. 로 이동 Storage > VolumeSnapshots 볼륨 스냅샷 만들기를 클릭하세요.

  2. 스냅샷을 만들려는 PVC를 선택하고 스냅샷 이름을 입력하거나 기본값을 사용하고 적절한 VolumeSnapshotClass를 선택합니다. 그런 다음 만들기를 클릭합니다.

  3. 이렇게 하면 해당 시점의 PVC 스냅샷이 생성됩니다.

스냅샷 만들기

스냅샷에서 새 VM 생성

  1. 먼저 스냅샷을 새로운 PVC로 복원합니다. 저장소 > 볼륨 스냅샷으로 이동하여 복원하려는 스냅샷 옆에 있는 줄임표를 클릭하고 새 PVC로 복원을 클릭합니다.

  2. 새 PVC의 세부 정보를 입력하고 복원을 클릭합니다. 이렇게 하면 새로운 PVC가 생성됩니다.

새 PVC에 스냅샷 복원

  1. 다음으로, 이 PVC에서 새로운 VM을 만듭니다. 가상화 > 가상 머신으로 이동하여 만들기 > YAML 사용을 클릭합니다.

  2. 사양 > 템플릿 > 사양 > 볼륨 섹션에서 컨테이너 디스크 대신 스냅샷에서 생성된 새 PVC를 지정합니다. 귀하의 요구 사항에 따라 새 VM에 대한 다른 모든 세부 정보를 제공합니다.

- name: rootdisk
  persistentVolumeClaim:
    claimName: rhel8-short-frog-rootdisk-28dvb-snapshot-restore
  1. 새로운 VM을 만들려면 만들기를 클릭하세요.

  2. VM이 성공적으로 생성된 후, 스냅샷이 생성된 시점에 PVC를 사용하여 스냅샷을 생성한 VM과 동일한 상태인지 액세스하여 확인합니다.

OpenShift Virtualization에서 Trident를 사용하여 VM 복제

이 절차에는 Trident CSI 볼륨 복제 기능을 활용하는 것이 포함되어 있어 원본 VM을 종료하여 새 VM을 생성하거나 원본 VM을 계속 실행 상태로 유지할 수 있습니다.

예를 보여주세요

VM 복제

OpenShift에서 기존 VM을 복제하는 작업은 Trident의 Volume CSI 복제 기능을 통해 수행됩니다. CSI 볼륨 클로닝을 사용하면 기존 PVC를 데이터 소스로 사용하여 PV를 복제하여 새로운 PVC를 생성할 수 있습니다. 새로운 PVC가 생성된 후에는 별도의 엔터티로 작동하며 소스 PVC에 대한 링크나 종속성이 없습니다.

VM 복제 아키텍처

CSI 볼륨 클로닝에는 고려해야 할 몇 가지 제한 사항이 있습니다.

  1. 소스 PVC와 대상 PVC는 동일한 프로젝트에 있어야 합니다.

  2. 동일한 스토리지 클래스 내에서 복제가 지원됩니다.

  3. 소스 볼륨과 대상 볼륨이 동일한 VolumeMode 설정을 사용하는 경우에만 복제를 수행할 수 있습니다. 예를 들어, 블록 볼륨은 다른 블록 볼륨에만 복제할 수 있습니다.

OpenShift 클러스터의 VM은 두 가지 방법으로 복제할 수 있습니다.

  1. 소스 VM을 종료하여

  2. 소스 VM을 활성 상태로 유지하여

소스 VM을 종료하여

VM을 종료하여 기존 VM을 복제하는 것은 Trident 의 지원을 받아 구현된 기본 OpenShift 기능입니다. VM을 복제하려면 다음 단계를 완료하세요.

  1. 워크로드 > 가상화 > 가상 머신으로 이동한 다음 복제하려는 가상 머신 옆에 있는 줄임표를 클릭합니다.

  2. 가상 머신 복제를 클릭하고 새 VM에 대한 세부 정보를 제공합니다.

    복제 VM

  3. 가상 머신 복제를 클릭합니다. 그러면 소스 VM이 종료되고 복제 VM 생성이 시작됩니다.

  4. 이 단계가 완료되면 복제된 VM의 콘텐츠에 액세스하여 확인할 수 있습니다.

원본 VM을 계속 실행 상태로 유지함으로써

소스 VM의 기존 PVC를 복제한 다음 복제된 PVC를 사용하여 새 VM을 만드는 방식으로 기존 VM을 복제할 수도 있습니다. 이 방법을 사용하면 소스 VM을 종료할 필요가 없습니다. VM을 종료하지 않고 복제하려면 다음 단계를 완료하세요.

  1. 저장소 > 영구 볼륨 클레임으로 이동한 다음 소스 VM에 연결된 PVC 옆에 있는 줄임표를 클릭합니다.

  2. PVC 복제를 클릭하고 새 PVC에 대한 세부 정보를 제공합니다.

    클론 PVC

  3. 그런 다음 복제를 클릭합니다. 이렇게 하면 새 VM에 대한 PVC가 생성됩니다.

  4. 워크로드 > 가상화 > 가상 머신으로 이동한 후 만들기 > YAML 사용을 클릭합니다.

  5. 사양 > 템플릿 > 사양 > 볼륨 섹션에서 컨테이너 디스크 대신 복제된 PVC를 첨부합니다. 귀하의 요구 사항에 따라 새 VM에 대한 다른 모든 세부 정보를 제공합니다.

- name: rootdisk
  persistentVolumeClaim:
    claimName: rhel8-short-frog-rootdisk-28dvb-clone
  1. 새로운 VM을 만들려면 만들기를 클릭하세요.

  2. VM이 성공적으로 생성된 후 새 VM에 액세스하여 소스 VM의 복제본인지 확인합니다.