这篇关于Hyper-V Live Migration的文章分为两部分。

在第一部分中,我们将讨论以下内容:

  • 什么是实时迁移
  • 动态迁移的类型
  • 每次迁移是如何工作的

在本系列的第2部分中,我们将介绍动态迁移的最佳实践、故障排除步骤和提示。

什么是Hyper-V Live Migration?

Hyper-V Live Migration是在物理Hyper-V服务器之间迁移任何虚拟机的可能性。

Hyper-V Live Migration工作到Hyper-V Server Standalone或Hyper-V Cluster Node,不需要任何停机时间(仅在某些情况下)通过网络。

下载的横幅

Live Migration的最大好处之一是管理员拥有的灵活性,允许他们创建高可用性和容错系统。

Hyper-V Live Migration可以通过手动(独立Hyper-V / Hyper-V故障转移集群)或自动(仅Hyper-V故障转移集群)方法将任何虚拟机从您的Hyper-V节点迁移到另一个节点。不仅Hyper-V之间的虚拟机,而且您的虚拟机的位置到不同的存储/磁盘位置。

要执行这些迁移,可以使用Hyper-V管理器(用于手动迁移)或Hyper-V故障转移集群管理器(手动和自动)。

当您的Hyper-V故障转移集群发生节点故障(或隔离)时,将触发自动Hyper-V Live Migration。在这种情况下,故障节点中的所有虚拟机将使用“最佳可能节点”选项自动迁移到集群中的另一个节点。

Hyper-V Live Migration包含四种类型的迁移:

  • 无共享动态迁移
  • 动态迁移
  • 快速迁移
  • 存储动态迁移

让我们解释一下每种迁移类型。

Shared-Nothing Live Migration仅在独立的Hyper-V管理器中可用,如下所示:

hyper - v动态迁移

下一个映像具有仅在Hyper-V故障转移集群管理器中可用的选项,这些选项仅用于Hyper-V故障转移集群。

hyper - v动态迁移

任何Live Migration选项或类型都有几秒或几毫秒的停机时间,也称为停机时间停电窗口。

这个关闭窗口的持续时间最初取决于我们使用的Live Migration的类型。然后考虑其他因素,包括该关闭窗口的最小或最大时间,以及它对正在运行的虚拟机的影响。

有很多因素会影响动态迁移过程完成所需的时间。

除了每个热迁移类型中详细描述的因素外,虚拟机拥有的内存量——是热迁移(对于Power On VMs)进程完成时间的主要因素。

我们的目标不是展示如何操作,而是更多地说明每个选项是如何工作的,以及用户可以在哪里找到在独立的Hyper-V服务器和Hyper-V集群中使用不同类型迁移的选项。

