Советы и инструменты для мониторинга Microsoft Hyper-V

Основные преимущества аппаратной виртуализации включают логическую изоляцию и рациональное использование ресурсов. При использовании Microsoft Hyper-V важно отслеживать использование аппаратных ресурсов виртуальными машинами и физическими серверами Hyper-V. Недостаточное или избыточное выделение ресурсов для ВМ может привести к снижению производительности ВМ или оказать влияние на производительность других ВМ и всей среды. В этом блоге рассматриваются советы по мониторингу Hyper-V и нативные инструменты мониторинга Hyper-V, доступные вам бесплатно.

Зачем нужен мониторинг производительности Hyper-V?

Мониторинг ресурсов Hyper-V позволяет выявлять узкие места и управлять ресурсами для оптимизации производительности. Путем мониторинга производительности Hyper-V вы просматриваете статистику о ресурсах, которая помогает вам принимать решения по вопросам, таким как: выделение дополнительных ресурсов на текущем хосте Hyper-V, переконфигурация программного обеспечения на ВМ или миграция ВМ на другой хост Hyper-V. Обратите внимание, что SNMP (Простой Протокол Управления Сетью) устарел для мониторинга хостов Hyper-V.

Если вы обнаружили низкую производительность ВМ, используйте следующие вопросы, чтобы сузить возможные причины:

  1. Достаточно ли ресурсов выделено для ВМ, работающей на хосте Hyper-V?
  2. Достаточно ли свободных аппаратных ресурсов на хосте Hyper-V?
  3. Существуют ли проблемы с производительностью на одной ВМ или на нескольких ВМ?

К счастью, у Hyper-V есть несколько бесплатных встроенных инструментов для мониторинга производительности и потребления ресурсов, начиная с графического интерфейса Hyper-V Manager. Если вы хотите автоматизировать миграцию ВМ между хостами Hyper-V для балансировки нагрузки, есть базовая функциональность для этого внутри кластера. Имейте в виду, что если вы используете кластер Hyper-V, вам понадобится SCVMM (System Center Virtual Machine Manager), который является платным решением, для автоматической миграции ВМ для оптимизации использования ресурсов серверов Hyper-V и выполнения балансировки нагрузки. Мониторинг репликации Hyper-V также может быть выполнен в SCVMM.

Не используйте диспетчер задач Windows для мониторинга ресурсов внутри ВМ

Открытие Диспетчера задач является быстрым и простым способом просмотра производительности и использования ресурсов на физических компьютерах под управлением Windows. Однако не используйте Диспетчер задач Windows для мониторинга производительности внутри ВМ. Диспетчер задач Windows не отображает реальное использование ЦП и памяти виртуальной машиной. Это связано с тем, что Диспетчер задач не определяет машины как виртуальные и не может знать, как ресурсы предоставлены ВМ. Используйте Диспетчер задач для мониторинга запущенных процессов, служб и приложений, но не для мониторинга производительности внутри ВМ.

Используйте Монитор Производительности на хосте Hyper-V

Используйте Монитор Производительности (perfmon) на хосте Hyper-V и соответствующие счетчики для мониторинга использования процессора, памяти, интерфейса, физического диска и другого оборудования. Утилита perfmon широко используется для устранения неполадок производительности в системах Windows.

Запустите perfmon в диалоговом окне run или найдите Диспетчер производительности в окне Управление компьютером, добавьте необходимые счетчики и отслеживайте статистику в графическом пользовательском интерфейсе (GUI). Собранная информация может быть отображена в виде диаграмм, графиков и диаграмм.

Также может быть полезно открыть Ресурсный монитор на хосте Hyper-V (resmon.exe).

Использование счетчиков для Hyper-V

Диспетчер производительности может предоставлять некорректную информацию для виртуальных машин, работающих на хосте Hyper-V, потому что стандартные (обычные) счетчики не приспособлены для мониторинга виртуальных машин. Предположим, что физический компьютер, работающий под управлением Hyper-V, имеет процессор с четырьмя ядрами, и на хосте Hyper-V находятся две виртуальные машины. Для первой виртуальной машины выделены четыре виртуальных процессора. На первой виртуальной машине работает приложение, загружающее четыре виртуальных процессора на 100%, и использует все ресурсы процессора на физическом хосте Hyper-V.

