第5章 コマンドラインからの仮想マシンの移行


コマンドラインから仮想マシンを OpenShift Virtualization に移行できます。

重要

5.1. 仮想マシンの移行

MTV カスタムリソース (CR) を作成して、仮想マシン (VM) をコマンドライン (CLI) から移行します。

重要

クラスタースコープの CR の名前を指定する必要があります。

namespace スコープの CR の名前と namespace の両方を指定する必要があります。

テクノロジープレビューとして、MTV は OpenStack ソースプロバイダーを使用した移行をサポートします。

重要

OpenStack ソースプロバイダーを使用した移行は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能により、近日発表予定の製品機能をリリースに先駆けてご提供でき、お客様は開発プロセス時に機能をテストして、フィードバックをお寄せいただくことができます。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

注記

OpenStack ソースプロバイダーを使用した移行では、Cinder ボリュームのみを使用する VM のみがサポートされます。

前提条件

  • VMware のみ: すべてのクラスターがアクセスできるセキュアなレジストリーに VMware Virtual Disk Development Kit (VDDK) イメージを用意しておく。

手順

  1. ソースプロバイダーの認証情報の Secret マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    ownerReferences セクションはオプションです。
    2
    ソースプロバイダーのタイプを指定します。使用できる値は、ovirtvsphere、および 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、RHV の場合は https://<engine_host>/ovirt-engine/api/、OpenStack の場合は https://<identity_service>/v3 です。
    11
    VMware のみ: vCenter SHA-1 フィンガープリントを指定します。
  2. ソースプロバイダーの Provider マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    使用できる値は、ovirtvsphere、および openstack です。
    2
    API エンドポイント URL を指定します。たとえば、vSphere の場合は https://<vCenter_host>/sdk、RHV の場合は https://<engine_host>/ovirt-engine/api/、OpenStack の場合は https://<identity_service>/v3 です。
    3
    VMware のみ: 作成した VDDK イメージを指定します。
    4
    プロバイダー Secret CR の名前を指定します。
  3. VMware のみ: Host マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    VMware の Provider CR の名前を指定します。
    2
    VMware ホストの 管理対象オブジェクト参照 (MOR) を指定します。
    3
    VMware 移行ネットワークの IP アドレスを指定します。
  4. 移行元および宛先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $  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
    1
    使用できる値は Pod および multus です。
    2
    id パラメーター または name パラメーターのいずれかを使用して、ソースネットワークを指定することができます。
    3
    VMware ネットワーク MOR、RHV ネットワーク UUID、または OpenStack ネットワーク UUID を指定します。
    4
    追加の OpenShift Virtualization ネットワークごとにネットワーク接続定義を指定します。
    5
    OpenShift Virtualization ネットワーク割り当て定義の namespace を指定します。
  5. StorageMap マニフェストを作成し、ソースおよび宛先ストレージをマッピングします。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    VMware データストレージ MOR、RHV ストレージドメイン UUID、または OpenStack volume_type UUID を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。
  6. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に VM でカスタムコードを実行します。

    Copy to Clipboard Toggle word wrap
    $  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
    1
    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。
    2
    オプション: base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、imagehook-runner である必要があります。
  7. 移行の Plan マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    Plan CR の名前を指定します。
    2
    移行がウォームまたはコールドであるかどうかを指定します。Migration CR マニフェストで cutover パラメーターの値を指定せずにウォーム移行を指定する場合は、プレコピー段階のみが実行されます。
    3
    複数のネットワークマッピングを追加することができます。
    4
    NetworkMap CR の名前を指定します。
    5
    StorageMap CR の名前を指定します。
    6
    id パラメーター または name パラメーターのいずれかを使用して、ソース仮想マシンを指定することができます。
    7
    VMware VM MOR、RHV VM UUID、または OpenStack VM UUID を指定します。
    8
    オプション: 仮想マシンのフックを最大 2 つ指定できます。各フックは個別の移行ステップで実行する必要があります。
    9
    Hook CR の名前を指定します。
    10
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
  8. Plan CR を実行するための Migration マニフェストを作成します。

    Copy to Clipboard Toggle word wrap
    $ 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
    1
    Migration CR の名前を指定します。
    2
    実行している Plan CR の名前を指定します。Migration CR は、移行される VM ごとに VirtualMachine CR を作成します。
    3
    オプション: 2021-04-04T01:23:45.678+09:00 などの UTC 時間オフセットで、ISO 8601 形式に応じたカットオーバー時間を指定します。

    複数の Migration CR を単一の Plan CR に関連付けることができます。移行が完了しない場合は、Plan CR を変更せずに新規 Migration CR を作成して残りの仮想マシンを移行できます。

  9. 移行の進捗をモニタリングするための Migration CR を取得します。

    Copy to Clipboard Toggle word wrap
    $ oc get migration/<migration> -n openshift-mtv -o yaml
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.