在Hyper-V早期版本中,Hyper-V就具有克隆虚拟机(VM)的功能―导出―导入,但是最初实时克隆功能看起来并不是那么重要。但是,在一些情况下实时克隆功能会提供很大帮助。比如,你有一台web服务器,想要扩展服务器上运行的web应用。但是不能让这台服务器停机以进行复制,之后在另外一台服务器上运行虚拟机。而现在,你可以仅仅克隆运行状态的web服务器,之后在另外一台主机服务器上运行复制的虚拟机来改善应用程序可扩展性。
使用Hyper-V克隆功能对于排错也可以提供很大帮助。如果一台运行关键业务的虚拟机发生问题,你肯定不希望关闭这台虚拟机来修复问题,或者不想在生产环境虚拟机上进行实验和排错。现在,你可以对虚拟机进行克隆,在实验室环境中使用克隆虚拟机诊断问题,之后将解决方案应用到生产环境虚拟机上。
客户通过虚拟机运行应用程序时,如果应用程序出现问题,客户将面临一个艰难的抉择。是继续凑合使用这样的应用程序,还是要求 IT 重新开始创建并部署负载,并寄希望于类似问题不再发生?是否要将负载关闭以避免未来遇到类似的风险,并让 IT 修复应程序随后才允许最终用户继续使用?在 Windows Server 2012 Hyper-V 中,客户需要关闭虚拟机并进行克隆,这意味着应用程序需要停机,而在 Windows Server 2012 R2 中,情况截然不同了。Windows Server 2012 R2 开始支持一个名为实时克隆的功能。
IT 管理员发起实时克隆,从技术角度来说,发起的是实时导出操作。这一过程中虚拟机依然在运行,而 Hyper-V 会将相应的文件导出到新的目标位置,这一过程中源虚拟机始终处于运行状态。
除了克隆运行中的虚拟机,创建有检查点(快照)的任何虚拟机都能不停机直接导出并克隆。IT 管理员甚至可以从特定检查点创建全新虚拟机。对于由于软件配置变化或未经测试的补丁导致的问题进行排错时这一功能会显得非常有用。
要想使用Hyper-V虚拟机实时克隆这一技术,必须保证运行带 Hyper-V 的 Windows Server 2012 R2或 Hyper-V Server 2012 R2。
在复制一台运行状态的虚拟机之前需要了解一些重要信息。首先,尽管检查点和差分磁盘是保证克隆正常运行的底层技术,但是克隆功能并不能维持磁盘和原始虚拟机之间的对应关系。同样地,在创建克隆时就会消耗和虚拟机同样大小的存储空间。
克隆就是对原始虚拟机的完整复制。这意味着克隆版本将会拥有和原始虚拟机同样的IP地址、机器名、安全标示符和其他配置信息。如果你想要运行一台毫无更改的克隆虚拟机,必须在一个隔离的网段,也不要将克隆的虚拟机放置在和原始虚拟机同一文件夹下以及不要放置在同一台Hyper-V主机中。
为运行状态的虚拟机创建克隆十分简单。首先,打开Hyper-V管理器,右键单击想要克隆的虚拟机,从快捷菜单中选择“导出”命令。
之后,Hyper-V将会提示你输入保存导出复制虚拟机的位置。输入新的虚拟机路径,点击“导出”按钮,Hyper-V就会开始执行导出操作。在Hyper-V管理器的状态栏可以查看导出进度,如图所示。等待克隆完成即可。
Windows Server 2012 R2 提供的导入向导可帮管理员快速可靠地将虚拟机从一台服务器导入另一台。该导入向导可检测并修复超过 40 种不同类型的兼容性问题。管理员无需担心与物理硬件有关的配置问题,例如内存、虚拟交换机,及虚拟处理器。在将虚拟机导入新宿主机时,导入向导可引导管理员通过一系列步骤解决兼容问题。
此外无需先导出虚拟机随后将其导入。管理员可以直接将虚拟机以及相关文件复制到新宿主机,然后使用导入向导指定文件位置。这样即可将虚拟机“注册”到 Hyper-V 并直接使用。如果系统驱动器故障,只要存储虚拟机的驱动器还可使用,就可以恢复虚拟机。通过 Hyper-V 的 Windows PowerShell 模块,这一系列操作还可自动实现,该模块中包含了多个用于导入虚拟机的 cmdlet。
在导入虚拟机时,向导会执行下列操作:
1) 创建虚拟机配置文件的副本。这样可防范宿主机预料外的重启动,例如断电。
2) 验证硬件。虚拟机配置文件中的信息将与新宿主机的硬件进行对比。
3) 编译问题列表。列表中列出了需要重新配置的内容,并将决定向导后续页面的内容。
4) 显示相关页面,一次一个类别。向导找到兼容性问题,帮管理员重新配置虚拟机,使其可用于新宿主机。
5) 删除配置文件的副本。执行完该步骤后,虚拟机就可以启动了。
要使用导入向导,需满足下列要求:
1) 两台装有带 Hyper-V 的 Windows Server 2012 R2 或 Hyper-V Server 2012 R2 的计算机。
2) 一台计算机的处理器必须支持硬件虚拟化。
3) 一个虚拟机。
4) 隶属于本地 Hyper-V Administrators 组的用户账户。
登陆Hyper-V主机“BJ-VMHost-02”,打开Hyper-V管理器,右侧操作区域选择“导入虚拟机”
导入虚拟机向导页面,选择导入的虚拟机的文件夹,点击下一步
选择要导入的虚拟机。点击下一步
选择导入类型页面,这里选择第一种。微软提供了三种方式:
1) 就地注册虚拟机(使用现有的唯一ID)(R)
表示使用导入文件夹内的虚拟机,路径和原来导入的虚拟机路径相同,唯一ID不变
2) 还原虚拟机(使用现有的唯一虚拟机)(S)
表示复制导入文件夹内的虚拟机,可以指定导入不同的路径,唯一IS不变
3) 复制虚拟机(创建新的唯一ID)(O)
表示复制导入文件夹内的虚拟机,可指定导入到不同的路径,但是生成新的唯一ID
完成导入页面,确认无误后点击完成
当你导入一台克隆的虚拟机时,创建日期栏将会显示原始虚拟机的创建时间,而不是克隆虚拟机的创建日期。