Худшие практики: virtual machine memory limit

Сегодня о “худшей практике” одной настройки виртуальной машины.

Некоторое время назад обнаружились серверы с большим уровнем IOPS – в районе 1000-1500 операций. Экспресс-диагностика не дала результата, а так как размер дисков машин был очень небольшим, то они были перемещены на локальные SSD, что сняло остроту проблемы.

Сейчас же обнаружились проблемы с терминальными серверами – довольно сильные лаги при большом количестве подключений. Анализ системы показал довольно классическую проблему – наличие baloon. Наличие “пузыря” в памяти насторожило, так как на хосте свободной памяти было с избытком. Ларчик открылся просто при 3 ГБ ОЗУ виртуальной машины стояла волшебная труодминская настройка memory limit 2 ГБ. К пущей радости, история умалчивает кто был этим тру одмином.

После такого открытия я запустил RVTools и проинспектировал все виртуальные машины на наличие лимитов памяти, ну, и на “пузыри” заодно.

Тут-то и всплыли виртуалки с большими IOPS, так как настройки на них были примерно следующие ОЗУ – 1,5 ГБ, лимит – 256 МБ. На одной из машины при ОЗУ 3 ГБ, лимит был 512 МБ, а размер  “пузыря” 2 ГБ.

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

Перенос Custom Attributes между VMware vCenter

У меня возникла задача переехать в новый vCenter. При планировании работ обратил внимание на потребность переноса полей виртуальных машин Custom Attributes, созданных мной.

В моей инфраструктуре используется два дополнительных поля  – Administrator, где указываются основной и дублирующий администратор, поле – Nagios, где указывается имя, под которым сервер занесен в систему мониторинга. Данное поле позволяет осуществлять контроль все ли продуктивные виртуальные машины занесены в Nagios.

В отличии от Notes, созданный вручную Custom Attribute хранится в vCenter и при переходе на чистую базу данных не сохраняется.

Поиск быстро выдал пример скрипта на PowerShell для экспорта-импорта данных полей.

Приведу кусочек кода, немного исправленный и используемый мной.

Экспорт (обратите внимание на указание кодировки для атрибутов на кириллице):

Импорт:

Решение проблем с производительностью VMware vSphere – часть 1

Примерно 2,5 года назад вышел документ по решению проблем с производительностью в VMware vSphere 4.1.

Так как актуальность документ все еще не потерял, я попробую осуществить его перевод…

В начале документа находится схема траблшутинга

Соответственно, есть две дальнейшие диаграммы: базовая и продвинутая.

Continue reading “Решение проблем с производительностью VMware vSphere – часть 1”

VCP 510 +1

Сегодня сдал VCP-510 на  450 баллов.

Благодарности: Максиму Машкову за учёбу, Михаилу Михееву за книжку(и), Сергею Боровикову за мотивацию, Андрею Вахитову за поддержку и консультации, семье за понимание.

Закладка Hardware Status в vCenter Server не работает

У меня на хосте закладка Hardware Status в vCenter Server стабильно выдавала ошибку “Hardware monitoring service on this host is not responding or not available”, даже после перезагрузки хоста.

Совет в KB не помогал. Вместо этого я подключился напрямую к хосту и в Configuration – Health status нажал Reset Sensors. Минут через 5-10 статусы с Unknown поменялись на Normal, хотя счетчиков примерно в 2 раза меньше, чем в vCenter.

После этого зашел в  Hardware Status, и через несколько минут после обновления все счетчики стали отображаться.

5 вещей, которые не стоит делать с vSphere

Rick Vanover опубликовал данную статью, в которой перечисляет 5 граблей, на которые вам лучше не вставать.

Я люблю гибкость, которую дает мне виртуализация VMware vSphere. Временами это может причинять неудобства. При записи подкаста с Greg Stuart мы пришли к выводу, что практически нет одинаковых виртуальных окружений.

Таким образом мы пришли к вопросу: как виртуальные среды могут так различаться? Что было сделано правильно, а что – нет? Я предлагаю вам свой список настроек, которыми нельзя пренебрегать.

