ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопастность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

6 минут чтени€

¬ этой статье поговорим о локализации проблем функционировани€ ESXi/ESX.

ѕоиск и устранение проблем производительности виртуальной машины ESX/ESXi

Ќеисправности. „то может быть не так?

  1. ѕќ, работающее в гостевой виртуальной машине - медленно реагирует на команды управлени€;
  2. ѕќ, работающее в гостевой виртуальной машине, периодически прерывают работу;
  3. √остева€ виртуальна€ машина работает медленно или не отвечает на запросы.

ѕроблемы с производительностью могут случатьс€ из-за ограничений центрального процессора (CPU), переполнени€ пам€ти или, например, задержкой сети. ≈сли виртуалки работают плохо, скорее всего имеют место траблы с пам€тью. ”страним?


–ешение (воркэраунд)

ќграничени€ центрального процессора (проблемы CPU)

„тобы определить, св€зана ли низка€ производительность виртуалки с ограничением центрального процессора, надо:

  1. »спользуйте команду esxtop дл€ того, чтобы определить основные параметры производительности аппаратного сервера виртуалки
    1. ѕроверьте командой load average загрузку. ≈сли среднее значение нагрузки равно 1.00 , то физические ÷ѕ (центральные процессоры) гипервизора ESXi/ESX полностью используютс€, а среднее значение нагрузки, равное 0.5, значит, что используютс€ наполовину. Ћогика, думаю, вам пон€тна. «начение нагрузки, равное 2.00, означает, что система в целом переполнена (бегите в серверную с огнетушителем 👀)
    2. ѕроверьте поле %READY на процент времени на момент, когда виртуальна€ машина была готова, но не смогла запуститьс€ на физическом ÷ѕ. ѕри нормальных услови€х эксплуатации это значение должно находитьс€ в пределах 5%. ≈сли это значение высокое, и виртуальна€ машина имеет плохую производительность, тогда проверьте ограничение центрального процессора:
      • ”бедитесь, что на виртуальной машине не установлен предел ÷ѕ.
      • ”бедитесь, что на виртуальной машине не установлен пул ресурсов (Resource Pool).
      ≈сли среднее значение нагрузки слишком высокое и врем€ ожидани€ не вызвано ограничением центрального процессора, тогда отрегулируйте нагрузку ÷ѕ на хост. „тобы настроить нагрузку на хост, выполните следующие шаги:
      • ”величьте значение физического ограничени€ ÷ѕ на хост
      • »ли уменьшите виртуальное ограничение ÷ѕ, выделенное хосту. „тобы уменьшить это ограничение, сделайте:
        • ”меньшите общее количество ÷ѕ, выделенных всем виртуальным машинам, работающих на узле ESX
        • »ли уменьшите количество виртуальных машин, работающих на хосте (но это весьма грубый способ, как мы считаем)
  2. ≈сли ¬ы используете ESX 3.5, проверьте доступ к IRQ.

ѕереполнение пам€ти

„тобы определить, св€зана ли низка€ производительность с избыточностью пам€ти:

  1. »спользуйте команду esxtop дл€ того, чтобы определить основные параметры производительности аппаратного сервера виртуалки.
    1. ѕроверьте параметр MEM в первой строке вывода. Ёто значение отражает отношение запрошенной пам€ти к доступной, минус 1. Ќапример:
      • ≈сли виртуальным машинам требуетс€ 4 √Ѕ ќ«”, а хост имеет 4 √Ѕ ќ«”, то справедливо соотношение 1:1. ѕосле вычитани€ 1 (из 1/1) поле MEM overcommit avg считывает 0. ¬ывод - избытка нет и не требуетс€ дополнительной оперативной пам€ти.
      • ≈сли виртуальным машинам требуетс€ 6 √Ѕ ќ«”, а хост имеет 4 √Ѕ ќ«”, то есть соотношение 1,5:1. ѕосле вычитани€ 1 (из 1,5/1), поле overcommit avg ћЁћ считывает 0,5. ќбъем оперативной пам€ти превышен на 50%, что означает, что требуетс€ на 50% больше доступной оперативной пам€ти.
      ≈сли пам€ть перегружаетс€, отрегулируйте нагрузку на хост. „тобы настроить нагрузку на пам€ть, выполните следующие действи€:
      • ”величьте количество физической оперативной пам€ти на хосте
      • »ли уменьшите объем оперативной пам€ти, выделенной виртуальным машинам. ƒл€ уменьшени€ объема выделенной оперативной пам€ти:
        • ”меньшите общий объем оперативной пам€ти, выдел€емой всем виртуальным машинам на узле
        • »ли уменьшите общее число виртуальных машин на узле.
  2. ќпределите, €вл€ютс€ ли виртуальные машины "раздувающимис€" или/и замен€емыми. ƒл€ обнаружени€ раздувани€ или замены:
    1. «апустите esxtop
    2. ¬ведите m дл€ просмотра пам€ти
    3. ¬ведите f дл€ управлени€ колонками вывода (пол€ми)
    4. ¬ыберите букву J в поле Memory Swap Statistics "—татистика раздувани€ пам€ти" (MCTL)
    5. ѕосмотрите на значение MCTLSZ. MCTLSZ (MB)отображает объем физической пам€ти гост€, возвращаемой драйвером баллона (Memory Ballooning).
    6. ¬ведите f дл€ управлени€ колонками вывода (пол€ми)
    7. ¬ыберите букву дл€ статистики свопов пам€ти (SWAP STATS)
    8. ѕосмотрите на значение SWCUR. SWCUR (MB) отображает текущее использование обмена.
    „тобы устранить эту проблему, убедитесь, что раздувание и/или замена не вызваны неправильно установленным пределом пам€ти

