0

在过去的两个月里,我一直在研究 Hyper-V 故障转移集群,并且还使用了实时迁移功能以及故障转移集群的其他所有方面。现在我的帖子的重点是,是否有任何编程方式(powershell 脚本或 C++ API)来确定虚拟机的故障转移或故障回复历史记录(在所有节点中虚拟机已被移动)。根据我的分析,我发现这些迁移相关的活动将在事件查看器中使用 EventID 和必要的详细信息。但我担心的是通过 powershell 或 C++ API 具有相同的功能。非常感谢任何帮助。

问候,
Dinesh Ramalingam

4

1 回答 1

0

我不确定是否有任何事件驱动来跟踪这一点。过去,我使用 SQL Server 查询 VM 的注册表以获取它的当前主机,然后将其存储在本地日志表中。然后安排它建立一个历史记录并随着时间的推移跟踪 VM 的移动。

如果 VM 正在运行 SQL Server,请执行以下操作:

DECLARE @PhysicalHostName VARCHAR(20)

EXEC master..xp_regread 
    @rootKey = 'HKEY_LOCAL_MACHINE',
    @key = 'SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters',
    @value_name = 'PhysicalHostName',
    @value = @PhysicalHostName OUTPUT

SELECT
    @PhysicalHostName

如果不能使用 SQL Server,则可以使用 PowerShell 使用 Get-ItemProperty cmdlet 来访问注册表。

像这样:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters" -Name PhysicalHostName

如果你走上了 PowerShell 路线,这值得一读:https ://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-entries

希望这可以帮助。

于 2016-07-12T10:49:23.390 回答