在过去的两个月里,我一直在研究Hyper-V故障转移群集,并且还使用了实时迁移功能以及故障转移群集的所有其他方面。现在我帖子的重点是,是否有任何类型的编程方式(Powershell 脚本或C++ API)来确定虚拟机的故障转移或故障回复历史记录(虚拟机已移动到所有节点中)。根据我的分析,我发现这些与迁移相关的活动将在事件查看器中与 EventID 和必要的详细信息一起出现。但我担心的是通过 powershell 或 C++ API 获得相同的功能。任何帮助都非常感谢。
问候
迪内什·拉马林加姆
我不确定有什么事件驱动来跟踪这一点。过去,我使用 SQL Server 在注册表中查询 VM 以获取其当前主机,然后将其存储在本地日志表中。然后安排它以建立历史记录并跟踪一段时间内的 VM 移动。
如果 VM 运行的是 SQL Server,请执行以下操作:
DECLARE @PhysicalHostName VARCHAR(20)
EXEC master..xp_regread
@rootKey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWAREMicrosoftVirtual MachineGuestParameters',
@value_name = 'PhysicalHostName',
@value = @PhysicalHostName OUTPUT
SELECT
@PhysicalHostName
如果使用SQL Server不是一个选项,是的,PowerShell可用于使用Get-ItemProperty cmdlet访问注册表。
喜欢这个:
Get-ItemProperty -Path "HKLM:SOFTWAREMicrosoftVirtual MachineGuestParameters" -Name PhysicalHostName
如果你走上了PowerShell路线,那么值得一读:https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/working-with-registry-entries
希望这有帮助。