5장. 명령줄에서 가상 머신 마이그레이션


명령줄에서 가상 머신을 OpenShift Virtualization으로 마이그레이션할 수 있습니다.

중요

5.1. 가상 머신 마이그레이션

MTV CR(사용자 정의 리소스)을 생성하여 CLI(명령줄)에서 VM(가상 머신)을 마이그레이션합니다.

중요

클러스터 범위 CR의 이름을 지정해야 합니다.

네임스페이스 범위 CR에 이름과 네임스페이스를 모두 지정해야 합니다.

MTV는 기술 프리뷰로 OpenStack 소스 공급자를 사용하여 마이그레이션을 지원합니다.

중요

OpenStack 소스 공급자를 사용한 마이그레이션은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview/를 참조하십시오.

참고

OpenStack 소스 공급자를 사용한 마이그레이션은 Cinder 볼륨만 사용하는 VM만 지원합니다.

사전 요구 사항

  • VMware만 해당: 모든 클러스터에서 액세스할 수 있는 보안 레지스트리에 VMware VDDK(가상 디스크 개발 키트) 이미지가 있어야 합니다.

절차

  1. 소스 공급자 인증 정보에 대한 Secret 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: openshift-mtv
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: <provider_type> 
    2
    
    type: Opaque
    stringData:
      user: <user> 
    3
    
      password: <password> 
    4
    
      insecureSkipVerify: <true/false> 
    5
    
      domainName: <domain_name> 
    6
    
      projectName: <project_name> 
    7
    
      regionName: <region name> 
    8
    
      cacert: | 
    9
    
        <ca_certificate>
      url: <api_end_point> 
    10
    
      thumbprint: <vcenter_fingerprint> 
    11
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    ownerReferences 섹션은 선택 사항입니다.
    2
    소스 공급자 유형을 지정합니다. 허용되는 값은 ovirt,vsphere, openstack 입니다. 이 레이블은 원격 시스템에 액세스할 때 자격 증명이 올바른지 확인하고 타사 인증서가 지정된 경우 RHV의 경우 Manager CA 인증서를 검색하는 데 필요합니다.
    3
    vCenter 사용자, RHV Manager 사용자 또는 OpenStack 사용자를 지정합니다.
    4
    사용자 암호를 지정합니다.
    5
    인증서 확인을 건너뛰 려면 <true >를 지정합니다. 비보안 마이그레이션을 진행한 다음 인증서가 필요하지 않습니다. 비보안 마이그레이션은 전송된 데이터가 비보안 연결을 통해 전송되고 잠재적으로 민감한 데이터가 노출될 수 있음을 의미합니다. < false> 를 지정하면 인증서를 확인합니다.
    6
    OpenStack만 해당: 도메인 이름을 지정합니다.
    7
    OpenStack만 해당: 프로젝트 이름을 지정합니다.
    8
    OpenStack만 해당: OpenStack 리전의 이름을 지정합니다.
    9
    RHV 및 OpenStack만 해당: RHV의 경우 타사 인증서로 교체되지 않는 한 Manager CA 인증서를 입력합니다. 이 경우 Manager Apache CA 인증서를 입력합니다. Manager CA 인증서를 https://<engine_host>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA 에서 검색할 수 있습니다. OpenStack의 경우 소스 환경 연결에 사용할 CA 인증서를 입력합니다. insecureSkipVerify 가 < true>로 설정된 경우 인증서가 사용되지 않습니다.
    10
    API 엔드 포인트 URL을 지정합니다(예: vSphere의 경우 https://<vCenter_host>/sdk, https://<engine_host>/ovirt-engine/api/api/ for RHV, 또는 OpenStack의 경우 https://<identity_service>/v3).
    11
    VMware만 해당: vCenter SHA-1 지문을 지정합니다.
  2. 소스 공급자에 대한 공급자 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <provider>
      namespace: openshift-mtv
    spec:
      type: <provider_type> 
    1
    
      url: <api_end_point> 
    2
    
      settings:
        vddkInitImage: <registry_route_or_server_path>/vddk:<tag> 
    3
    
      secret:
        name: <secret> 
    4
    
        namespace: openshift-mtv
    EOF
    Copy to Clipboard Toggle word wrap
    1
    허용되는 값은 ovirt,vsphere, openstack 입니다.
    2
    API 엔드 포인트 URL을 지정합니다(예: vSphere의 경우 https://<vCenter_host>/sdk, https://<engine_host>/ovirt-engine/api/api/ for RHV, 또는 OpenStack의 경우 https://<identity_service>/v3).
    3
    VMware만 해당: 생성한 VDDK 이미지를 지정합니다.
    4
    공급자 Secret CR의 이름을 지정합니다.
  3. VMware만 해당: 호스트 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Host
    metadata:
      name: <vmware_host>
      namespace: openshift-mtv
    spec:
      provider:
        namespace: openshift-mtv
        name: <source_provider> 
    1
    
      id: <source_host_mor> 
    2
    
      ipAddress: <source_network_ip> 
    3
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    VMware 공급자 CR의 이름을 지정합니다.
    2
    VMware 호스트의 관리형 오브젝트 참조(MOR)를 지정합니다.
    3
    VMware 마이그레이션 네트워크의 IP 주소를 지정합니다.
  4. 네트워크 맵 매니페스트를 생성하여 소스 및 대상 네트워크를 매핑합니다.

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: openshift-mtv
    spec:
      map:
        - destination:
            name: <pod>
            namespace: openshift-mtv
            type: pod 
    1
    
          source: 
    2
    
            id: <source_network_id> 
    3
    
            name: <source_network_name>
        - destination:
            name: <network_attachment_definition> 
    4
    
            namespace: <network_attachment_definition_namespace> 
    5
    
            type: multus
          source:
            id: <source_network_id>
            name: <source_network_name>
      provider:
        source:
          name: <source_provider>
          namespace: openshift-mtv
        destination:
          name: <destination_cluster>
          namespace: openshift-mtv
    EOF
    Copy to Clipboard Toggle word wrap
    1
    허용되는 값은 Podmultus 입니다.
    2
    id 또는 name 매개변수를 사용하여 소스 네트워크를 지정할 수 있습니다.
    3
    VMware 네트워크 MOR, RHV 네트워크 UUID 또는 OpenStack 네트워크 UUID를 지정합니다.
    4
    각 추가 OpenShift Virtualization 네트워크에 대한 네트워크 연결 정의를 지정합니다.
    5
    OpenShift Virtualization 네트워크 연결 정의의 네임스페이스를 지정합니다.
  5. 소스 및 대상 스토리지를 매핑할 StorageMap 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: openshift-mtv
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            id: <source_datastore> 
    2
    
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode>
          source:
            id: <source_datastore>
      provider:
        source:
          name: <source_provider>
          namespace: openshift-mtv
        destination:
          name: <destination_cluster>
          namespace: openshift-mtv
    EOF
    Copy to Clipboard Toggle word wrap
    1
    허용되는 값은 ReadWriteOnceReadWriteMany 입니다.
    2
    VMware 데이터 스토리지 MOR, RHV 스토리지 도메인 UUID 또는 OpenStack volume_type UUID를 지정합니다. 예를 들어 f2737930-b567-451a-9ceb-2887f6207009 입니다.
  6. 선택 사항: 계획 CR에 지정된 단계에서 VM에서 사용자 정의 코드를 실행하도록 후크 매니페스트를 생성합니다.

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: openshift-mtv
    spec:
      image: quay.io/konveyor/hook-runner 
    1
    
      playbook: | 
    2
    
        LS0tCi0gbmFtZTogTWFpbgogIGhvc3RzOiBsb2NhbGhvc3QKICB0YXNrczoKICAtIG5hbWU6IExv
        YWQgUGxhbgogICAgaW5jbHVkZV92YXJzOgogICAgICBmaWxlOiAiL3RtcC9ob29rL3BsYW4ueW1s
        IgogICAgICBuYW1lOiBwbGFuCiAgLSBuYW1lOiBMb2FkIFdvcmtsb2FkCiAgICBpbmNsdWRlX3Zh
        cnM6CiAgICAgIGZpbGU6ICIvdG1wL2hvb2svd29ya2xvYWQueW1sIgogICAgICBuYW1lOiB3b3Jr
        bG9hZAoK
    EOF
    Copy to Clipboard Toggle word wrap
    1
    기본 hook-runner 이미지를 사용하거나 사용자 정의 이미지를 지정할 수 있습니다. 사용자 정의 이미지를 지정하는 경우 플레이북을 지정할 필요가 없습니다.
    2
    선택사항: base64로 인코딩된 Ansible 플레이북입니다. Playbook을 지정하는 경우 이미지는 hook-runner 여야 합니다.
  7. 마이그레이션에 대한 계획 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: openshift-mtv
    spec:
      warm: true 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: openshift-mtv
        destination:
          name: <destination_cluster>
          namespace: openshift-mtv
      map:
        network: 
    3
    
          name: <network_map> 
    4
    
          namespace: openshift-mtv
        storage:
          name: <storage_map> 
    5
    
          namespace: openshift-mtv
      targetNamespace: openshift-mtv
      vms: 
    6
    
        - id: <source_vm> 
    7
    
        - name: <source_vm>
          hooks: 
    8
    
            - hook:
                namespace: openshift-mtv
                name: <hook> 
    9
    
              step: <step> 
    10
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    Plan CR의 이름을 지정합니다.
    2
    마이그레이션이 웜인지 콜드인지 지정합니다. 마이그레이션 매니페스트에서 cutover 매개변수 값을 지정하지 않고 웜 마이그레이션 을 지정하면 사전 복사 단계만 실행됩니다.
    3
    여러 네트워크 매핑을 추가할 수 있습니다.
    4
    NetworkMap CR의 이름을 지정합니다.
    5
    StorageMap CR의 이름을 지정합니다.
    6
    id 또는 name 매개변수를 사용하여 소스 VM을 지정할 수 있습니다.
    7
    VMware VM MOR, RHV VM UUID 또는 OpenStack VM UUID를 지정합니다.
    8
    선택 사항: VM에 후크를 최대 2개까지 지정할 수 있습니다. 각 후크는 별도의 마이그레이션 단계에서 실행되어야 합니다.
    9
    후크 CR의 이름을 지정합니다.
    10
    허용되는 값은 마이그레이션 계획이 시작되기 전에 PreHook 입니다. 마이그레이션이 완료된 후 PostHook 입니다.
  8. 계획 CR을 실행할 마이그레이션 매니페스트를 생성합니다.

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration> 
    1
    
      namespace: openshift-mtv
    spec:
      plan:
        name: <plan> 
    2
    
        namespace: openshift-mtv
      cutover: <cutover_time> 
    3
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    Migration CR의 이름을 지정합니다.
    2
    실행 중인 Plan CR의 이름을 지정합니다. Migration CR은 마이그레이션된 각 VM에 대한 VirtualMachine CR을 생성합니다.
    3
    선택 사항: UTC 시간 오프셋을 사용하여 ISO 8601 형식에 따라 구분 시간을 지정합니다(예: 2021-04-04T01:23:45.678+09:00 ).

    여러 마이그레이션 CR을 단일 계획 CR과 연결할 수 있습니다. 마이그레이션이 완료되지 않으면 Plan CR을 변경하지 않고 새 Migration CR을 생성하여 나머지 VM을 마이그레이션할 수 있습니다.

  9. Migration CR을 검색하여 마이그레이션의 진행 상황을 모니터링합니다.

    $ oc get migration/<migration> -n openshift-mtv -o yaml
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat