虚拟化提供了广泛的优势,包括易于迁移、资源的合理利用、可伸缩性等。因此,那些拥有物理服务器的公司通常希望将其中至少一部分转换为虚拟机。Hyper-V是微软提供的硬件虚拟化平台。今天的博客文章将解释应该转换哪些服务器以及可以用于将物理机转换为Hyper-V虚拟机的工具。阅读以决定哪种工具最适合您的需求。
通用P2V转换功能和建议
将物理计算机转换为虚拟机也称为P2V转换。让我们看看什么情况下不应该转换物理计算机,可能会发生什么问题,以及如何避免可能的问题。
不应转换的物理计算机
在物理服务器上运行的域控制器。最好创建一个新的虚拟机,安装Windows Server操作系统,部署域控制器(DC)角色,将新的DC与您的主DC同步,降级旧的主DC,从Active Directory(AD)站点和服务中移除旧的DC,最后移除旧的域控制器。如果需要使用与物理服务器上的域控制器相同的主机名和IP地址(因为两台服务器不能同时使用相同的名称和IP地址),则再次重复DC迁移过程。将当前正在运行域控制器的物理服务器转换为虚拟机可能会引起问题。
在物理服务器上运行的Exchange Server。与域控制器一样,建议您向Exchange基础架构添加一个新的虚拟服务器,然后在成功迁移后移除物理服务器。对Exchange服务器进行P2V转换可能会降低性能,损坏数据库或引起其他问题。
安装在特殊硬件上的系统。此类系统的示例包括具有SPARC架构的Solaris机器、具有PowerPC架构的macOS服务器等。
可能出现的问题
P2V转换可能会引发一些问题。让我们探讨一些常见问题以及可能发生的原因。
蓝屏(操作系统无法加载)。物理服务器通常连接到RAID控制器的磁盘驱动器。如果您将具有操作系统的磁盘连接到另一台未安装该磁盘控制器驱动程序的机器上,则操作系统将无法正确启动(虚拟机使用与大多数硬件磁盘控制器不同的模拟磁盘控制器)。在这种情况下,Windows操作系统可能会显示蓝屏(蓝色屏幕死机)。看到BSOD 0x0000007B意味着由于系统中缺少磁盘控制器的驱动程序而导致操作系统无法启动。
许可/激活问题。一些公司使用基于特殊硬件标识符(签名)的算法为其软件生成许可密钥。在这种情况下,许可证可用于安装在特定硬件设备上的软件。例如,如果您更换了一些硬件组件,比如主板(换成了具有不同芯片组的另一块主板),那么软件可能需要重新许可或激活。虚拟机使用模拟硬件,与物理硬件差异很大。因此,在进行 P2V 转换后,您可能需要重新激活软件产品。使用 OEM(原始设备制造商)许可的软件转换物理机可能会导致许可/激活问题。
避免问题的建议
备份物理机上的数据。在进一步准备物理服务器进行转换之前,对操作系统使用的磁盘进行完整备份,并备份所有所需文件。例如,如果您意外删除了一个确保操作系统能够加载的至关重要的驱动程序,那么您可以从备份中将操作系统恢复到工作状态。
删除不必要的驱动程序。删除虚拟机不会使用的设备驱动程序。这种方法可以减少导致蓝屏错误的关键错误的可能性。请注意磁盘控制器的驱动程序——删除它们可能会使您的系统无法加载。
预安装Hyper-V集成服务。Hyper-V集成服务是一组驱动程序和应用程序,用于VM的正常工作。在执行P2V迁移之前,在操作系统上安装集成服务。如果无法在物理机上安装集成服务,则将物理机转换为虚拟机。如果您的VM无法加载,请关闭VM的电源,将您的VHD(VHDX)虚拟磁盘挂载到您的Windows系统,并使用PowerShell将集成服务安装到挂载的VHD(VHDX)中。
最后,请记住一些提示:
- 不要同时运行物理机和启用网络的虚拟机(通过将物理服务器转换而成),因为这可能导致网络冲突。
- 在转换之前从物理机中删除未使用的文件并卸载未使用的程序。这样可以节省磁盘空间和转换时间。
- 在转换后测试VM的性能。仅在确保VM的性能足够时才删除物理服务器。
将物理机转换为Hyper-V VM的工具
将物理机转换为Hyper-V VM的两种最流行的免费工具是Microsoft虚拟机转换器(MVMC)和Disk2VHD。
Microsoft虚拟机转换器
MVMC(Microsoft Virtual Machine Converter)由微软开发,用于将整个物理机或 VMware 虚拟机,包括所有磁盘,转换为 Hyper-V 虚拟机。请注意,MVMC 将每个分区转换为单个虚拟磁盘。如果物理服务器的硬盘驱动器有 4 个分区,那么 MVMC 将创建 4 个单独的 VHD 格式虚拟磁盘文件(不支持转换为 VHDX 文件)。因此,在安装新的 Windows 版本(Windows 7 或更高版本)时自动创建的隐藏的 100MB 或 350MB 分区将被转换为单独的虚拟磁盘。
MVMC 必须安装在目标机器(Hyper-V 主机)或第三方 Windows 机器上(在这种情况下称为代理)。即使在目标 Hyper-V 主机上运行转换器,也需要一个具有足够空间的临时目录。不要将 MVMC 安装在将转换为 VM 的物理机器上。物理磁盘的分区被转换为动态 VHD 磁盘(默认情况下),因此,您应该根据已转换的物理服务器上使用的空间,在 Hyper-V 主机上准备充足的空间。
微软提供了一个图形用户界面(GUI)和一个命令行界面(CLI)通过 PowerShell 用于 Microsoft Virtual Machine Converter。使用 GUI 方便,而使用 PowerShell 模块允许批量转换机器的脚本化。
只有运行Windows操作系统的机器才能进行转换。官方支持的版本包括Windows Server 2008和Windows Server 2012。当然,您也可以尝试转换Windows Server 2016和其他Windows版本。不支持Linux和其他操作系统,如FreeBSD、Solaris等。在安装MVMC的机器上需要.NET Framework和BITS (Background Intelligent Transfer Service) Compact Server。
Disk2VHD
Disk2VHD是由Sysinternals开发的免费转换工具,后来被微软收购。这个工具可以将物理磁盘转换为虚拟磁盘,但无法转换整个虚拟机。请注意,在使用Disk2VHD转换磁盘之前,物理服务器上运行的操作系统可能没有准备好在虚拟环境中运行。如果物理磁盘由多个分区组成,这些分区将被创建在一个动态VHD或VHDX虚拟磁盘上(与MVMC转换的分区不同)。您可以选择特定的磁盘分区进行转换。目标虚拟磁盘文件不能位于被转换的卷上。由Bitlocker加密的磁盘卷无法转换。
Disk2VHD 是一个独立的轻量级便携应用程序 – 您无需安装它,只需在 Windows 机器上运行一个 EXE 文件。Disk2VHD 必须在您想要转换以导入到虚拟机的物理服务器上执行。概念是这样的 – 您必须转换磁盘,然后创建一个新的虚拟机,并将虚拟磁盘(VHD 或 VHDX 文件)附加到这个新的虚拟机上。由于 Disk2VHD 在运行的服务器上执行,因此停止所有可能的服务,特别是与数据库相关的服务,以确保您将作为结果的磁盘镜像的数据一致性和应用程序一致性。
Disk2VHD 中提供了 使用卷影复制服务 的选项,但是使用此选项可能不会影响一些正在运行的应用程序。
使用 MVMC 进行 P2V 转换
从 Microsoft 网站 下载虚拟机转换器并安装该应用程序。安装过程很简单,并且之前在 专注于将 VMware VM 转换为 Hyper-V VM 的博文 中已经解释过。确保在作为目标服务器的 Hyper-V 主机上安装了 BITS Compact Server。
在目标主机(安装了 MVMC 的主机)上,转到控制面板>程序和功能>打开或关闭 Windows 功能>添加功能,确保启用 BITS Compact Server 功能。
不要忘记检查防火墙设置以防止连接问题。必须将 Windows 管理工具(WMI)列入允许通过网络进行通信的程序列表。
在这个示例中有两台机器——一个必须转换的物理服务器和一个 Hyper-V 服务器,它是一个目标服务器,可以在其中运行你将作为结果的虚拟机。在目标服务器上运行 Microsoft 虚拟机转换器,并选择物理机转换。点击下一步。
选择要转换的物理机(输入 IP 地址、计算机名或完全限定域名),并输入凭据(具有管理权限)以访问该机器。点击下一步。
注意:在此步骤可能会出现“RPC 服务器不可用”的错误。检查防火墙设置——必须允许 Windows 管理工具(WMI)的连接,如上所示。
您已指定凭据,现在可以扫描系统以收集临时安装在源机器上的小型代理的系统信息。点击扫描系统按钮,等待扫描过程完成,然后点击下一步。
选择要包含在转换中的卷。在此示例中,磁盘上有两个卷。第一个卷(系统保留)是在Windows安装过程中默认创建的,用于引导操作系统。不要忘记选择此卷。您还可以选择VHD虚拟磁盘的配置类型 – 动态或固定。为每个所选卷创建一个单独的VHD文件。单击下一步继续。
设置VM配置。指定新VM的名称、处理器数量和内存量。单击下一步。
选择一个Hyper-V主机作为虚拟机的目的地。请注意,如果目的地服务器上未启用Hyper-V角色,则无法将主机选择为目的地服务器。如果选择Hyper-V主机作为目的地服务器,则可以将localhost输入为目的地服务器地址。如果使用代理,则输入目的地Hyper-V服务器的名称或IP地址,而不是localhost。输入管理账户的凭据,以便访问Hyper-V服务器,或者如果您的账户具有足够权限并且MVMC正在运行于目的地Hyper-V主机上,则选中使用我的Windows用户账户复选框。单击下一步继续。
注意: 如果使用代理,在此步骤可能会遇到“RPC服务器不可用”的错误,其中MVMC正在运行的代理机器无法通过远程过程调用访问目标Hyper-V主机。请尝试以下操作:
- 确保RPC服务正常运行。运行services.msc并检查以下名称的服务:DCOM服务器进程启动器、远程过程调用(RPC)、RPC端点映射器。
- 在Windows防火墙中启用远程协助以允许应用程序通过网络进行通信。
- 检查网络设置中是否启用了文件和打印机共享。
指定一个网络路径来存储转换后的虚拟磁盘。让我们将虚拟磁盘存储在E:\virtual。就像这个例子中一样,MVMC和Hyper-V服务器正在同一台机器上运行,路径为\\localhost\e$\virtual。点击下一步。
在运行虚拟机转换器的机器上选择一个临时位置,例如E:\virtual。如果在目标Hyper-V主机上运行MVMC,则可以使用在上一步中指定的相同目录来存储虚拟磁盘文件。转换完成后,这些临时文件将被删除。
为要连接到网络的每个虚拟网络适配器选择虚拟交换机。在启动目标虚拟机之前,请确保关闭源物理机(或断开网络连接),以防止网络冲突。您还可以选择未连接选项,然后在转换后手动配置虚拟机的网络连接。
检查您指定的详细信息,然后点击完成开始转换。
等待转换完成。
注意: 如果您遇到错误“\\comp_name\root\microsoft\bits 命名空间在服务器 comp_name 上不存在”,请验证目标服务器上是否安装了 BITS Compact Server。
在转换磁盘阶段,物理磁盘上的卷被转换为虚拟磁盘。这些转换后的虚拟磁盘存储在您指定的临时目录中。在该目录中创建一个子目录/MVMC/0(1,2,3 等)。在复制磁盘阶段,创建的文件从临时目录(在此示例中为E:\virtual\MVMC\0)复制到您指定为网络路径的目标目录(在本例中为E:\virtual\Server2012-converted)。如果您使用经纪人,则此方法很有用。如果您不使用经纪人,就像本例中一样,目标 Hyper-V 服务器和 MVMC 在同一台计算机上运行,则此方法不实用,因为它会导致您在将文件从临时目录复制到目标目录时浪费时间。在下面的屏幕截图中,您可以看到两个目录中的 VHD 文件是相同的。
转换过程完成后,您的 VM 将出现在 Hyper-V 管理器中。您可以检查 VM 设置并运行 VM。请注意,在转换后,VM 内存被配置为固定的。如果要使用动态内存和 VLAN 标记,您应该手动配置这些设置。
使用 Disk2VHD 进行 P2V 转换
从微软网站使用这个链接下载Disk2VHD。从下载的zip压缩包中提取disk2vhd.exe文件。将disk2vhd.exe文件复制到您要转换磁盘的物理机器上,然后运行Disk2VHD。您还可以找到包含简明用户手册的Disk2vhd.chm文件。
该应用程序的界面简单易用。勾选您想要转换的磁盘卷旁边的复选框。输入目标路径以存储虚拟磁盘文件。在本示例中,使用映射为磁盘S:的网络SMB(CIFS)共享。您也可以使用外部USB HDD。不要将要转换的分区用作VHD(VHDX)文件的目标位置。与MVMC不同,Disk2VHD支持更为先进的Hyper-V虚拟磁盘的VHDX格式。勾选使用Vhdx框。勾选使用卷影复制框以防止由于源机器在转换期间运行而导致的数据和事务不一致。手动停止所有可停止的服务,然后单击创建按钮以开始转换过程。
等待转换完成。Disk2VHD可以将同一物理磁盘的所有卷转换为单个VHD或VHDX文件。在当前示例中,与前一个示例中使用MVMC转换的相同物理机(带有一个物理磁盘上的两个卷)正在转换。
将转换后的磁盘导入到虚拟机
现在,您需要在 Hyper-V 服务器上手动创建新虚拟机,并将 Disk2VHD 实用工具创建的虚拟磁盘导入到虚拟机中。在《创建新的 Hyper-V VM》博客文章中解释了创建新虚拟机的过程。如果源物理机在 BIOS 模式下运行,请为您的 VM 选择 Generation 1。如果源机器工作在 UEFI 模式下,您可以选择 Generation 2。虚拟内存的量 shouldn’t 少于物理服务器上的,但是您可以使用动态内存。在 Network 部分中,您可以选择虚拟交换机来建立网络连接。如果您不想重新配置 VM 网络设置以及相关机器和应用程序的网络设置,可以使用虚拟交换机的桥接模式。
关键是连接虚拟磁盘。在 Connect Virtual Hard Disk 部分中,请选择 Use an existing virtual hard disk 选项。如果您有多个虚拟磁盘文件,可以在创建新 VM 后在 VM 设置中添加它们(右键点击 VM,点击 Settings,选择磁盘控制器,选择硬盘,点击 Add 按钮,然后选择虚拟磁盘文件)。
创建新 VM 完成后,您可以启动 VM。操作系统将检测新设备,并要求您重新启动。您应该在 VM 上安装 Hyper-V Integration Services。
结论
转换物理机到 Hyper-V 虚拟机有两种方法——使用 Microsoft Virtual Machine Converter 或 Disk2VHD。这两个工具仅适用于 Windows 系统。
如果满足要求并且源机器上的操作系统在受支持的操作系统列表中,则使用 Microsoft Virtual Machine Converter 来转换物理机是个不错的选择。配置 MVMC 并不困难,但容易出错。只支持虚拟磁盘的 VHD 格式。为了转换,需要一个临时目录,其剩余空间量等于源磁盘上的已使用空间。尽管有限制,但最终会得到一个准备好的虚拟机。
Disk2VHD 具有更简单的界面,选项较少,但您可以使用该工具来转换 MVMC 不支持的操作系统的物理磁盘。Disk2VHD 支持虚拟磁盘的 VHDX 格式,而 MVMC 不支持。您必须手动创建一个新的虚拟机,并将转换后创建的虚拟磁盘连接到虚拟机。
当您将物理机转换为虚拟机后,您可以发现虚拟化的优势。别忘了使用 NAKIVO Backup & Replication 备份您的虚拟机!
Source:
https://www.nakivo.com/blog/convert-physical-machine-hyper-v-vm/