Мониторинг достаточности ресурсов

Для того чтобы правильно настраивать распределение ресурсов, необходимо правильно оценивать  достаточность  их для виртуальной машины.  Как правило, достаточно легко понять, что для ВМ не хватает ресурсов, – время отклика от приложения  больше, чем хотелось бы. Но какого ресурса не хватает?  Как настроить  автоматическое оповещение о нехватке ресурсов? Про все это поговорим здесь.

Итак, у вас есть подозрение, что виртуальной машине не хватает какого-то ресурса. Что делать, понятно: обратиться  к счетчикам  производительности и определить узкие места. Разобьем  эту задачу на три подпункта:

1.    Где искать значения  счетчиков производительности.

2.    Какие именно счетчики нас интересуют.

3.    Какие значения  указывают  на узкое место.

Поговорим  последовательно.

6.3.1. Источники информации о нагрузке

Важным моментом анализа нагрузки  на виртуальную среду, анализа ресурсов виртуальных машин является тот, что далеко не всегда здесь применим опыт такого анализа физических серверов. Вернее, он не применим  напрямую. Почему так, я подробнее расскажу в следующих разделах. Вкратце – потому что управлением доступа к ресурсам обладают не гостевые ОС, а гипервизор, и именно гипервизор  способен показать  истинную  картину.  Поэтому  нас интересуют  способы доступа к данным гипервизора.

Их четыре:

Q  клиент vSphere, в первую очередь закладка Performance;

Q  утилита  esxtop в локальной командной  строке, или resxtop  в vSphere CLI. Плюс вспомогательные средства для анализа полученной через эти утилиты информации. esxtop  – не единственная, но основная  утилита анализа нагрузки;

Q  для Windows ВМ можно получить доступ к некоторым счетчикам гиперви-

зора «изнутри»,  с помощью Perfmon;

Q  сторонние средства. По понятным причинам, сторонние средства здесь рассматриваться не будут.

Закладка Performance и другие источники информации через клиент vSphere

Закладка Performance доступна для объектов разных типов, в первую очередь серверов и виртуальных машин. На примере виртуальной машины: выделяем ин-

тересующую ВМ в клиенте vSphere ? закладка  Perfomance ? кнопка Overview.

Здесь  мы видим графики  с самыми важными  счетчиками  для этой ВМ. В выпадающем меню Time Range можем выбирать  интересующий нас период времени. А в выпадающем меню View – переключиться на информацию по утилизации места этой ВМ на хранилищах.

Если на закладке Performance нажать кнопку Advanced ? ссылка Chart Options,

то можно будет выбрать для просмотра произвольный набор счетчиков. Откроется окно настроек (рис. 6.39). Выбираем CPU и нужный отрезок времени в левой части.

В правой части наверху выбираем объект, чьи счетчики хотим смотреть. Здесь

«File_Server_Win2008» – это вся виртуальная машина (имеется в виду – сразу все процессоры  этой ВМ), а «0» – это первый (и в данном случае единственный) ее процессор. В левой части внизу выбираем конкретный счетчик.

Рис. 6.39. Выбор счетчиков загрузки процессора

Обратите внимание. Некоторые счетчики доступны только для всей ВМ целиком, а некоторые – только для отдельных ее виртуальных процессоров. Это относится и к некоторым счетчикам для других подсистем.

Нажимаем ОК и видим графики  (рис. 6.40).

Закладка Performance доступна для:

Q  виртуальных машин. Здесь  предоставляется наиболее  полный набор данных для одной выбранной  виртуальной машины;

Q  серверов. Здесь предоставляется наиболее полный набор данных для одно-

го выбранного  сервера. В списке счетчиков  обратите  внимание  на группу System – под ней скрывается информация о загрузке со стороны процессов ESX(i), таких как агент vCenter (vpxa), и драйверов устройств;

Рис. 6.40. Графики использования процессора для ВМ

Q  пулов ресурсов и vApp. Минимальный набор счетчиков  для процессора и памяти, зато данные сразу по всем ВМ из пула или vApp;

Q  кластеров. Скромный набор данных по процессорам и памяти, немного ин-

формации о кластере как таковом (например, счетчик Current failover level) и информации об операциях  с ВМ в этом кластере. Имеются  в виду операции вида включения,  выключения, перезагрузки, миграций, клонирования и многие другие. А выводимая о них информация – их количество;

Q  datacenter.  Только   информация  о  количестве   разнообразных  операций

с виртуальными машинами;

Q  хранилищ (Home ? Inventory ? Datastores). Доступна информация об

утилизации места  виртуальными машинами  с разбивкой по их  дискам,

снимкам состояния (snapshot), файлам подкачки.

Кроме закладки Performance, есть еще некоторые источники информации об использовании ресурсов серверов.

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

Пулы ресурсов

Для оценки потребления ресурсов пула нам пригодятся его закладки Summary

и Virtual machines. Давайте взглянем  на них.

Закладка Summary, рис. 6.41.

Для процессора здесь отображаются показатели:

Q  Consumed – текущее потребление  ресурсов процессора ВМ этого пула;

