虚拟化迁移-P2V_V2V

前言

本文章用于介绍 P2V 和 V2V 迁移的网络以及原理阐述。知道原理才能更好的排查问题以及设计网络架构。

什么是 P2V 和 V2V

  • P2V(Physical to Virtual)

指将一台物理服务器上的操作系统、应用程序及全部数据,完整地迁移到一台虚拟机中的过程。这常用于对老旧物理服务器进行虚拟化改造。

  • V2V(Virtual to Virtual)

指将一个虚拟机从一个虚拟化平台(如 hyper-v、esxi、xen)转换到 kvm 上,或者将 kvm 转换到(hyper-v、esxi、xen)中

转换原理

从技术实现上看,P2V和V2V主要分为两种方式:

1. 在线转换(热迁移)

  • 技术本质:在源系统内部安装一个轻量级的代理程序。该Agent在系统不停机的情况下,与迁移管理端协同工作,将磁盘数据以增量的方式实时同步到目标端,最终通过一个极短的切换窗口完成迁移。
  • 核心流程
    1. 部署Agent:通过SSH、RDP、WMI等协议在源系统部署并启动Agent。
    2. 创建占位虚拟机:在目标虚拟化平台上创建一个精简的、临时性的目标虚拟机。
    3. 迭代数据同步:Agent开始读取源磁盘数据,通过多轮迭代同步(预复制),不断发送脏数据块,以减少最终停机时间。
    4. 切换与系统适配
      • 当数据几乎同步完毕时,短暂暂停源系统,同步最后的脏数据和内存状态。
      • 在目标端的占位虚拟机中,进行关键的系统适配工作:安装目标平台所需的硬件驱动(如KVM的VirtIO驱动)、重新配置引导程序、解决可能的硬件抽象层冲突等。
    5. 启动目标虚拟机,完成迁移。
  • 典型场景virt-p2vvirt-v2vVMware vCenter Converter

2. 离线转换

此方法通常需要源系统关机,或利用快照技术实现短暂停机。

  • 技术本质:将源系统的磁盘存储视为一个静态对象进行处理。通过工具直接访问、转换磁盘文件的格式。
  • 核心流程
    • A. 纯离线转换(完全停机)
      1. 关闭源物理机或虚拟机。
      2. 使用工具(如 qemu-img convert, Starwind V2V Converter)直接读取源磁盘并将其转换为目标虚拟化平台支持的格式(如VMDK, QCOW2, VHD)。
      3. 在目标平台上创建新虚拟机,挂载转换后的磁盘。
      4. 首次启动新虚拟机,并手动安装必要的驱动程序并进行系统配置。

- **B. 短暂停机转换**
    1. 迁移工具(如 `virt-v2v`)连接到运行的源虚拟机(如ESXi上的VM)。
    2. 工具在后台开始同步源虚拟机的磁盘数据到目标端。
    3. 在同步末期,工具在源端创建一个快照,然后继续转换和同步这个快照文件,此时源机可恢复运行。
    4. 最后,短暂暂停源虚拟机,将快照之后产生的增量数据同步到目标端,然后启动目标虚拟机。
    5. 工具会自动处理驱动安装和系统适配。

网络规划

我们以VMware vCenter Converter 为例

主机名 作用 IP 地址
ESXI 虚拟化平台 192.168.200.10
Windows Server 2016 VMware vCenter Converter 192.168.200.11
10.13.107.10
Host 需要迁移的物理机或者虚拟机 10.13.107.22
Standby Agent 占位虚拟机 10.13.107.11
pc01 连接 esxi 观察进度 192.168.200.22

简单说明一下:

在迁移 linux 时要保证下面的需求:

  1. 部署VMware vCenter Converter 的 windows 虚拟机主机需要两张网卡,一张要和 esxi 管理网络在一个段另一张需要和被迁移业务主机在一个段
  2. 确保占位虚拟机和被迁移主机网络要能通信。

在迁移 windows 时要保证下面的需求:

  1. 部署VMware vCenter Converter 的 windows 虚拟机主机需要两张网卡,一张要和 esxi 管理网络在一个段另一张需要和被迁移业务主机在一个段同时。
  2. VMware vCenter Converter 软件要开启网络代理

linux 流量走向

windows 流量走向

windows 和 linux 区别在于 windows 不需要给“小助手”配置网络,数据流量直接通过 windows 2016(VMware vCenter Converter)写入到占位虚拟机(Standby Agent)的磁盘中。数据流量进入 esxi 经过(VMware vCenter Converter)转换直接调用 esxi 的存储 api 写入磁盘中。

实操

前期准备工作

注意:下面所有前期准备工作在迁移完成后记得在被迁移主机和迁移后主机还原配置。

linux 系统

sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
# 编辑 /etc/ssh/sshd_config,注释掉或删除以下类似行:
# AllowUsers someuser@*.*.*.*
sed -i 's/^sshd:.*/# &/' /etc/hosts.deny

windows 系统

# 启用 Administrator 账户
net user Administrator /active:yes
# 为 Administrator 设置密码 (将 YourNewPassword 替换为实际密码)
net user Administrator YourNewPassword
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
# 子项中的AutoShareServer和AutoShareWks DWORD值改为1
# 没有就创建
# 重启LanmanServer 服务

net share
确保:ADMIN$、C$、IPC$都在

软件操作

网上一抓一大把,这里就不过多赘述

posted @ 2025-11-11 16:10  suknna  阅读(23)  评论(0)    收藏  举报