Как отслеживать историю отработки отказа виртуальной машины в отказоустойчивом кластере Hyper-V

Я работал над отказоустойчивым кластером Hyper-V в течение последних двух месяцев, а также использовал функцию Live Migration и все остальные аспекты отказоустойчивого кластера в отношении его функций. Теперь смысл моего поста заключается в том, существует ли какой-либо программный способ (сценарий powershell или C++ API) для определения истории аварийного переключения или восстановления виртуальной машины (в какие узлы была перемещена виртуальная машина). Проведя анализ, я обнаружил, что эти действия, связанные с миграцией, будут выполняться в средстве просмотра событий с EventID и необходимыми деталями. Но моя задача заключается в том, чтобы сделать это с помощью PowerShell или C++ API. Любая помощь высоко ценится.

С Уважением,
Динеш Рамалингам

1 ответ

Я не уверен ни в каком событии, вызванном этим. В прошлом я использовал SQL Server, чтобы запросить реестр для виртуальной машины, чтобы получить ее текущий хост, а затем сохранить это в локальной таблице журнала. Затем запланируйте это, чтобы создать историю и отслеживать движения виртуальных машин с течением времени.

Если виртуальные машины работают под управлением 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.

Как это:

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

Надеюсь это поможет.

Другие вопросы по тегам