Рис. 6.41. Summary для пула ресурсов

Q  Active – максимальное количество ресурсов, которое может быть выделено для ВМ в этом пуле. Если для пула настроен limit для процессора, то Active не будет больше limit;

Q  Resource Settings – здесь указаны настройки limit, reservation и shares для этого пула. Самое интересное  – это значение  Worst case allocation – приблизительный подсчет того, сколько ресурсов будут потреблять  все включенные ВМ этого пула, если они начнут потреблять  по максимуму  из того, что им разрешено.  Учитываются  настройки limit,  reservation и shares  на уровне каждой ВМ, а также доступные физические ресурсы сервера и пула ресурсов.

Для памяти:

Q  Private – столько мегабайт выделено для ВМ из физической оперативной памяти, и эти страницы памяти не общие;

Q  Shared – столько мегабайт памяти выделено для ВМ из физической оперативной памяти, но эти страницы  одинаковые хотя бы для двух ВМ, и одинаковые страницы  для разных ВМ адресуются  в одну страницу  в физиче ской памяти. Это экономия  памяти механизмом  Transparent Memory Page sharing. Обратите  внимание: если у трех ВМ одинаково по 10 Мб в памяти, то shared для них будет равно 30 Мб, хотя этими совпадающими данными реально в памяти сервера будет занято 10 Мб;

Q  Swapped – столько памяти переадресуется в VMkernel  swap;

Q  Ballooned – столько памяти занято баллоном в гостевых ОС;

Q  Unaccessed – столько  памяти  сервера  не выделено  ни для одной ВМ, то есть свободно;

Q  Active – столько памяти активно задействуется гостевыми ОС;

Q  Resource Settings – здесь указаны настройки limit, reservation и shares для этого пула. Самое интересное  – это значение  Worst case allocation – приблизительный подсчет того, сколько ресурсов будут потреблять все включенные ВМ этого пула, если они начнут потреблять  по максимуму  из того, что им разрешено.  Учитываются настройки limit,  reservation и shares  на уровне каждой ВМ, а также доступные физические ресурсы сервера и пула ресурсов.

Обратите  внимание:  если  пул  ресурсов  создан  в DRS-кластере, то он  свою долю отсчитывает  от всех ресурсов кластера, от суммы мегагерц и мегабайт всех серверов в нем.

Закладка Virtual Machines, рис. 6.42.

Здесь нам доступна разнообразная информация – особо обратите внимание на пункт View Column контекстного  меню.

Рис. 6.42. Закладка Virtual Machines

К ресурсам непосредственно относятся  столбцы Host CPU, Host Mem и Guest  Mem:

Q  Host CPU – сколько мегагерц гипервизор  выделяет  ВМ сейчас;

Q  Host Mem – сколько мегабайт выделяется ВМ сейчас плюс накладные расходы памяти  на нее. Величину  накладных  расходов можно посмотреть  на

закладке Summary для ВМ ? Memory Overhead;

Q  Guest Mem – сколько процентов от выделенной памяти активно использу-

ет ВМ. Входит в предыдущий  пункт.

Хранилища, Storage Views

Для  любого  объекта  в иерархии  vCenter доступна  закладка  Storage Views

(рис. 6.43).

Рис. 6.43. Storage Views

Здесь вам доступна самая разнообразная информация – обратите внимание на выпадающее меню (рис. 6.44).

То есть вы можете просматривать разного рода информацию для тех или иных объектов. Плюс к тому обратите внимание  на пункт View Columns контекстного  меню здесь (рис. 6.45).

Наконец, обратите внимание на кнопку Maps закладки Storage Views (рис. 6.46).

Здесь  можно просмотреть  взаимосвязи между относящимися к хранилищам объектами.

Рис. 6.44. Доступная информация на закладке Storage Views

Рис. 6.45. Доступная информация на закладке Storage Views

esxtop и resxtop

Еще один путь для получения данных о нагрузке на сервер со стороны виртуальных машин – воспользоваться командной строкой; нам доступны два варианта одной и той же утилиты – esxtop и resxtop.

esxtop мы можем запустить  из командной  строки ESX(i), локально  или через SSH.

resxtop мы можем использовать из vSphere CLI под Linux, загрузив  и установив их. Или загрузив  и запустив на vSphere виртуальную машину с vMA, где эти

Рис. 6.46. Maps на Storage Views

vSphere CLI уже предустановлены. На примере последнего варианта – подключаемся к vMA по SSH и выполняем команду resxtop –server  <имя  сервера ESX  (i)>.

В независимости от того, работаем  ли мы с esxtop  или resxtop, интерфейс и возможности практически идентичны.

После запуска утилиты мы увидим примерно следующее (рис. 6.47).

Рис. 6.47. esxtop

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

По умолчанию  нам демонстрируется информация о процессоре. Чтобы переключиться на другие подсистемы, нажмите:

Q  m – данные по памяти;

Q  n – данные по сети;

Q  d – данные по дисковой подсистеме, а именно контроллерам;

Q  u – данные по дисковой подсистеме, а именно устройствам (LUN);

Q  v – данные по дисковой подсистеме, данные по виртуальным машинам;