В то же время вы запускаете вторую виртуальную машину на этом хосте Hyper-V, которая имеет ту же конфигурацию виртуальных устройств и запускает то же самое приложение. Внутри обеих виртуальных машин вы видите информацию, что процессоры каждой виртуальной машины загружены на 100%. Однако приложения в каждой виртуальной машине работают на 50% от скорости по сравнению с первым случаем, когда работала только одна виртуальная машина (если вы откроете Диспетчер задач или Диспетчер производительности внутри виртуальных машин). Информация о памяти отображается аналогично, если включена динамическая память.

Используйте специфические для Hyper-V счетчики в Диспетчере производительности на хосте Hyper-V для мониторинга ресурсов на этом хосте Hyper-V. Счетчики Hyper-V отображают наиболее точную информацию для мониторинга производительности Hyper-V.

Производительность процессора

Используйте этот счётчик для мониторинга производительности физического процессора на хосте Hyper-V: Общее время выполнения логического процессора гипервизора Hyper-V

Счётчик для мониторинга производительности виртуальных процессоров ВМ: Время выполнения гостевого процессора гипервизора Hyper-V

  • Оптимальная производительность достигается, когда значение счётчика для запущенной ВМ составляет 75% или менее.
  • A value in the 75 – 85% range is a warning.
  • При значении выше 85% рекомендуется исследовать причину такого высокого использования ЦП.

Счётчик для мониторинга использования корневого виртуального процессора: \Общее время выполнения корневого виртуального процессора гипервизора Hyper-V(*)

Использование памяти

Существует несколько счётчиков для мониторинга Hyper-V и проверки использования оперативной памяти.

Счётчик Доступно байт памяти (Мб) на хосте Hyper-V используется для мониторинга использования памяти.

  • Более 10% свободной ОЗУ – Здорово
  • Менее 10% свободной ОЗУ – Предупреждение
  • Менее 100 МБ свободной ОЗУ – Критическое

Используйте счётчик Занято байтами памяти для проверки, сколько памяти используют ВМ, чтобы определить, сколько памяти должно быть выделено для каждой ВМ.

Используйте счётчик \Среднее давление динамической памяти Hyper-V для мониторинга динамической памяти.

  • Менее 80% – Здорово
  • Более 80% – Предупреждение
  • 100% – Критическое

Задержка диска

Используйте счетчики \LogicalDisk(*)\Average Disk Sec\Read or Write для мониторинга задержки диска, которая важна для общей производительности виртуальных машин, работающих на Hyper-V.

  • <10 мс (0,010 с) – ОК
  • >15 мс (0,015 с) – Предупреждение
  • >25 мс (0,025 с) – Критическое

Сеть

Используйте счетчик \Network Interface (*)\OutputQueue Length, чтобы контролировать использование сети, то есть он измеряет количество сетевых пакетов в выходной очереди пакетов.

  • Меньше 1 в среднем – Здорово
  • Больше 1 в среднем – Предупреждение
  • Больше 2 в среднем – Критическое

Также рассмотрите использование следующих счетчиков:

Network Interface (название сетевого адаптера)\Bytes/sec

Hyper-V Virtual Network Adapter (имя виртуальной машины)\Bytes/sec

Обеспечьте достаточное количество памяти для виртуальных машин

Каждая машина требует достаточного количества памяти для нормальной работы, в противном случае производительность снижается, интенсивно используется файл подкачки (если настроен), и диск перегружен. Кроме того, файлы подкачки работают медленнее, чем ОЗУ. Если операционная система и приложение потребляют около 12 ГБ физической памяти, установите 16 ГБ ОЗУ на компьютер. Используйте тот же подход для выделения памяти для виртуальной машины. Например, если программное обеспечение, работающее на виртуальной машине, потребляет 6 ГБ ОЗУ, предоставьте 8 ГБ ОЗУ для виртуальной машины. Предоставьте как минимум 20% дополнительной памяти для нормальной работы. Рекомендуется предоставить дополнительную память в качестве буфера.

