我在 Windows 10 Pro 上运行 Hyper-V。我的开发机器托管在上面。
我正在使用一些使用 WinRT 将所有 Hyper-V 机器备份到 NAS 的 NAS 软件,并且我为 Hyper-V 启用了 CBT。现在它会创建 .mrt 和 .rct 文件。
我希望能够更深入地了解这一点。
如何从安装了 Hyper-V 的 Windows 主机上启用/禁用此 CBT? GUI 中是否有任何 PowerShell 命令或选项?
我知道我可以通过 NAS 软件再次做到这一点。但我想知道如何直接通过 Windows 中的工具做到这一点。
答案1
较新版本的Hyper-V有变更块跟踪内置功能并默认启用。您无法根据本机配置轻松禁用此功能。您可以通过 Win32 / WMI Hyper-V API 等挂接此功能 — 因此您基本上要么使用它,要么不使用它。
它是一种改进的、更强大的 Hyper-V 备份、快照和恢复解决方案,它克服了早期 Hyper-V 版本的许多限制、约束和复杂性或性能问题(具体取决于您的备份操作和规模)。
它有点让我想起“本质上”部分这里提供了关于rdiff
关于基础与增量合并的方式,以便以有效和非浪费的方式为您提供新的匹配或恢复的 VM。
了解它是什么以及它如何工作对于掌握使用它以获得最佳理解和清晰度非常重要。
我已经包括了TechEd 视频链接以了解有关其内部工作原理等的更多详细信息。
我还附上了
Install-Module -Name xHyper-VBackup
这样您就可以开始使用和测试它。
基于 Hyper-V WMI 的备份
从 Windows Server 2016 开始,Hyper-V 开始通过 Hyper-V WMI API 支持备份。此方法仍利用虚拟机内的 VSS 进行备份,但不再在主机操作系统中使用 VSS。相反,参考点和弹性变化跟踪 (RCT) 的组合用于允许开发人员以高效的方式访问有关备份虚拟机的信息nner。此方法比在主机中使用 VSS 更具可扩展性,但它仅适用于 Windows Server 2016 及更高版本。
为了更好地理解这种架构,请参阅此演示文稿:
这里还有一个关于如何使用这些 API 的示例:
与 Windows Server Technical Preview 配合使用,用于测试和开发新的 Hyper-V 备份和恢复 API。此模块不提供支持、保证或担保 - 使用风险由您自行承担。
安装模块
Install-Module -Name xHyper-VBackup
Win32 API
开发人员可以在虚拟硬盘 Win32 API 集上使用
SetVirtualDiskInformation
、GetVirtualDiskInformation
和API,如下所述:QueryChangesVirtualDisk
虚拟硬盘。请注意,要使用这些 API,仍需要使用 Hyper-V WMI 在关联的虚拟机上创建参考点。然后,这些 Win32 API 允许高效访问备份虚拟机的数据。Win32 API 确实有几个限制:
- 它们只能在本地访问
- 不支持从共享虚拟硬盘文件读取数据
- 它们返回与虚拟硬盘内部结构相关的数据地址
更多相关资源
-
virtdisk.h 标头
此标头由虚拟硬盘使用。有关详细信息,请参阅:
- 虚拟硬盘
virtdisk.h
包含以下编程接口:
- 检索有关弹性更改跟踪 (RCT) 所跟踪的虚拟硬盘 (VHD) 指定区域的更改的信息。
- 标识虚拟硬盘 (VHD) 上已由弹性更改跟踪 (RCT) 跟踪到的已更改区域。
- 虚拟硬盘
-
QUERY_CHANGES_VIRTUAL_DISK_RANGE 结构(virtdisk.h)
标识虚拟硬盘 (VHD) 上已由弹性更改跟踪 (RCT) 跟踪到的已更改区域。
要求
最低支持客户端: Windows 10 [仅限桌面应用程序]
最低支持服务器: Windows 服务器 2016
标头:
virtdisk.h