Oracle Linux Automation Managerでのvirt-v2vの使用の自動化

イントロダクション

Oracle Linux Virtualization Managerは、Oracle Linuxカーネルベースの仮想マシン(KVM)環境を構成、監視および管理するために簡単にデプロイできるサーバー仮想化管理プラットフォームです。VMwareなどの他の仮想化ソリューションをすでに利用しており、既存の仮想マシンをVMware環境からOracle Linux Virtualization Managerに移行する場合、virt-v2vという名前のツールを使用できます。

virt-v2vツールをOracleの自動化ソリューションであるOracle Linux Automation Managerと組み合せることができます。これは、移行中の人的介入の必要性を最小限に抑えるのに役立ちます。

Oracle Linux Automation Managerを使用して、VMware環境で実行されている既存のVMからOracle Linux Virtualization Managerへの移行を自動化する方法を確認し、デモンストレーションします。

目的

このチュートリアルでは、次の方法を学習します。

前提条件

リソースの設定

資格証明

KVMホストへのルート・アクセスを含むマシン資格証明を作成し、プレイブックでvirt-v2vを実行します。

マシン資格証明

VMware VCenterの管理レベルの資格証明を入力して、VMware環境でのVMの停止を許可します。

VMware資格証明

インベントリ

「リソース」「在庫」にナビゲートし、「追加」ボタンをクリックした後、「在庫の追加」オプションを選択します。インベントリを作成したら、KVMホストのFQDNまたはIPアドレスを含むホストを追加します。

Project

新規プロジェクトを作成するか、既存の手動またはSCMベースのプロジェクトを使用します。次のプレイブックを作成してプロジェクトに追加します。


- name: Migrating VMs
  hosts: all
  vars:
    vcenter_hostname: '{{ lookup("env","VMWARE_HOST") }}'
    vcenter_username: '{{ lookup("env","VMWARE_USER") }}'
    vcenter_password: '{{ lookup("env","VMWARE_PASSWORD") }}'
  tasks:  
    - name: Set the state of a virtual machine to poweroff
      community.vmware.vmware_guest_powerstate:
         hostname: "{{ vcenter_hostname }}"
         username: "{{ vcenter_username }}"
         password: "{{ vcenter_password }}"
         folder: "/{{ vmware_dc  }}/vm/"
         name: "{{ item }}"
         state: powered-off
      delegate_to: localhost
      register: deploy
      loop: "{{ vm_name.split(',') }}"

    - name: Save OLVM Admin  password
      copy:
        content: "{{ olvm_password }}"
        dest: /tmp/olvm-admin-password
    - name: Save VMware Admin password
      copy:
        content: "{{ vmware_password }}"
        dest: /tmp/vmware-admin-password

    - name: Ensure virt-v2v is installed
      dnf:
       name: virt-v2v
       state: present
       
    - name: Gathering Fingerprint
      shell: "openssl s_client -connect {{ vcenter_host }}:443 2> /dev/null | openssl x509 -in /dev/stdin - fingerprint -shal -noout | grep -oP  '(?<=SHA1 Fingerprint=).*'"
      register: vcenter_thumbprint


    - name: Migrating
      command: "virt-v2v -ic vpx://VSPHERE.LOCAL%5c{{ vcenter_user }}@{{ vcenter_hostname }}/{{ vmware_dc }}/{{ vmware_cl }}/{{ esx_host }}?no_verify=1 -ip /tmp/vmware-admin-password {{ item  }} -io vddk-libdir=/usr/local/vmware-vix-disklib-distrib -it vddk -io vddk-thumbprint={{ vcenter_thumbprint.stdout }} -o rhv-upload -oc https://{{ olvm_fqdn }}/ovirt-engine/api -op /tmp/olvm-admin-password -os {{ olvm_storagedomain }} -of qcow2 -oo rhv-cafile=/root/v2v/ca.pem -oo rhv-direct -oo rhv-cluster={{ olvm_cluster}} --verbose --network {{ olvm_network }}"
      loop: "{{ vm_name.split(',') }}"
      async: 0
      poll: 5
      environment:
          LIBGUESTFS_BACKEND: "direct" 

実行環境

プレイブックの一部には、VMware環境との対話が含まれます。したがって、VMwareコレクションを含むカスタマイズされた実行環境を構築する必要があります。

詳細は、Private Automation Hubおよびビルダー・ユーティリティのチュートリアルを参照してください。

テンプレート

次に、上で作成したすべてのリソースを使用してテンプレートを作成する必要があります。KVMホスト・インベントリ、KVMホスト・マシンおよびVMware VCenter資格証明、VMwareコレクションを含む新しい実行環境、および移行プレイブックを選択します。

テンプレートの詳細設定を増やすことで、移行中により詳細な出力を取得できます。

冗長性

アンケート

サーベイは、プレイブックに追加の変数を設定します。これは、「追加変数のプロンプト」と似ていますが、ユーザーにとってわかりやすい質問と回答の方法で、ユーザー入力の検証も可能にします。

「テンプレート」パネルで、「サーベイ」タブをクリックします。次に、「追加」ボタンをクリックして新しいサーベイを作成します。

必須引数を入力する同様のダイアログ・ボックスが表示されます。

アンケートの質問

同様に、プレイブックで使用される追加変数ごとにサーベイを作成します。

質問 回答変数名 アンサー・タイプ
移行するVMの名前は何ですか vm_name テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
Vsphereユーザーの名前を入力します vcenter_user テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
VMware Adninパスワードを入力します vmware_password パスワード
VMwareからのソース・データ・センター名 vmware_dc テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
VMwareからのクラスタ名 vmware_cl テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
VMが実行されているESXホストのIP/FQDN esx_host テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
VCenterのIP/FQDN vcenter_host テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
OLVMのFQDNを入力します olvm_fqdn テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
OLVMからターゲット・ストレージ・ドメインを入力します olvm_storagedomain テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
OLVMからクラスタ名を入力します olvm_cluster テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
OLVMからネットワーク名を入力します olvm_network テキスト・ボイラープレート、(「ソース・ファイルのフォーマット」プロパティが「テキスト」に設定された)ファイル・リンク・オブジェクト
OLVMの管理パスワードを入力してください olvm_password パスワード

サーベイを作成したら、開始アイコンをクリックすると、質問が作成されたダイアログ・ボックスが表示されます。

アンケート

サーベイに環境に関する具体的な詳細を移入した後、「次」をクリックしてテンプレートを起動します。

次のステップ

このブログでは、VMwareからOracle Linux Virtualization ManagerへのVMの移行方法について詳しく説明しています。前述のチュートリアルでは、ユーザーがKVMホストにログインし、移行ごとに値を手動で入力する必要がなくなる可能性があるため、エラーが減少し、時間が節約されます。virt-v2vツールは、単独で実行すると半自動化されますが、ここでは、Oracle Linux Automation Managerを使用して完全に自動化できることを示しています。

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。