Q  c – данные по процессорам,  именно они демонстрируются по умолчанию.

Обратите  внимание, что на экране информации о процессорной подсистеме каждая строка – это группа процессов, относящихся к одной виртуаль ной машине. В частности, каждый  виртуальный процессор  порождает  отдельный процесс. Чтобы увидеть данные каждого процесса, нажмите «e» и введите номер группы (столбец ID);

Q  цифры  2 и 8 позволят подсветить  строку,  перемещая  подсветку  вверх  и вниз.  Цифра  4 удалит  выделенную  строку  с экрана.  Цифра  6  развернет  группу процессов выделенной в данный момент строки;

Q  l – отображение  только процесса с указываемым GID;

Q  f – выбор счетчиков (столбцов) по текущей подсистеме;

Q  o – выбор порядка расположения столбцов;

Q  W – сохранить сделанные изменения в конфигурационный файл esxtop;

Q  # – количество  выводимых строк;

Q  s и цифра – позволят поменять  частоту обновления данных на экране. По умолчанию – раз в 5 секунд;

Q  ? – помощь.

Для того чтобы оставить на экране данные только по виртуальным машинам, нажмите Shift+v.

Разумеется, это не все ключи. Список источников  дополнительной информа-

ции см. чуть ниже.

В данных esxtop достаточно много нюансов. Что означает (например) %USED в показаниях esxtop?  %USED  = («время CPU  used в предпоследний момент снятия данных»  минус «время  CPU  used в последний  момент снятия данных»)  делить на (время  между последним и предпоследним моментом снятия данных).

Рассмотрение всех здесь мне кажется  неоправданным, в следующем разделе мы разберем лишь самые важные. Рекомендую ознакомиться с документацией:

Q  встроенной  справкой, доступной по команде man esxtop;

Q  http://communities.vmware.com/docs/DOC-7390; Q  http://communities.vmware.com/docs/DOC-3930; Q  http://communities.vmware.com/docs/DOC-11812.

Анализ информации от (r)esxtop

В описанном варианте запуска (r)esxtop показывает данные в реальном времени.

А если необходимы данные для анализа? Тогда запустите команду следующего вида:

esxtop  -a  -b  -d  10 -n  1080 > /tmp/esxtopout_esxi2.csv

Параметры  задают следующие настройки:

Q  a – выгрузка всех параметров (можно выгружать лишь часть, для снижения  размера итогового файла);

Q  b – пакетный режим;

Q  d – размер  задержки  в секундах, то есть данные снимаются каждые d секунд;

Q  n – количество  итераций.

Таким образом, эта команда выгрузит в файл с указанным  именем все данные по нагрузке на сервер за d ? n секунд, начиная с момента запуска команды.

Полученный на выходе csv файл можно загрузить в perfmon или утилиту под названием esxplot для удобного анализа собранных данных. Для копирования этого файла на свой компьютер удобно использовать утилиту WinSCP.

Запустите perfmon: Пуск ? Выполнить ? perfmon.

Дальнейшая инструкция для  системного  монитора  Windows Server  2003  и

Windows XP.

В открывшемся окне  вас интересует  иконка  Загрузка данных из журнала

(View Log Data), затем закладка Источник (Source), на ней выберите Файлы журнала (Log files) ? кнопка Добавить (Add)  ? выберите csv-файл.

Рис. 6.48. Данные esxtop в Perfmon

Затем  закладка  Данные (Data) ? удалите  все вхождения  ?  кнопка  Добавить (Add)  ? выпадающее  меню Объект (Performance Object) ? выберите интересующую  группу счетчиков ? нижний  левый список, выберите интересу ющий счетчик ? нижний  правый  список, выберите интересующий объект или объекты  ? нажмите  Добавить (Add).  После  добавления  всех интересующих

счетчиков  нажмите  Закрыть. На рис. 6.48 показано  окно Perfmon с единственным  открытым  счетчиком  CPU  ready  для  виртуальной машины  File_Server_ Win2008.

Альтернатива perfmon – утилита esxplot, собственная разработка одного из инженеров VMware. Ссылку  на нее можно найти на http://labs.vmware.com/. После

загрузки запустите исполняемый файл, меню File ? Import ? Dataset ? укажите

csv-файл  с данными от esxtop. Затем  в нижнем левом поле ищите интересующую

группу счетчиков. Справа отобразится график (рис. 6.49).

Рис. 6.49. Данные esxtop в esxplot

Я рекомендую  попробовать  оба средства  и выбрать  более  удобное  лично для вас.

Perfmon «внутри» гостевой ОС

В состав VMware  tools для Windows входят  dll, которые  позволяют  к некоторым из счетчиков гипервизора получать доступ изнутри виртуальной машины. Запустите perfmon, запустите окно добавления счетчиков. В списке будут группы VM Processor  и VM Memory (рис. 6.50).

Рис. 6.50. Добавление счетчиков гипервизора в perfmon гостевой ОС

Источник: Михеев М. О.  Администрирование VMware vSphere 4.1. – М.: ДМК Пресс, 2011. – 448 с.: ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий