11.6. Open Virtual Appliance (OVA) の移行元プロバイダーからの移行


コマンドラインインターフェイス (CLI) を使用して、移行元のプロバイダーとして VMware vSphere によって作成された Open Virtual Appliance (OVA) ファイルから移行できます。

手順

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

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: ova
        createdForResourceType: providers
    type: Opaque
    stringData:
      url: <nfs_server:/nfs_path> 
    2
    
    EOF
    Copy to Clipboard
    1
    ownerReferences セクションはオプションです。
    2
    ここで、nfs_server は、共有が作成されたサーバーの IP またはホスト名、nfs_path は OVA ファイルが保存されているサーバー上のパスに置き換えます。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: ova
      url:  <nfs_server:/nfs_path> 
    1
    
      secret:
        name: <secret> 
    2
    
        namespace: <namespace>
    EOF
    Copy to Clipboard
    1
    ここで、nfs_server は、共有が作成されたサーバーの IP またはホスト名、nfs_path は OVA ファイルが保存されているサーバー上のパスに置き換えます。
    2
    プロバイダー Secret CR の名前を指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source:
            id: <source_network_id> 
    2
    
        - destination:
            name: <network_attachment_definition> 
    3
    
            namespace: <network_attachment_definition_namespace> 
    4
    
            type: multus
          source:
            id: <source_network_id>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    Copy to Clipboard
    1
    使用できる値は Pod および multus です。
    2
    OVA ネットワーク Universal Unique ID (UUID) を指定します。
    3
    追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
    4
    typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            name:  Dummy storage for source provider <provider_name> 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    Copy to Clipboard
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    OVA の場合、StorageMap は、OVA のすべてのディスクが関連付けられている単一のストレージのみを移行先のストレージクラスにマップできます。このため、ストレージは UI では "Dummy storage for source provider <provider_name>" と呼ばれます。YAML では、引用符なしで上記のフレーズを記述し、<provider_name> をプロバイダーの実際の名前に置き換えます。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    Copy to Clipboard
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
    Copy to Clipboard
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
    spec:
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    2
    
        network: 
    3
    
          name: <network_map> 
    4
    
          namespace: <namespace>
        storage: 
    5
    
          name: <storage_map> 
    6
    
          namespace: <namespace>
      targetNamespace: <target_namespace>
      vms: 
    7
    
        - id: <source_vm1> 
    8
    
        - name: <source_vm2>
          hooks: 
    9
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    10
    
              step: <step> 
    11
    
    EOF
    Copy to Clipboard
    1
    Plan CR の名前を指定します。
    2
    プランごとにネットワークマップとストレージマップを 1 つだけ指定します。
    3
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    4
    NetworkMap CR の名前を指定します。
    5
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    6
    StorageMap CR の名前を指定します。
    7
    id パラメーターまたは name パラメーターのいずれかを使用して、移行元の仮想マシンを指定できます。
    8
    OVA 仮想マシン UUID を指定します。
    9
    オプション: 仮想マシンのフックを最大 2 つ指定できます。各フックは個別の移行ステップで実行する必要があります。
    10
    Hook CR の名前を指定します。
    11
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    Copy to Clipboard
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)

11.6.1. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

移行全体のキャンセル

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    Copy to Clipboard
    1
    Migration CR の名前を指定します。

特定の仮想マシンの移行のキャンセル

  1. Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    2 つの仮想マシンの移行をキャンセルするための YAML の例

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    Copy to Clipboard

    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 残りの仮想マシンの進捗をモニタリングするための Migration CR を取得します。

    $ oc get migration/<migration> -n <namespace> -o yaml
    Copy to Clipboard
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat