在 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。
目标
在本教程中,您将学习如何:
- 在 Oracle Linux Automation Manager 中创建调查
- 使用 Oracle Linux Automation Manager 自动将 VM 迁移到 Oracle Linux Virtualization Manager
先决条件
- 安装了 Oracle Linux Automation Manager 的系统
- 现有 Oracle Linux Virtualization Manager 环境
- Oracle Linux Automation Manager 计算机应能够使用 SSH 连接到 VMware 和 Oracle Linux Virtualization Manager 环境
- 您需要按照博客中的说明下载 VMware 虚拟磁盘开发库 (Virtual Disk Development Libraries,VDK) 并将其传输到 KVM 主机
- 创建包含 VMware Ansible Collections 的定制执行环境
设置资源
身份证明
创建包括对播放簿运行 virt-v2v
的 KVM 主机的 root 访问权限的计算机身份证明。
输入 VMware VCenter 的管理级别凭证,以允许在 VMware 环境中关闭 VM。
产品清单
定位至资源、库存,然后在单击添加按钮后选择添加库存选项。创建清单后,添加包含 KVM 主机的 FQDN 或 IP 地址的主机。
项目
创建新项目或使用现有手动项目或基于 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 和 Builder Utility 教程。
模板
接下来,我们需要使用上面创建的所有资源创建一个模板。选择 KVM 主机清单、KVM 主机计算机和 VMware VCenter 身份证明、包含 VMware 集合的新执行环境以及迁移手册。
通过增加模板详细程度设置,可以在迁移过程中获得更详细的输出。
调查
调查为剧本设置了额外的变量,类似于“Prompt for Extra Variables”的作用,但以用户友好的问答方式,同时还允许用户输入验证。
从 Template(模板)面板中,单击 Survey(调查)选项卡。然后单击添加按钮以创建新调查。
此时将显示一个类似的对话框,您可以在其中填写必需参数。
同样,为剧本中使用的每个额外变量创建调查。
问题 | 答案变量名称 | 解答类型 |
---|---|---|
要迁移的 VM 的名称是什么 | vm_name | Text |
输入 Vsphere 用户的名称 | vcenter_user | Text |
输入 VMware Adnin 密码 | vmware_password | 密码 |
源数据中心名称,来自 VMware | vmware_dc | Text |
VMware 中的集群名称 | vmware_cl | Text |
运行 VM 的 ESX 主机的 IP/FQDN | esx_host | Text |
VCenter 的 IP/FQDN | vcenter_host | Text |
输入 OLVM 的 FQDN | olvm_fqdn | Text |
从 OLVM 输入目标存储域 | olvm_storagedomain | Text |
从 OLVM 输入集群名称 | olvm_cluster | Text |
从 OLVM 输入网络名称 | olvm_network | Text |
输入 OLVM 的管理员口令 | olvm_password | 密码 |
创建调查后,单击启动图标,将显示一个对话框,其中包含已创建的问题。
使用有关环境的特定详细信息填充调查后,单击“下一步”并启动模板。
后续步骤
此 blog 帖子详细介绍了如何将 VM 从 VMware 迁移到 Oracle Linux Virtualization Manager。上面的教程有助于用户不必登录到 KVM 主机,并为每次迁移手动输入值,从而减少错误并节省时间。virt-v2v
工具在单独运行时是半自动的,但在此处,我们显示可以使用 Oracle Linux Automation Manager 实现完全自动化的。
相关链接
- Oracle Linux Virtualization Manager:从 VMware vCenter 导入虚拟机
- Oracle Linux Automation Manager 文档
- Oracle Linux Automation Manager 培训
- Oracle Linux Virtualization Manager 文档
- 将 VMware vSphere 迁移到 Oracle Linux KVM
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Automate Using virt-v2v with Oracle Linux Automation Manager
G32003-01
Copyright ©2024, Oracle and/or its affiliates.