суббота, 1 октября 2011 г.

VMware Update Manager (VUM) 5


В комплекте с vSphere идет приложение VMware Update Manager (VUM). Полезная штука, которая пригодится для обновления разных компонентов vSphere. В первую очередь, это сервера ESXi и VMware tools.
Недавно появился документ с рекомендациями по развертывание VUM – VMware vCenter™ Update Manager 5.0 Performance and Best Practices.
Что в нем обратило на себя мое внимание:
  • До 30 серверов \ 300 ВМ vCenter и VUM замечательно могут жить на одной машине и использовать одну БД.
  • От 30\300 до 100\1000 они хорошо себя чувствуют на одной машине но с разными экземплярами (instance) БД. (кстати, коллеги, подскажите – что в данном контексте означает этот “instance”? Я правильно понимаю, что сервер БД может быть один, а в нем одном – два экземпляра баз? Или это две разные машины с БД?)
  • Ну а если серверов и ВМ у нас дофига, до лучше бы VUM и vCenter разнести совсем.
vum-01
Кстати – в пятой версии vCenter доступен в Linux версии, в виде предустановленной ВМ. Так вот, в текущей версии с этой Linux-версией VUM работать не может.
UPD. Вроде как может. Очевидно, будучи установленным на отдельную машину, так как UM - Windows приложение.


Для ВМ с VUM лучше дать от 2 ГБ ОЗУ – для кеширования обновлений, с целью снижения I\O.
Большинство операций-не установок обновлений Update Manager занимают 5 и менее секунд, исключая сканирование ESXi и обновление виртуального оборудования для включенной ВМ – эти операции занимают~40 секунд. Впрочем, обновление виртуального оборудования актуально только один раз и только тем, кто обновляется до пятерки с предыдущих версий vSphere. и львиную долю этого времени занимает выключение ВМ – т.к. обновить vHardware можно только при выключенной виртуальной машине.
Ну и много времени займет установки обновлений – минут 15 для ESXi и минуты четыре-пять для ВМ.
Напомню, что в пятой версии VUM разучился обновлять гостевые Windows и приложения, так что единственный софт внутри, который VUM может обновить – это VMware tools.
Максимальное число одновременных операций разных типов:
vum-02
VUM умеет назначать операцию обновления серверов ESXi сразу на группу серверов. Ранее сервера обновлялись только последовательно, а в актуальной версии появились варианты. Можно, как и раньше, обновлять сервера по одному, можно параллельно хоть все, а можно указать “обновлять по N серверов в параллели”.
Для теста на кластере из 8 серверов были запущены 80 ВМ, затем ими создавали нагрузку на процессоры серверов, и замеряли время обновления всех серверов при разной нагрузке.
vum-03
Как видно, если нагрузка на процессоры серверов менее 70%, то обновление “по 4 сервера одновременно” самое быстрое, почти всегда.
Данный тест делает акцент на времени vMotion – для освобождения сервера перед установкой обновления. В реальности, абсолютное время обновления будет больше, так как установка сама по себе займет больше времени, и потребуется перезагрузка серверов.
Интересно, что самая левая позиция – обновление кластера без единой включенной ВМ. Неужели кто-то будет так делать в реальности???

В пятой версии VUM появились дополнительные улучшения для работы VUM когда между Update Manager и целевым сервером ESXi медленная сеть – появилась возможность указать полому пропускания, которую VUM может использовать для передачи обновлений на ESXi – чтобы весь канал не лег при начале передачи обновления.