Используйте просмотр событий для мониторинга журналов

Используйте Просмотр событий для мониторинга журналов на хостах Hyper-V и гостевых ВМ, что полезно для устранения неполадок. Просмотр и анализ журналов, таких как системные события и события приложений, могут помочь определить проблемы и найти правильное решение для их устранения. Просмотр событий показывает журналы ошибок, связанные с приложениями, и работает на уровне операционной системы. Чтобы открыть Просмотр событий, сначала откройте Управление компьютером.

Журналы Hyper-V находятся в:

Просмотр событий > Журналы приложений и служб > Microsoft > Windows

Вот категории журналов Hyper-V в Просмотре событий:

  • Hyper-V-Compute
  • Hyper-V-Config
  • Hyper-V-Guest-Drivers
  • Hyper-V Hypervisor
  • Hyper-V-StorageVSP
  • Hyper-V-VID
  • Hyper-V-VMMS
  • Hyper-V-VmSwitch
  • Hyper-V-Worker

В Управлении компьютером можно управлять службами Windows. Рекомендуется отслеживать следующие службы Hyper-V:

  • Служба управления образами Hyper-V (vhdsvc)
  • Служба управления виртуальными машинами Hyper-V (vmms)
  • Служба управления сетями Hyper-V (nvspwmi)

Отслеживание ресурсов в PowerShell

Вы можете отслеживать ресурсы хостов и виртуальных машин Hyper-V в PowerShell. Это особенно полезно с операционной системой Windows без графического интерфейса. Используйте специальные командлеты для мониторинга производительности в PowerShell.

Просмотр операционных журналов Hyper-V путем взаимодействия с Журналом событий Windows:

Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *

Эта команда взаимодействует с объектами счётчиков производительности на хосте Hyper-V или гостевой ВМ и позволяет получать данные непосредственно с удаленных или локальных машин с использованием функциональности мониторинга Windows:

Get-Counter

Получите список счётчиков и отсортируйте отображаемые результаты:

Get-Counter -ListSet * |

Сортировать-Объект -Свойство CounterSetName |

Формат-Таблица CounterSetName, CounterSetType -AutoSize

Мониторинг производительности дисков, работающих на нескольких машинах:

$DiskReads = “\LogicalDisk(C:)\Disk Reads/sec”

$DiskReads | Get-Counter -ComputerName Server01, Server02 -MaxSamples 10

Вы можете создавать пользовательские сценарии для мониторинга производительности Hyper-V в PowerShell.

Заключение

Мониторинг Hyper-V помогает определить, связаны ли проблемы с производительностью виртуальных машин с хостами Hyper-V или с гостевыми ВМ. Мониторинг производительности Hyper-V позволяет оптимизировать использование аппаратных ресурсов на хосте Hyper-V. Некоторые инструменты, такие как Диспетчер задач Windows, используемые для мониторинга физических хостов, не подходят для отслеживания производительности ВМ, работающих на Hyper-V. Performance Monitor включает специфические для Hyper-V счетчики, приспособленные для мониторинга ресурсов хостов Hyper-V и ВМ. Вы можете использовать Hyper-V Manager, Журнал событий и Монитор ресурсов, если используете графический интерфейс, и специальные команды в PowerShell, если используете интерфейс командной строки.

Если функциональности встроенных инструментов недостаточно, попробуйте использовать другое программное обеспечение для мониторинга Hyper-V. Мониторинг может помочь оптимизировать производительность Hyper-V, но не может защитить вас от потери данных в случае бедствия. Рассмотрите надежное программное обеспечение для резервного копирования Hyper-V, чтобы защитить ваши данные. Загрузите бесплатную версию от NAKIVO для получения поддержки множества платформ, восстановления после вымогательского программного обеспечения и многое другое.

Source:
https://www.nakivo.com/blog/tips-and-tools-for-microsoft-hyper-v-monitoring/