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

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

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


person Dinesh Ramalingam    schedule 12.07.2016    source источник


Ответы (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

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

person Paul Andrew    schedule 12.07.2016
comment
Спасибо за ваш ответ. Мы можем запланировать процесс поиска текущего узла владельца через регулярные промежутки времени, но проблема в том, что что, если виртуальные машины мигрируют туда и обратно до следующего расписания. А также, если я выполню указанный вами процесс в одном узле, и что, если этот узел выйдет из строя. Я потеряю послужной список - person Dinesh Ramalingam; 13.07.2016
comment
Мне удалось получить сведения о событии в средстве просмотра событий для виртуальной машины при выполнении динамической миграции, но не удалось получить сведения о событии в средстве просмотра событий для быстрой миграции. почему это? - person Dinesh Ramalingam; 25.07.2016