公司动态
将 VMware vCenter Linux 虚拟机转换为 KVM
virt-v2v工具将虚拟机(VM)包括其磁盘镜像和元数据从外部 hypervisor 转换为使用具有libvirt、Red Hat Virtualization 和 Red Hat OpenStack Platform 管理的 KVM 的 Red Hat Enterprise Linux。本文档提供了将 Linux 虚拟机从 VMware vCenter hypervisor 转换为在 Red Hat Enterprise Linux 7 KVM、Red Hat Enterprise Linux 8 KVM 和 Red Hat Enterprise Linux 9 KVM 上运行的说明。有关virt-v2v工具的概述支持的转换和到其他类型虚拟机转换的链接请参阅 在 RHEL 7、RHEL 8 和 RHEL 9 中使用 virt-v2v 将虚拟机转换为 KVM。在成功完成转换过程后virt-v2v为转换的虚拟机创建一个新的 libvirt 域 XML 文件其名称与原始虚拟机相同。可以使用 libvirt 工具如virt-manager或virsh启动虚拟机。先决条件virt-v2v必须在 Red Hat Enterprise Linux 64 位主机系统上运行。确保在运行转换过程前虚拟机已停止。必须提供以下最小系统资源最小网络速度 1Gbps磁盘空间存储虚拟机的磁盘镜像的足够空间再加上 1 GB根据下表在虚拟机文件系统中有足够的可用空间文件系统最小可用空间root 文件系统100 MB/boot50 MB其它可挂载的文件系统10 MB源虚拟机必须有 100 个或更多可用的索引节点(inode)。如果虚拟机没有足够的可用 inode例如如果它使用 XFS 文件系统并包含大量文件则转换会非常慢或者将失败。流程第 1 步在主机系统上安装virt-v2v软件包及其依赖项Raw# yum install virt-v2v第 2 步要转换 VMware Linux 虚拟机请使用以下命令并将vcenter.example.com/Datacenter/esxi替换为 VMWare vCenter 的路径将guestvm1替换为要转换的虚拟机的名称Raw# virt-v2v -ic vpx://usernamevcenter.example.com/Datacenter/esxi guestvm1备注如果 vpx 用户名包含反斜杠字符如DOMAIN\USER则需要对字符输入 URI 转义DOMAIN%5cUSER.同样数据中心名称中的空格必须使用%20代码输入。有关virt-v2v参数的完整的列表请查看virt-v2v手册页。第 3 步向 VMware vCenter 服务器进行身份验证。连接到 VMware vCenter 服务器需要身份验证。在连接到 VMware vCenter 时virt-v2v支持密码身份验证。可以在转换过程中输入密码也可以使用--password-file选项。备注当 VMware vCenter 服务器没有配置有效的 vCenter CA 证书时例如如果它使用自签名证书则连接到服务器将失败。 在这种情况下通过向连接 URI 中添加?no_verify1来明确禁用证书检查如下所示Raw... -ic vpx://usernamevcenter.example.com/Datacenter/esxi.example.com?no_verify1 ...第 4 步观察转换进度。成功的转换输出类似如下Raw# virt-v2v -ic vpx://usernamevcenter.example.com/Datacenter/esxi?no_verify1 guestvm1 [ 0.0] Opening the source -ic vpx://usernameesx.example.com/Datacenter/esxi [ 1.1] Creating an overlay to protect the source from being modified [ 1.7] Initializing the target [ 1.7] Opening the overlay [ 25.8] Inspecting the overlay [ 30.9] Checking for sufficient free disk space in the guest [ 30.9] Estimating space required on target for each disk [ 30.9] Converting Red Hat Enterprise Linux Server release 5.11 (Tikanga) to run on KVM virt-v2v: This guest has virtio drivers installed. [ 45.4] Mapping filesystem data to avoid copying unused and blank areas [ 45.5] Closing the overlay [ 45.7] Checking if the guest needs BIOS or UEFI to boot [ 45.7] Assigning disks to buses [ 45.7] Copying disk 1/1 to /var/tmp/RHEL 5.11 Server-sda (qcow2) [ 93.0] Creating output metadata [ 93.0] Finished off第 5 步确认虚拟机已正确导入Raw# virsh list --all如果这个命令列出了新的 Linux 虚拟机则表示您已成功转换并导入了虚拟机。引导虚拟机的客户机操作系统并在删除原始虚拟机或迁移活跃的服务前确认其完整的功能。其他资源有关在 RHEL 7 中使用libvirt管理虚拟机的更多信息请参阅 Red Hat Enterprise Linux 7 虚拟化部署和管理指南。有关在 RHEL 8 中使用libvirt管理虚拟机的更多信息请参阅 RHEL 8 配置和管理虚拟化。有关在 RHEL 9 中使用libvirt管理虚拟机的更多信息请参阅 RHEL 9 配置和管理虚拟化。有关使用virt-v2v转换虚拟机的更多信息您可以查看以下文章将 VMware vCenter Linux 虚拟机转换为 KVM将 VMware vCenter Windows 虚拟机转换为 KVM转换 VMware 虚拟机以导入到 Red Hat OpenStack Platform将 VMware 中的虚拟机导出为 OVA 文件并将其导入到 KVM 中将 Xen Linux 虚拟机转换为 KVM另外您可以参考virt-v2v手册页和 virt-v2v 上游文档。