ѕериод ожидани€ запоминающего устройства

„тобы определить, св€зана ли низка€ производительность с задержкой хранени€ данных:

  1. ќпределите, св€зана ли проблема с локальным хранилищем. ≈сли св€зана, то перенесите виртуальные машины в другое место хранени€.
  2. ”меньшите количество виртуальных машин на одно логическое устройство.
  3. Ќайдите записи журнала в Windows guests, которые выгл€д€т следующим образом: The device, \Device\ScsiPort0, did not respond within the timeout period.
  4. »спользу€ esxtop, найдите высокое врем€ задержки DAVG.
  5. ќпределите максимальную пропускную способность ввода-вывода, которую можно получить с помощью команды iometer.
  6. —равните результаты iometer дл€ виртуальной машины с результатами дл€ физической машины, подключенной к тому же хранилищу.
  7. ѕроверьте наличие конфликтного обращени€ к ресурсу SCSI.
  8. ≈сли вы используете ресурсы хранени€ iSCSI и группу данных jumbo, убедитесь, что все настроено правильно.
  9. ≈сли вы используете ресурсы хранени€ iSCSI и передачу по нескольким трактам с использованием программного инициатора iSCSI, убедитесь, что все настроено правильно.

ѕри вы€влении проблемы, св€занной с хранением:

  1. ”бедитесь, что аппаратный массив устройства и платы HBA сертифицированы дл€ ESX/ESXi.
  2. ”бедитесь, что BIOS физического сервера обновлена.
  3. ”бедитесь, что встроенное ѕќ вашего HBA-адаптера обновлено.
  4. ”бедитесь, что ESX может распознать правильный режим и политику пути дл€ типа массива хранени€ SATP и выбора пути PSP.

«адержка сети

Ќа производительность сети может сильно вли€ть производительность ÷ѕ. »сключите проблему производительности ÷ѕ перед исследованием сетевой задержки.

„тобы определить, вызвана ли низка€ производительность задержкой сети, выполните следующие действи€:

  1. ѕроверьте максимальную пропускную способность виртуальной машины с помощью инструмента Iperf.
    1. ѕри использовании Iperf измените размер окон TCP на 64 K. ѕроизводительность также зависит от этого значени€. „тобы изменить размер окон TCP:
      1. Ќа стороне сервера введите следующую команду: iperf Цs
      2. Ќа стороне клиента введите следующую команду: iperf.exe -c sqlsed -P 1 -i 1 -p 5001 -w 64K -f m -t 10 900M
    1. «апустите Iperf с компьютера вне хоста ESXi/ESX. —равните результаты с ожидаемыми, в зависимости от физической среды.
    2. ¬ыполните команду Iperf с другого компьютера вне хоста ESXi/ESX в той же VLAN на том же физическом коммутаторе. ≈сли производительность хороша€, и проблему можно воспроизвести только на машине в другом географическом месте, то проблема св€зана с вашей сетевой средой.
    3. ¬ыполните команду Iperf между двум€ виртуальными машинами на одном сервере ESX/portgroup/vswitch. ≈сли результат хороший, можно исключить проблему с ÷ѕ, пам€тью или хранилищем.

≈сли вы определ€ете параметры, которые ограничивают производительность системы в сети:

  1. ≈сли вы используете ресурсы хранени€ iSCSI и кадры jumbo, убедитесь, что все настроено правильно.
  2. ≈сли вы используете Network I/O Control,то убедитесь, что общие ресурсы и ограничени€ правильно настроены дл€ вашего трафика.
  3. ѕроверьте правильность настройки формировани€ траффика.