For the complete documentation index, see llms.txt. This page is also available as Markdown.

Сбор информации о распределении ресурсов процессора хоста между виртуальными машинами

Настоящая статья содержит пошаговую инструкцию для проведения анализа распределения вычислительных ресурсов (vCPU) между виртуальными машинами, работающими под управлением гипервизора KVM.

Отключение запроса пароля для libvirt

Перед запуском диагностических скриптов требуется временно отключить аутентификацию для команд virsh, чтобы исключить интерактивный запрос пароля при выполнении команд на каждом хосте.

  1. Откройте файл конфигурации libvirt на хосте:

sudo vi /etc/libvirt/libvirtd.conf
  1. Найдите параметр auth_unix_rw. По умолчанию VDSM устанавливает для него значение "sasl", что и вызывает запрос пароля. Измените его на:

auth_unix_rw = "none"
  1. Если присутствует строка access_drivers = [ "polkit" ] — закомментируйте её:

# access_drivers = [ "polkit" ]

4. Перезапустите службу libvirt, чтобы изменения вступили в силу:

sudo systemctl restart libvirtd

Сбор диагностической информации

Для получения информации о распределении vCPU необходимо выполнить сбор данных на каждом хосте.

  1. Подсчёт общего количества vCPU

Данная команда определяет суммарное количество виртуальных процессоров, распределённых между всеми виртуальными машинами (включая остановленные) на хосте. Результат сохраняется в файл vcpus_report.txt.

/(total=0; for vm in $(sudo virsh list --all --name | grep -v '^$'); do vcpus=$(sudo virsh dominfo "$vm" 2>/dev/null | grep 'CPU(s)' | awk '{print $2}'); if [[ -n "$vcpus" ]]; then echo "$vm: $vcpus"; ((total+=vcpus)); fi; done; echo "Total vCPUs: $total" ) > vcpus_report.txt

Выполнение диагностического сценария формирует отчёт со следующей информацией:

  • полный перечень всех ВМ (включая остановленные);

  • количество vCPU, выделенных каждой ВМ;

  • суммарное значение распределённых vCPU на хосте.

  1. Анализ привязки vCPU к физическим ядрам

Эта команда формирует отчёт о текущем соответствии виртуальных процессоров запущенных ВМ физическим CPU хоста. Результат записывается в файл result.txt.

Выполнение диагностического сценария формирует отчёт со следующей информацией:

  • для каждой запущенной ВМ — перечень выделенных ей vCPU;

  • для каждого vCPU — идентификатор физического ядра (CPU), на котором он исполняется в текущий момент.

Диагностический анализ собранных данных

Собранные файлы предоставляют следующие возможности для диагностики:

  • vcpus_report.txt — позволяет оценить уровень загрузки хоста по объёму выделенных vCPU и выявить случаи переподписки (overcommit) вычислительных ресурсов;

  • result.txt — даёт представление о характере распределения vCPU по физическим ядрам, помогая обнаружить дисбаланс нагрузки или некорректно настроенную привязку (CPU pinning) и определить загрузку процессора в момент сбора информации.

Last updated