Как отслеживать историю отработки отказа виртуальной машины в отказоустойчивом кластере 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
Надеюсь это поможет.