【问题标题】:How to track the failover history of the virtual machine in a Hyper-V Failover Cluster如何在 Hyper-V 故障转移群集中跟踪虚拟机的故障转移历史记录
【发布时间】:2016-11-14 06:28:09
【问题描述】:

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

问候,
迪内什·拉马林甘

【问题讨论】:

    标签: powershell hyper-v failover failovercluster


    【解决方案1】:

    我不确定是否有任何事件被驱动来跟踪这一点。过去,我使用 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

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回复。我们可以安排进程以固定的时间间隔查找当前所有者节点,但问题是,如果虚拟机在下一个计划之前来回迁移怎么办。还有,如果我执行您在一个节点中指定的进程,如果该节点出现故障怎么办。我将失去往绩记录
    • 执行实时迁移时,我能够在虚拟机的事件查看器中获取事件详细信息,但无法在事件查看器中获取事件详细信息以进行快速迁移。为什么会这样?
    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2017-08-31
    • 2020-02-14
    • 2020-06-16
    • 1970-01-01
    • 2021-02-15
    相关资源
    最近更新 更多