Continue reading “5 вещей, которые не стоит делать с vSphere”

vSphere 5.1 vs Round Robin vs I/O operation limit

Очередной этап тонкой настройки политик выбора пути в vSphere 5.1.

Виталий Волнянский  около полутора лет назал писал обзор “Настройка значения IOOperationLimit для RoundRobin на нескольких виртуальных хранилищ одновременно“, но есть небольшие изменения в vSphere 5.1, да и скрипты на PowerShell попривлекательней.

Одним из самых эффективных методов увеличения скорости доступ к системам хранения, поддерживающих для Native Multipathing (NMP) Path Selection Plug-ins (PSP)  режим работы Round Robin, и снижения задержек является уменьшение значения по умолчанию параметра I/O operation limit с 1000 операций ввода-вывода до 1-10. Данный параметр регулирует “такт” перехода к следующему активному пути(для ALUA по умолчанию с учетом оптимального пути, регулируется параметром useano), то есть через сколько операций переключиться на следующий путь.

Что даёт и для каких систем рекомендуется/протестировано:

 Как включить?

Это самое простое, но грабля есть.

Подаем команду на нужных дисках и готово:

 Грабля в vSphere 5.1.

В vSphere 5.1 у команды добавился параметр cfgfile, что повлияло на реализацию функции в PowerShell, сейчас синтаксис такой(2 часа выяснял причину сбоя в работе старых скриптов):

boolean set(long bytes, boolean cfgfile, string device, long iops, string type, boolean useano),

как получить описание функций:

пример на PowerShell:

P.S. Если для вашей системы нет рекомендаций от производителя по уменьшению значения параметра, то вся ответственность за последствия изменений лежит на вас.

P.P.S. Продолжаем изучать PowerShell

Скрипт опроса LUN, подключенных с IBM SVC. Для установки параметра код поправите сами. 😉

Резерв ресурсов по процентам (admission control) не снижает вероятность перезапуска ВМ

Данная статья является переводом статьи Duncan Epping об использовании резерва ресурсов по процентам. Этот тип резервирования (или Admission control) является любимым у Duncan’а, и я попытаюсь объяснить почему.

Вы все видели настройку HA-кластера, в которой настраивается тип резервирования ресурсов. Лично я предпочитаю резервирование ресурсов по процентам, хотя есть мнение, что это снижает вероятность перезапуска “больших” ВМ. Эти люди считают, что резервирование по слотам (host failures) дает большую вероятность перезапуска “больших” ВМ. Они все неправы 🙂 Давайте я приведу пример, который покажет ошибочность этого мнения.

Continue reading “Резерв ресурсов по процентам (admission control) не снижает вероятность перезапуска ВМ”

Ох, уж эти календари

Сегодня вторник, а пост у меня пятничный – про календари и время.

Майя переключились на новый календарь, а все подумали, что Конец Света.

Google забыл месяц “Декабрь” при выходе Android 4.2.

VMware vCenter 5.1 работает со статистикой глубиной только в 1 месяц.

Сегодня нашел косяк в  VMware vCenter 5.0, при выводе статистики за год по два раза повторяются последние месяцы:

HP EVA и VAAI

Нашел плагин от HP, позволяющий использовать VAAI для СХД HP EVA *400/P6000 с версией XCS v1010 0000.

Плагин позволяет разгрузить массив при выполнении стандартных примитивов: Full copy, Block zeroing и Hardware assisted locking. В пятой версии поддерживается ряд примитивов, касающихся Thin Provisioning, но, к сожалению, UNMAP не поддерживается!

Плагин устанавливается только на хосты vSphere 4.1. В пятой версии плагина не требуется. Поддерживается установка как через vCLI, так и через VUM.

UPD: Кстати говоря, EVA второго поколения (4000/6000/8000/4100/6100/8100) не поддерживается с vSphere 5.0. Так что обновляйтесь на свой страх и риск.

P.S. К стыду своему замечу, что плагин стал доступен еще в марте 2012 года. Позор на мои седины 🙂

OFF: Следует отметить, что другая технология – VASA, поддерживает и более старое поколение HP EVA, например, *000/*100.