30 комментариев:

  1. Жаль что они убрали возможность обновлять гостевые ОС :(

    ОтветитьУдалить
  2. > в текущей версии с этой Linux-версией VUM работать не может.

    Странно, мне удалось их подружить (VUM и Linux vCenter). В смысле я установил VUM на отдельную машину с виндой и подключил к vCenter. Может, имелось в виду, что сама Linux-виртуалка c vCenter не имеет VUM и его надо ставить отдельно?

    ОтветитьУдалить
  3. По поводу instances,если ещё актуально.
    instance применительно к базам данных обычно означает выделенный сервер sql. На одной машине может быть запущено одновременно несколько экземпляров sql серверов - instances. Default instance - одна, остальные могут быть только именованными. При обращении к этим instances используют нотацию SERVERNAME\. - для default instance, SERVERNAME\INSTANCENAME - для именованных.

    ОтветитьУдалить
  4. выделенный сервер sql - это выделенный сервер(физический\виртуальный), или какая-то внутренняя структура sql?

    просто второе предложение вашего комментария противоречит само себе :-), ну или я что-то не понимаю.

    ОтветитьУдалить
  5. 2Евгений - да, я дополнительно обратился к источникам инфы - вроде может. Похоже, ошибся я.

    ОтветитьУдалить
  6. Возможно ли обновить хост ESXi через VUM если vCenter и VUM находяться в виртуальной машине на этом же самом хосте ESXi ?

    ОтветитьУдалить
  7. Определимся в терминах.
    SQL сервер - приложение, выполняемое на компьютере. Не физическая/виртуальная машина, а приложение. Специально пытаюсь не использовать слово "сервер" применительно к компьютеру (может, "хосту" будет правильней, но тут возможна путаница с хостом VMware), чтобы не путать машину, которая предоставляет ресурсы для внутренних приложений, с сервером, который предоставляет возможность доступа к базам данных.
    На одном физическом/виртуальном компьютере можно запустить несколько серверов (читать "приложений") sql. Это не внутренняя структура, а полноценный сервер ("приложение") sql. Эти серверы ("приложения") sql будут работать совершенно независимо друг от друга, используя ресурсы одного физического/виртуального компьютера (хоста).

    ОтветитьУдалить
  8. 2 BlackJack:

    Да, коллега, всё правильно.
    Это давняя терминологическая путаница:
    "сервер как компьютер (server as a computer)" vs. "сервер как сервис (server as a service)"

    С уважением,
    Umlyaut.

    ОтветитьУдалить
  9. Я все же не понял - что под инстансом обычно понимают то?

    ОтветитьУдалить
  10. 2 michigun:

    Хм-ммм... "обычно" бывают всякие(с)(почти как Кролик).
    В моём "обычно" инстанс - это "server as a service", но нередко можно встретить в доках-спеках-хаутушках инстанс как отдельный "server as a computer" (с одиночным "server as a service", крутящимся на нём)... это зачастую характерно для описания load-balаnced ферм серверов, ну или grid-ферм тоже.

    С уважением,
    Umlyaut.

    ОтветитьУдалить
  11. в общем, если не знать что именно имели в виду составители документации - догадаться будет сложно.

    Вообще, по смыслу тут должны иметься в виду разные сервера БД.

    ОтветитьУдалить
  12. michigun wrote>Вообще, по смыслу тут должны иметься в виду разные сервера БД

    Михаил, это та же семантическая ловушка.

    С т.з. софт-архитектора какой-либо CRM/ERP "сервер БД" - это процесс/сервис некоей СУБД, обеспечивающий работу второго/третьего звена клиент-серверной модели этой проги.

    А с "кочки зрения" сисадмина-"инфраструктурника" "сервер БД" суть есть "во-о-оон тот железный гроб в середине серверной стойки".

    Т.ч. "определимся же с определениями"... :D:D:D ... и с "кочкой зрения"...
    Контекст, контекст и ещё раз контекст.

    С уважением,
    Umlyaut.

    ОтветитьУдалить
  13. нууууу, милейший...с чего это я начну излагать с точки зрения архитектора ERP?

    конечно, имеется в виду "сервер как отдельная копия ОС в ВМ или ФМ".

    ОтветитьУдалить
  14. 2 michigun:

    А не только "с т.з. архитектора ХYZ".

    DBA, web-admin, 1C-ник поймут точно так же - "сервер=процесс/сервис/функция"... :P

    С уважением,
    Umlyaut.

    P.S. И эт-та, Михаил... вот это "милейший" (равно как и "любезный" и некоторые прочие эпитеты) в современном интернет-общении НЕ несёт положительной коннотации. Прямо как наждаком по зубам прошлись... бр-р-ррр!!! :))

    ОтветитьУдалить
  15. Спасибо, Umlyaut!
    Как-то мы глубоко погрузились, мне кажется.
    Может, пример прояснит?!
    Один физический сервер. На нём усердно трудятся sql 2000, sql 2005 developer edition и sql 2005 express edition одновременно. Каждый из sql серверов работает в интересах отдельного подразделения.
    Итого мы имеем три instances, одна default и два named.
    Instance - обычная терминология в контексте sql серверов. По крайней мере, в мире MS SQL встречается часто.

    ОтветитьУдалить
  16. ок, тогда есть ли смысл создавать на одной ВМ\ФМ две инстанса одной версии БД с т.зрения производительности?

    ОтветитьУдалить
  17. Смысл есть, если начинают работать ограничения редакции sql, например, допустимый максимальный размер базы данных для sql server express edition.
    Скорее всего, с этим аспектом и связаны рекомендации. Вряд ли UM генерирует серьёзную OLTP или OLAP нагрузку на sql.

    ОтветитьУдалить
  18. ну а кроме непродакшенного sql express есть какие нибудь примеры?

    ОтветитьУдалить
  19. Почему Вы решили, что sql express непродакшн?
    Очень даже продакшн! Продакшннее ещё поискать.

    Примеры: Сервер Администрирования Касперского, WSUS, MS SharePoint, да и базу 1С больше, скажем, 2 ГБ в SMB не часто встретишь.
    А vCenter на MS платформе какую редакцию sql использует? Ту же. Или я ошибаюсь?
    Полагаю, это как раз именно наш случай, коллега.

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

    ОтветитьУдалить
  20. поймите меня правильно - я задал вопрос и веду обсуждение во вполне конкретном ключе и контексте.

    Угадайте в каком ;-)

    меня интересует БД для vCenter и VUM. При масштабах десятков хостов и сотен ВМ SQL Express - не продакшн.

    Ваши комментарии интересны и полезны, но конкретного ответа на конкретный вопрос я пока для себя не понял.

    ОтветитьУдалить
  21. Ну, тогда я не совсем понял, другие примеры чего Вы хотели получить.
    Я пытался пояснить Вам понятие instance в контексте MS SQL, отвечая на Ваш вопрос:"(кстати, коллеги, подскажите – что в данном контексте означает этот “instance”? Я правильно понимаю, что сервер БД может быть один, а в нем одном – два экземпляра баз? Или это две разные машины с БД?)"
    Если "за время пути" созрел другой вопрос - публикуйте, уверен, ответ на заставит себя долго ждать.

    ОтветитьУдалить
  22. Вопрос - "что в данном контексте означает этот “instance”?"

    Ответ -
    "instance применительно к базам данных обычно означает выделенный сервер sql. На одной машине может быть запущено одновременно несколько экземпляров sql серверов - instances."

    следующий вопрос - "ок, тогда есть ли смысл создавать на одной ВМ\ФМ две инстанса одной версии БД с т.зрения производительности?"
    с уточнением: "меня интересует БД для vCenter и VUM. При масштабах десятков хостов и сотен ВМ SQL Express - не продакшн."

    ОтветитьУдалить
  23. Следующий ответ:
    "Смысл есть, если начинают работать ограничения редакции sql, например, допустимый максимальный размер базы данных для sql server express edition."

    Подробная информация, чем различаются выпуски sql server доступна на сайте производителя: http://www.microsoft.com/sqlserver/en/us/product-info/compare.aspx

    Встречный вопрос:
    А почему Вы считаете, что "При масштабах десятков хостов и сотен ВМ SQL Express - не продакшн"? Есть цифры, сколько памяти требуется для хранения информации об одном хосте/vm? Наблюдения? Или название не впечатляет?

    ОтветитьУдалить
  24. Вдогонку.

    Если посмотреть на ограничения sql express, то можно обратить внимание на то, что максимальный объём оперативной памяти ограничен 1 ГБ, дисковой памяти 10ГБ (4 ГБ для 2005) и одним процессором.

    Использование двух сущностей позволяет увеличить суммарные ограничения по объёму оперативной памяти до 2 ГБ, дисковой памяти до 20 ГБ (8 ГБ), и двух процессоров.

    На лицо все возможности для увеличения производительности без дополнительной оплаты.
    Не так ли?

    ОтветитьУдалить
  25. 1) полазил по докам - оказывается 10 гигабайт должно быть достаточно для, например, 100 хостов и 1000 ВМ - это для vCener. У VUM вообще крохи.
    с этой т.зрения sql express годиться.

    2) сколько надо памяти для БД у VMware не нашел :(

    3) SQL Express не является рекомендованной самой VMware, для инфраструктур более 5 хостов или 50 ВМ.

    ОтветитьУдалить
  26. Посмотрела документ, Михаил вы правильно поняли, для второй модели рекомендуется использовать разные DB на разных инстансах (экземплярах SQL) на одном сервере. Не сильна в SQL, и не скажу в чем собственно разница между двумя базами, крутящимися на одном инстансе от двух баз, крутящихся на двух инстансах в пределах одного сервера. Разница лишь в том, что один из экземпляров (службу SQL Server 1) можно рестартовать независимо (не затрагивая) от второго экземпляра.

    ОтветитьУдалить
  27. Кстати, на вкладке Home в настройках vCenter Server Settings закладка Statistic есть калькулятор, опирающийся на кол-во хостов и машин, выдающий размер db для vCenter. Ввела свои реальные значения 12 хостов и 114 машин результат 1,2 gb; фактический же размер моей db 2,8 gb, однако на одном инстансе и в одной db умещаются vCenter+UM (которым обновляются только хосты ESX). vCenter виртуализован и сам крутится на одном из ESX-ов. Да, да, не по рекомендациям))

    ОтветитьУдалить
  28. спасибо.

    про встроенный калькулятор я совершенно забыл! но странное расхождение.

    у VUM размер базы копейки должен быть.

    кстати, у вас нормально все с точки зрения рекомендаций.

    ОтветитьУдалить
  29. Спасибо и Вам)) Да, странные расхождения, ну видимо калькулятор слишком идеализирован ;)

    ОтветитьУдалить