动态迁移类型

  1. 无共享动态迁移

  2. 此选项仅在独立Hyper-V服务器和非集群虚拟机中可用。

    这种类型迁移的主要特征是可以迁移独立Hyper-V服务器和/或位于非共享存储或存储空间的虚拟机,而不需要在您的虚拟机或虚拟机应用程序上任何停机。

    shared - nothing热迁移可以从本地磁盘迁移到本地磁盘(到另一个Hyper-V),也可以从本地磁盘迁移到iSCSI/NFS卷,甚至集群中的共享存储卷。

    管理员可以将虚拟机迁移到iSCSI/NFS卷,也可以迁移到iSCSI/NFS卷。

    hyper - v动态迁移

    在最后一个选项中,我们有三个选项来迁移虚拟机。

    1. “将虚拟机的数据移动到一个位置”
    2. 该选项将把所有数据迁移到单个位置。

      这意味着,VM配置文件和虚拟磁盘(VHD/X文件)文件将按照默认的Hyper-V文件夹层次结构迁移到特定Hyper-V文件夹(如Virtual Machine文件夹、Virtual Disks文件夹)中的相同位置。

      所有文件将位于同一本地磁盘或任何iSCSI/NAS卷。或者共享的群集卷。

      此选项从源Hyper-V移动虚拟机和所有数据文件。

    3. “通过选择移动物品的位置来移动虚拟机的数据”
    4. 这个选项与上面的选项有一点不同。在此选项中,管理员可以将每个文件迁移到单独的位置/文件夹。

      它不是强制遵循Hyper-V文件夹层次结构,我们可以为每个文件选择不同的位置,甚至在不同的磁盘/卷中。

      和上面一样,这个选项从源Hyper-V移动虚拟机和所有数据文件。

    5. “只移动虚拟机”

      这是这种类型迁移中最简单的选项,我们只迁移虚拟机(配置文件),数据文件(虚拟磁盘)将保留在源Hyper-V中。

      注意:源Hyper-V Server和目标Hyper-V必须有一个共享NFS或其他类型的共享卷。

    无共享的动态迁移过程

    虚拟机状态被目标Hyper-V节点保存并自动获取,然后执行复位使虚拟机联机。

    保存虚拟机的初始状态,并在目标Hyper-V上创建一个新的虚拟机,并通过动态迁移网络复制初始内存状态。

    通过复制在初始复制过程中更改的内存页来复制第二个内存状态。执行第三次将内存页复制到目标Hyper-V Server,并继续此过程,直到虚拟机的最终复制和移动的页面数量相对较小为止。

    最后,在源上,虚拟机暂停,虚拟机和数据的最终状态被移动到目标Hyper-V Server,源虚拟机被删除。

  3. 动态迁移

  4. 此选项仅对处于Power ON状态的虚拟机可用,并且在Hyper-V故障转移集群管理器中,正如其名称所示,这是一次实时迁移,迁移到另一个集群节点时没有停机时间。

    Live Migration是Hyper-V最类似的迁移类型,已知的vMotion来自VMware。

    Live Migration是手动或自动触发的选项,也是最简单的迁移类型。

    动态迁移过程

    热迁移过程首先将所使用的虚拟机状态和内存复制到目标节点。保存虚拟机状态后,虚拟机迁移/移动,目标Hyper-V节点拥有虚拟机的所有权。所有虚拟机事务都是通过网络进行的。

    由于虚拟机状态和内存已经在目标中,这使得整个过程非常快。

    由于这个选项只在Hyper-V集群中可用,因此不需要在存储或卷之间移动任何数据,迁移过程只将虚拟机的内存状态迁移到目标主机。

    注意:迁移所需的时间取决于所使用的网络及其带宽。

    接下来是如何手动使用Live Migration的示例。

    hyper - v动态迁移

    在上面的选项中,如果你选择“选择节点”,我们可以选择运行这个虚拟机的节点,但如果我们选择“最好的节点”,Hyper-V集群将选择最好的Hyper-V来迁移(作为一个规则的例子是一个有更多资源可用的)。

    自动选项仅在Hyper-V集群节点故障或被隔离时触发。Hyper-V集群将自动移动所有在故障节点中运行的虚拟机。

    下一张图片中,我们可以看到当节点故障触发整个进程时(vHyper-V02),整个进程正在运行。

    hyper - v动态迁移

    在上面的映像中,我们注意到使用Live Migration的虚拟机在故障后会自动从节点vHyper-V02迁移。

  5. 快速迁移
  6. 这种类型的迁移仅在Hyper-V故障转移集群管理器中可用。

    Quick Migration与Live Migration类型类似,但仅由用户触发,用户可以选择不同VM文件的目标位置。此外,在快速迁移虚拟机可以收到一个短超时;虚拟机服务的停机时间总是取决于Guest操作系统和应用程序如何处理这些超时时间。

    当使用Quick Migration时,访问虚拟机会出现短暂超时,可能会导致服务中断。中断时间和迁移速度取决于您的网络带宽和使用的应用程序类型。

    “快速迁移”可用于上电虚拟机和下电虚拟机。

    快速迁移过程

    快速迁移过程和实时迁移一样也是一个简单的过程。

    最初,创建一个保存的状态(仅当VM是Power On时),然后将一个副本传输到目标Hyper-V节点。

    由于文件在共享位置或群集卷中,只有符号链接(xml文件)保留在源Hyper-V节点中。

    在目标Hyper-V节点中创建指针符号链接的副本后,该文件的所有权被更改为目标Hyper-V节点。

    最后的任务是:删除源指针符号链接文件并恢复(重置)保存的虚拟机状态。

  7. 存储动态迁移
  8. 使用这种类型的迁移,我们可以选择将虚拟机文件(所有虚拟磁盘文件、配置文件、分页文件、快照文件等)移动到另一个位置。

    虚拟机文件可以迁移到本地磁盘、存储卷或CSV卷,而无需您的虚拟机和虚拟机应用程序停机。

    在迁移非集群虚拟机时,无论虚拟机的位置如何,都可以进行迁移。源卷或目的卷的位置不是必须为NAS/iSCSI卷。

这种类型的存储迁移可以在虚拟机开机时进行。

  • 这是一个使用独立Hyper-V服务器的例子:

hyper - v动态迁移

接下来,为所有文件选择一个目的地,为不同的文件(配置文件、数据文件等)选择不同的位置,或者只为Virtual Disks文件选择新的位置。

  • 这是一个使用故障转移管理的示例:

右键单击虚拟机,进入“虚拟机”菜单,选择“移动”,然后选择“虚拟机存储”。

hyper - v动态迁移

在下一个选项中,从虚拟机中选择所有文件并拖放到目标板中。

注意:虚拟磁盘文件应该存储在“虚拟磁盘”文件夹中。配置和智能分页文件应该存储在Virtual Machines文件夹中。

最后,检查点文件应该保存在快照文件夹中(如果现有虚拟机中没有虚拟机快照,则该文件夹不存在,您可以在目标文件夹中创建一个文件夹,或存储在Virtual Machines文件夹中)。

hyper - v动态迁移

hyper - v动态迁移

存储热迁移流程

这种类型的动态迁移的迁移过程很简单。

由于我们可以通过关闭电源或打开VMs这种类型的迁移来迁移数据文件,因此关闭VMs只是从源文件复制到目标文件并删除源文件。

对于上电虚拟机,完成虚拟磁盘文件(和配置文件)的第一次拷贝。随后,对虚拟磁盘文件进行写和读的同步过程。需要写入的任何数据都写入目标数据文件;另一方面,读取是在源或目标中完成的;这取决于所需数据的位置。

管理中心中的实时迁移选项

在下一张图片中,我们还可以使用新的工具Admin Center来检查是否可以使用Live Migration。

有了Admin Center,可以将非集群虚拟机迁移到独立的Hyper-V,也可以迁移Hyper-V集群虚拟机。

我们甚至可以将一个虚拟机从一个独立的Hyper-V迁移到一个Hyper-V集群,而不需要使用Hyper-V管理器或故障转移集群管理器。

hyper - v动态迁移

导读:

关于不同类型的动态迁移的快速表:

hyper - v动态迁移

注意:使用PowerShell执行动态迁移也是一种选择。我们没有讨论使用PowerShell执行动态迁移,但是使用PowerShell命令—Move-VM或Move-VMStorage也是一个简单的过程。

在本文中,我们讨论了动态迁移及其类型。以及每种迁移类型的工作原理。在本系列博客的下一部分中,我们将讨论实时迁移需要遵循的最佳实践,以及实时迁移需要了解的基本故障排除步骤和技巧。

跟随我们的推特脸谱网为新发布,更新,见解深刻的帖子和更多的Feeds。