搭配 Oracle Linux Automation Manager 使用 virt-v2v 自動化

簡介

Oracle Linux Virtualization Manager 是伺服器虛擬化管理平台,可讓您輕鬆部署以設定、監控及管理 Oracle Linux Kernel-based Virtual Machine (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 主機 root 存取權的機器證明資料,此主機手冊會在其中執行 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 HubBuilder Utility 教學課程。

範本

接下來,我們需要使用上面建立的所有資源來建立樣板。選取 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 密碼

建立問卷調查之後,按一下投放圖示,就會出現對話方塊並顯示已建立的問題。

問卷

將環境的特定詳細資料填入意見調查後,按一下「下一步」,然後啟動範本。

接下來的步驟

雖然此部落格主要詳述如何將 VM 從 VMware 移轉至 Oracle Linux Virtualization Manager 的指示。上述教學課程可協助使用者無須登入 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