Привет, Хабр! Сейчас я задам вам вопрос, а вы задумайтесь: Что, очень популярное и когда-то вызывавшее трепет лично у вас, сегодня вспоминается только для «поностальгировать»? Наверняка, кто-то вспомнит Dendy или Super Nintendo, а некоторые свой пейджер. Так вот, к чему это я… Есть выражение «ничто не вечно». В сегодняшней статье рассмотрим, действительно ли это так в сфере разработки и стоит отказываться от VMWare в пользу Hyper-V в вопросе виртуализации? А также затронем плюсы обеих платформ и процесс перехода с одной на другую. Заглядывайте под кат!



Передаю слово автору.

Дисклеймер:


  1. Данная статья носит информативный характер и не преследует желание похайпить, а просто желание поделиться своей историей, которая, возможно, будет кому-нибудь полезна. Некоторые вещи сугубо индивидуальны, а суждения — личные.
  2. Нет, я не продался МS. Я просто долго искал статьи подобного плана как пищу для размышлений, но их не было. Пришлось делать самому.
  3. Блог МS — у меня нет инвайта, а товарищам идея статьи понравилась, и они предложили ее выложить.
  4. PR-а продукта не будет, будет рассказ про живое тестирование/внедрение.

Лирическое отступление
Мы живем в удивительном времени. А, может быть, и в ужасном, смотря с какой стороны посмотреть. Сейчас возможно то, что буквально лет 20 назад я читал в фантастических книжках: будущее наступившее через 200–500–1000 лет. Полеты на другие планеты, выход за пределы нашей солнечной системы, «цветущие яблони на Марсе» — все это казалось далеким и несбыточным.

А теперь у нас есть (ну практически есть) космический ядерный двигатель, план полететь на Марс в 2024 году и спутник за пределами нашей солнечной системы.

Так, собственно, к чему я это все веду. Это я к тому, что все это стало возможным благодаря (или вопреки) стремительно развивающимся компьютерным технологиям. Об одной из таких технологий сейчас и поговорим.

Эпиграф


Жила была одна компания. Ни большая, ни маленькая, ни высокая, ни низкая. Такой прям вылитый средний бизнес. Жила она себе с несколькими стойками оборудования, старого, от матери доставшегося. И наступил момент все это хозяйство обновлять. Посчитали товарищи стоимость оборудования, подумали, да надумали внедрять виртуализацию. А год был давний, из представителей славного рода универсальных виртуализаций только VMWare и была. В общем ее и внедрили. Шло время, менялись задачи, росли другие представители славного рода виртуализации. И пришло время снова выбирать себе представителя…

Главный вопрос ИТ-профессионала – «Зачем?»
(или «А нафига?»)


Позвольте представиться. Меня зовут Антон и я руковожу отделом инфраструктурных решений в одном их крупных российских ретейлеров. Как и в любой уважающей себя организации у нас используется виртуализация и, конечно же, наша всеми «любимая» 1С. Внедряли мы VMware давно, жили с ней, в принципе, неплохо (хотя историй добавивших мне седых волос тоже хватает), но, как и при любом развитии периодически приходится осматриваться вокруг, чтобы узнавать об альтернативных решениях.

А началась наша история перехода с того, что я увидел Hyper-V в одном углу вместе с VMware у квадранта Gartner. Тут-то я и призадумался. По итогу раздумий получилась вот такая табличка «за/против» перехода. А еще знаменитые косяки VMware с CBT… Прямо мнямка. Да еще и два раза в двух разных релизах. Прям огонь!

Минутка хайпа
Тут же вспоминается анекдот:

«Как узнать, что человек ярый веган. Никак. Он сам вам об этом расскажет.»
Так же и тут — как узнать ярого красноглазика. Никак. Он сам расскажет, что Linux — это божья благодать, а Windows — порождение князя тьмы.

Хейтеры 2x354 тут же встанут в стойку и, брызгая жидкостями, начнут рассказывать, как обновления Microsoft ломают к чертям вообще всю ОС. Это да, тут спорить не буду, есть у товарищей любовь к таким вот веселым подарочкам. Но в целом, процесс эволюции на мой взгляд у компании Microsoft доведен до совершенства. Революция — это не их, а вот эволюция — конек. И каждый выбирает то, что ему ближе.

Сразу оговорюсь — сравнение «by feature» тоже было, только в жизни никто «в здравом уме и крепкой памяти» не будет строить кластера по предельным значениям. Да и похожи они на самом деле практически как братья близнецы, а принципиальной разницы между тем, сколько сотен ядер можно отдать одной виртуальной машине я лично не вижу.

Минута холивара
Почему «Killer feature» от VMware во многом просто маркетинг?

Fault Tolerance. Серьезно? Вы читали ограничения? Вы реально это используете в продакшене? Если да, то мне вас искренне по-человечески жаль… За все время ни разу не видел, чтобы это кому-нибудь реально пригодилось…

Проброс USB и PCI-девайсов. Тоже очень спорный момент. Эти вещи лишают виртуалку основного преимущества виртуализации — свободной миграции между хостами. Проброс PCI мы использовали, но как только смогли отказаться — облегченно выдохнули. Для проброса USB уже давным-давно придуманы и сделаны как софтовые, так и аппаратные решения. Сильно проще.

Кэширование данных на чтение на локальные SSD. Да, когда вышла очень радовался этой возможности. Но в реальности прирост не увидел даже на синтетических данных. А в рабочей среде периодически ловил дикие зависания этой системы (тут я не утверждаю, что вина системы —возможно это мои кривые руки что-то не так настроили). И вишенка на торте: кэширует эта система только блоки определенного размера, и надо потратить много времени на сбор информации о размере запроса к диску, думать какая именно виртуалка должна быть приоритетна в использовании этой технологии.

Зато у Hyper-V есть штатная возможность уменьшить диск. Знаете, сколько раз я мечтал о таком в VMware? Гораздо больше чем можно себе это представить.

Да, еще момент. Переход на другой гипервизор — это индивидуальное решение, но вот мой список стоп-факторов, при наличии которых на мой взгляд точно не стоит переходить на Hyper-V. Ну или очень внимательно все продумать и протестировать.

  1. У вас основная ОС на Linux-серверах.
  2. Вам нужно запускать экзотику.
  3. Вам нужны готовые виртуальные сервера от вендеров (думаю это просто вопрос времени).
  4. Вы не любите Microsoft.
  5. VMware вы получили на халяву вместе с оборудованием.

Табличка размышлений

За переход на Hyper-V Против перехода на Hyper-V
Сокращение расходов на лицензии VMware Известность платформы VMware
На базе этой же платформы построен Azure Размер дистрибутива (спойлер: Nano Server не является аналогом esxi — это немного другая идеология и позиционирование)
Интересная сетевая виртуализация Простая схема лицензирования
Репликация на другие СХД виртуалок штатными методами Поддержка большого числа разных ОС
Бонусы при покупке комплекта для построения виртуализации (набор CIS, в который входят Windows Datacenter + System Center) VMware уже работает
Различные плюшки при разворачивании Windows-серверов Нет поддержки именно гипервизора как отдельного продукта
Можно уменьшать диски на лету VDI тут можно использовать только для лабы/тестов. Для продакшена это не подходит
Более оперативная поддержка новых версий Windows Наличие интересных законченных решений для виртуализации, когда ты у одного вендора покупаешь и железо и софт, и получаешь одну консоль управления и одно окно техподдержки
Это Microsoft Это Microsoft

«Прыжок веры»


Думал и гадал бы я еще долго, но тут сошлись звезды, и мы обновили парк серверов. А старые остались, причем неплохие, только уже медленные по нынешним меркам и к тому же морально устаревшие. И было принято стратегическое решение сделать ферму для разработки на базе Hyper-V. Перетащили сервера на новую площадку, обновили все прошивки серверов и понеслась.

План тестирования был прост:

  1. Берем сервер.
  2. Устанавливаем на него esxi. Ничего не меняем, настройки по умолчанию.
  3. Разворачиваем виртуальную машину.
  4. Производим тесты 5 раз:

    a) Для 1С тест Гилева.

    b) Для SQL — скрипт на запись.
  5. Настраиваем по Best Practice’s.
  6. Производим тесты 5 раз:

    a) Для 1С тест Гилева.

    b) Для SQL — скрипт на запись.
  7. Устанавливаем Hyper-V. Ничего не меняем, настройки по умолчанию.
  8. Разворачиваем виртуальную машину.
  9. Производим тесты 5 раз:

    a) Для 1С тест Гилева.

    b) Для SQL — скрипт на запись.
  10. Настраиваем по Best Practice’s.
  11. Производим тесты 5 раз:

    a) Для 1С тест Гилева.

    b) Для SQL — скрипт на запись.
  12. Ставим на физическую машину Windows Server, настраиваем по Best Practice’s и проводим тесты.
  13. Сравниваем и думаем.

Оборудование: Dell FC 630, 2 процессора Intel Xeon E5-2643 v4 (чисто под 1С), 512Гб памяти.
Диски: san-сеть на базе Dell SC 200 с Read-Intensive SSD.


Получили вот такие результаты:
VMWare без Best Practices Тест Гилева Тест SQL
1 22.42 12.2
2 18.6 17.51
3 18.12 7.12
4 26.74 7.18
5 26.32 4.22
VMWare с Best Practices Тест Гилева Тест SQL
1 26.46 4.28
2 26.6 6.38
3 26.46 4.22
4 26.46 6.56
5 26.6 4.2
HyperV без Best Practices Тест Гилева Тест SQL
1 27.17 4.32
2 26.46 6.08
3 26.04 4.24
4 26.18 5.58
5 25.91 6.01
HyperV с Best Practices Тест Гилева Тест SQL
1 26.18 6.02
2 27.62 6.04
3 26.46 6.2
4 26.74 4.23
5 26.74 6.02
Физика Тест Гилева Тест SQL
1 35.97 4.06
2 32.47 4.04
3 31.85 6.14
4 32.47 5.55
5 32.89 5.43

Легенда


Тест Гилева — больше значит лучше, абстрактные «попугаи».

Тест SQL — меньше значит лучше, время исполнения.

Что настраивали:

1. Шаги по подготовке хоста DELL Poweredge 630.

1.1. Настраиваем хост по рекомендациям от DELL

1.1.1. Включить Processor Settings -> Virtualization Technology — включено.

1.1.2. Включить Processor Settings -> Logical Processor — включено.

1.1.3. Включить System Profile Settings -> Turbo Boost (в документации Turbo Mode) — включено.

1.1.4. Отключить Memory Setting -> Node Interleaving (включает NUMA) — отключено.

1.1.5. Включить Power Management -> Maximum Performance — похоже включено.

1.1.6. Отключить ненужные девайсы в Integrated Devices — не трогал.

1.1.7. Отключить System Profile Settings -> С1E — отключено.

1.1.8. Включить Processor Settings -> Hardware Prefetcher — включено.

1.1.9. Включить Processor Settings -> Adjacent Cache Line Prefetch — включено.

1.1.10. Включить Processor Settings -> DCU Streamer Prefetcher — включено.

1.1.11. Включить Processor Settings -> Data Reuse — не нашел.

1.1.12. Включить Processor Settings -> DRAM Prefetcher — не нашел.

1.2 Настраиваем хост по рекомендации

1.2.1 Настроить Fibre Chanel HBA.

1.2.1.1 При загрузке хоста зайти в QLogic Fast!UTIL (CTRL+Q).

1.2.1.2 Выбрать первый порт.

1.2.1.3 Сбросить настройки Configuration Settings -> Restore Default Settings.

1.2.1.4 Включить Configuration Settings -> Adapter Settings -> Host Adapter BIOS -> Host Adapter BIOS -> Enable.

1.2.1.5 Включить Configuration Settings -> Adapter Settings -> Host Adapter BIOS -> Connection Options -> 1.

1.2.1.6 Включить Configuration Settings -> Advanced Adapter Settings -> Enable LIP Reset -> Yes.

1.2.1.7 Включить Configuration Settings -> Advanced Adapter Settings -> Enable LIP Full Login -> Yes.

1.2.1.8 Включить Configuration Settings -> Advanced Adapter Settings -> Login Retry Count -> 60.

1.2.1.9 Включить Configuration Settings -> Advanced Adapter Settings -> Port Down Retry Count -> 60.

1.2.1.10 Включить Configuration Settings -> Advanced Adapter Settings -> Link Down Timeout -> 30.

1.2.1.11 Настроить второй порт по пунктам 1.2.1.3 – 1.2.1.10.

2. Шаги по тестированию на платформе VMware без best practices.

2.1 Устанавливаем VMware 5.5 со всеми апдейтами.

2.2 Делаем необходимые настройки на VMware (в кластер не включаем, тестим отдельно).

2.3 Устанавливаем Windows 2016 и все обновления.

2.4 Устанавливаем «1С: Предприятие». Настраиваем, если нужно пока ставим по дефолту, версия 1С — 8.3.10. (последняя).

2.5 На отдельной машине устанавливаем Windows 2016 с сервером SQL 2016 — со всеми апдейтами.

2.6 Проводим тесты (5 раз).

3. Шаги по тестированию на платформе VMware по best practices.

3.1.1 Поместить swap-файл на SSD диск. Cluster -> Swap file location -> Store the swap file in the same directory as VM. Configuration -> VM Swapfile location -> Edit.

3.1.2 Рекомендуется включить vSphere Flash Infrastructure layer – не знаю, насколько это реализуемо в наших реалиях.

3.1.3 Настроить SAN Multipathing через Host -> Configuration -> Storage -> Manage Paths -> Path Selection -> Round Robin.

3.1.4 Включить Host -> Configuration -> Power management -> Properties -> High Perfomance.

3.2 Настраиваем VM согласно рекомендациям:

3.2.1 Используем paravirtual диски: VM -> SCSI Controller -> Change Type -> Paravirtual.

3.2.2 Желательно использовать Thick provision eager zeroed.

3.2.3 Включаем VM -> Options -> CPU/MMU Virtualization -> Use Intel VTx for instruction set and Intel EPT for MMU Virtualization.

3.2.4 Отключаем VM BIOS -> Legacy diskette, VM BIOS -> Primary Mater CD ROM.

4. Шаги по тестированию на платформе Windows Server без best practices:

4.1 Устанавливаем Windows Server 2016 Datacenter на хост и все обновления.

4.2 Делаем необходимые настройки на хосте.

4.3 Устанавливаем виртуальную машину с Windows и все обновления.

4.4 Устанавливаем «1С: Предприятие». Настраиваем, если нужно пока ставим по дефолту, версия 1С — 8.3.10 (последняя).

4.5 На отдельной машине устанавливаем Windows Server 2016 с сервером SQL 2016 со всеми апдейтами.

5. Шаги по тестированию на платформе Windows Server по best practices
Best practices изложены тут, тут и тут.

5.1 Настраиваем Host согласно рекомендациям:

5.1.1 Активировать MPIO:
Enable-WindowsOptionalFeature – Online – FeatureName MultiPathIO
(Get-WindowsOptionalFeature – Online – FeatureName "MultiPathIO").State


5.2 Настраиваем VM согласно рекомендациям:

5.2.1 Используем Generation2 VM.

5.2.2 Используем fixed диски в VM.

Если жизнь на Марсе?


Вроде жизнь удалась, тесты показывают, что расчеты и ставки были верны и теперь наступит та самая искомая нирвана… Так я думал и надеялся до тех пор, пока мы в тестовом режиме не поставили кластер для разработчиков.

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

Тут же вспомнилась история о пятидневной переписке с техподдержкой VMware о проблеме при переходе на 5.5. Оказалось, веселая штука. Если ты заводишь на SQL-сервере отдельную учетную запись для подключения vSphere, то пароль у нее должен быть не длиннее 14 символов (или 10, сейчас уже не помню), ибо дальше система банально обрезает и выкидывает как ненужную часть кусок пароля. Действительно, вполне себе обоснованное поведение.

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

Но, собравшись с духом, мы, все-таки, решили повоевать. И знаете, что? Все получилось. И оказалось, что проблемы с сетевой картой были аппаратные, проблема с кластером решились после правильной настройки сети. А после того, как мы переставили хостовые ОС и VMM на английские версии вообще все стало хорошо. И тут мне стало грустно… 2017 год, а все еще нужно ставить английскую Windows чтобы было меньше проблем. Это epic fail на мой взгляд. Зато бонусом получили гораздо более простой поиск по тексту ошибок.

В итоге кластер завелся, VMM работает корректно, а мы начали раздавать виртуалки пользователям.

Кстати, отдельного котла в аду заслуживает тот, кто придумал интерфейс и логику VMM… Сказать, что он непонятный — это ничего не сказать. При первом открытии у меня появилось полное ощущение что я смотрю на приборную доску корабля пришельцев. Вроде формы знакомые, но понимания что тут что и зачем нет никакого. Хотя возможно через много лет я привыкну. Или просто заучу действия как обезьянка.

Каково это, когда все-таки завел трактор?


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

Еще очень сильно, но очень приятно удивил вопрос миграцией машин из VMWare. Изначально я читал форумы, искал софт, думал как это будет. Оказалось, за меня уже все придумали. Мы в два счета подключили в VMM vCenter и прямо из VMM сказали «дорогой товарищ, дайте, пожалуйста, вот тех конфеток, уж больно они вкусные смигрируй мне пожалуйста вот эту виртуалку на новый гипервизор.» И самое что забавное — смигрировал. С первого раза. Без бубна и ошибок. И в итоге миграция, на тест которой я планировал выделить неделю уложилась в 40 минут, из которых 20 была сама миграция.

Чего не хватает:

  1. Маленького дистрибутива, заточенного именно под виртуализацию (аналога esxi).
  2. Нормальной консоли управления (консоль неудобная, особенно после управлялки от VMware, но есть надежда на проект Гонолулу. Во всяком случае, глядя на техническое превью, возникает понимание что продукт должен дать то самое удобство управления).
  3. Технической поддержки продукта виртуализации. Да, я знаю, что есть Premium Support, но это совсем не то, чего хочется.

Подводя итоги (если вам лень читать статью):


  1. Сейчас производительность двух платформ примерно одинакова.
  2. Производительность 1С такая же.
  3. В Hyper-V виртуальные диски можно как увеличивать, так и уменьшать. Причем онлайн.
  4. Очень, ну прямо очень, простая миграция с VMWare.
  5. Беда с поддержкой в привычном ее понимании.
  6. VMM крайне неудобная штука, особенно после vCenter. Но с другой стороны VMM это просто графическая оболочка для скриптов PowerShell, так что можно рулить всем этим через привычный Powershell CLI.
  7. Переход требует переучиваться и разбираться с тонкостями именно Hyper-V. Многие вещи и идеологические подходы разнятся.
  8. Шикарные шаблоны виртуальных машин с Windows. Удивительно удобно.
  9. Экономия денег.
  10. Более интересная на мой взгляд реализация Software-defined storage, но это «на любителя».
  11. Уважение за то, что весь Azure построен на собственных технологиях, которые потом приходят on-premise.
  12. Простая и очень плотная интеграция с облаком.
  13. Неплохая виртуализация сети, с многими любопытными моментами.
  14. На мой взгляд VDI – это не к Microsoft и Hyper-V. Но с другой стороны стрим проложений (RemoteApp) сделан весьма добротно, и для большинства компаний мало чем будет хуже, чем тот же Citrix.
  15. Слабая поддержка сторонними вендорами готовых образов виртуалок для Hyper-V (предположу, что явление временное).
  16. Весьма странная новая лицензионная политика (по ядрам).

Об авторе


Антон Литвинов – последние 6 лет работает в компании 585/Золотой. Прошел путь от сетевого инженера до руководителя отдела инфраструктурных решений и в итоге совмещает в себе мистера Джекила и доктора Хайда — фуллстак инженера и руководителя. В ИТ уже примерно 20 лет.

Комментарии (65)


  1. rub_ak
    19.01.2018 10:26

    «Слабая поддержка сторонними вендорами готовых образов виртуалок для Hyper-V (предположу, что явление временное)»
    Что то подобное я про windows phone слышал, пока его не прибили окончательно.


  1. panvartan
    19.01.2018 10:53

    Низкое качество кода 1с приводит к прямой зависимости отзывчивости программы от тактовой частоты процессора, что в сочетание с однопоточностью делает Turbo Boost необходимым условием нормальной работы. А в виртуальных машинах частота ограничена базовой частотой процессора. У вас еще очень удачный процессор с этой точки зрения — потеря частоты всего 0.3 GHz, а обычно все значительно хуже.


    1. Dr_Wut
      19.01.2018 11:01

      Да, я специально взял отдельную ферму серверов чисто под такие приложения (в основном 1С). И меня дико печалит что в 2018 году у нас есть такие продукты, которые до сих пор не могут нормально работать с современными процессорами… =(((((


    1. LoadRunner
      19.01.2018 11:22

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


  1. vesper-bot
    19.01.2018 11:23

    Проброс USB и PCI-девайсов

    Сабака, нужен под 1С с аппаратными ключами (особенно когда 1С не продает программные, а также когда перенос ВМ с хоста на хост рушит лицензирование 1С). Но это больше проблемы 1С, чем гипервизора, что VMware, что Hyper-V.


    Маленького дистрибутива, заточенного именно под виртуализацию (аналога esxi).

    Есть, в принципе, Hyper-V Server, но ЕМНИП он нифига не datacenter по количеству разрешенных виндов, которые он может на себе запустить. С лицензиями у Микрософт та ещё печаль, но хотя бы datacenter edition позволяет не заморачиваться на количество ВМ и лицензий на них.


    VMM крайне неудобная штука

    Угу, с учетом того, что её ещё развернуть надо суметь, для пары хостов она просто ни к чему. Для серьезных ферм да, нужна, или действительно рулить через Powershell. vCenter эту штуку уделывает в одни ворота, факт.


    Шикарные шаблоны виртуальных машин с Windows. Удивительно удобно.

    Мы так и не научились их готовить, в результате шаблоном ВМ с виндой для нас является VHDX от виртуалки, на которой выполнен sysprep и она остановлена вместо перезапуска. После подключения копии диска к новой ВМ все айдишники генерируются заново, т.е. получается "правильный" клон исходной ВМ, к которой потом можно и дисков добавить, и ядер, и всего остального. Как у вас устроены шаблоны?


    На мой взгляд VDI – это не к Microsoft и Hyper-V. Но с другой стороны стрим проложений (RemoteApp) сделан весьма добротно, и для большинства компаний мало чем будет хуже, чем тот же Citrix.

    К сожалению, да, VDI это тихий ужас (либо у нас мало ресурсов, чтобы его полноценно оценить). А RemoteApp — технология, независимая от Hyper-V, хотя и рекомендовано её использовать в виртуальной среде, и возможно, она тут не к месту. Всё же вещь приятная.


    Слабая поддержка сторонними вендорами готовых образов виртуалок для Hyper-V

    Главное — получить VHD/X, саму ВМ можно создавать просто по параметрам (vCPU, RAM, network и прочее), вот только скорее всего generation придется ставить первый. Плюс в некоторых ОС нет (или плохо искал) интеграции с гипервизором Hyper-V, а встроенный диск интеграции содержит только файлы для Windows.


    А так — хороший гипервизор, уже с версии 2012R2. Раньше было хуже, и намного.


    1. Dr_Wut
      19.01.2018 12:05

      Сабака, нужен под 1С с аппаратными ключами (особенно когда 1С не продает программные, а также когда перенос ВМ с хоста на хост рушит лицензирование 1С). Но это больше проблемы 1С, чем гипервизора, что VMware, что Hyper-V.

      Не знал про тему с миграцией и программными ключами, но столкнулся в живую. Тогда не догадался, а сейчас все встало на свои места. Как обычно 1С сделала «все для людей»


      1. phili_can
        19.01.2018 13:57

        Мы используем для этих целей AnyWhereUSB.


        1. DikSoft
          20.01.2018 12:59

          Не осилили по цене. Взяли USB Network Gate В качестве хостов используем устаревшие ноутбуки.


    1. DaemonGloom
      19.01.2018 12:58

      Есть, в принципе, Hyper-V Server, но ЕМНИП он нифига не datacenter по количеству разрешенных виндов, которые он может на себе запустить. С лицензиями у Микрософт та ещё печаль, но хотя бы datacenter edition позволяет не заморачиваться на количество ВМ и лицензий на них.

      Его установка ничем не отличается от Core установки обычного сервера (за исключением того, что изначальный образ больше). Места он займёт столько же, если выбрать аналогичные роли.


      1. NoOne
        19.01.2018 13:55

        Разница в лицензировании — Hyper-V Server бесплатный. Может вы там хотите крутить виртуалки с Linux, например.


        1. IT_pilot
          19.01.2018 15:03

          ESXi тоже бесплатный.


    1. NoOne
      19.01.2018 13:57

      Сабака, нужен под 1С с аппаратными ключами (особенно когда 1С не продает программные, а также когда перенос ВМ с хоста на хост рушит лицензирование 1С). Но это больше проблемы 1С, чем гипервизора, что VMware, что Hyper-V.

      Пользуемся аппаратной ключницей SEH myUTN, в т.ч. для 1С, работает без нареканий, ни разу не отваливалось ничего.


      1. vesper-bot
        19.01.2018 14:13

        «Она денег стоит, а у нас их нет» (с) директор. Из-за вот такой политики и делаем как можем. А железка хорошая, если её «VLAN enabled» означает, что она может видеться как несколько разных IP-адресов, подойдет и для нескольких клиентов с разными подсетями в одной инфраструктуре. Надо будет почитать повнимательнее, спасибо за инфу.


        1. navion
          19.01.2018 14:18

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


          1. vesper-bot
            19.01.2018 15:01

            Есть такая тема, да. Зато без дополнительных расходов (время не в счет, он его считать не умеет).


  1. IT_pilot
    19.01.2018 11:28

    Software-defined storage — это то, что мне очень не понравилось в Hyper-V. Storage Spaces Direct не видел SSD, постоянно ломался. Одним словом не работал. В vmware все завелось на раз: HDD + SSD в группе, все ОК. И все это на двух хостах. И я уже начал забывать про Thick provision eager zeroed, ибо дисками управляет политика. И скорость работы очень радует. Но конечно в отличии от windows здесь vSAN стоит денег. Про уменьшение размера диска — это да, есть такое. Правда в версии 6.5. UNMAP вернули, и даже автоматический.
    Ну а в целом — вы не затрагиваете продвинутые фичи vmware. Значит они вам не нужны, и, следовательно, для ваших задач Hyper-V достаточен. А если достаточно — зачем платить больше.


  1. EminH
    19.01.2018 11:48

    Nano server больше не поддерживается MICROSOFT как ОС для гипервайзера:
    https://docs.microsoft.com/en-us/windows-server/get-started/nano-in-semi-annual-channel


  1. Expelliamus
    19.01.2018 12:03

    Добавьте в Вашу табличку chkdsk. У VMWare есть утилита для поиска ошибок на разделах датастора, но вот исправить их не получится — contact VMWare support team.


    1. Dr_Wut
      19.01.2018 12:23

      Да, столкнулся я этой штукой. У нас был epic fail когда мы сделали размер LUN-а на схд больше физического объема дисков. Вот никто не предполагал что товарищи программисты возьмут и бахнут огромные объемы на тестовые машины.
      В итоге датастор отвалился. Причем для esxi до 5 восстановление работало — а теперь нет =(
      Так что chkdsk — штука нужная иногда


  1. achekalin
    19.01.2018 12:19

    Hyper-V — дитя маркетинга или реальная альтернатива?

    Такой заголовок, будь он не в блоге MS, автоматически предполагал бы ответ «дитя маркетинга». А в вашем блоге, не менее безусловно, будут обратные выводы.
    Спасибо, но — нет.

    В Hyper-V виртуальные диски можно как увеличивать, так и уменьшать

    При этом гостевая ОС — Windows?


    1. Dr_Wut
      19.01.2018 12:42

      Такой заголовок, будь он не в блоге MS, автоматически предполагал бы ответ «дитя маркетинга».

      На мой взгляд весьма странное и весьма спорное утверждение. В таком ракурсе можно сказать про любую сущность в нашем мире — везде присутствует доля маркетинга.
      А в вашем блоге, не менее безусловно, будут обратные выводы.

      Согласен, что вряд ли бы вышла статья где была бы одна строчка — «MS — must die, XXXX — rules». Тут вроде ресурс для взрослых адекватных людей, которые в основной массе своей понимают что нет абсолютного зла и абсолютного добра. Есть просто инструменты решающие или не решающие задачу. Тем более что в статье есть информация о том, что в продукте плохо.
      Спасибо, но — нет.

      Тут конечно же у каждого свой выбор, но хотелось бы понять почему. Чисто из любопытства.
      При этом гостевая ОС — Windows?

      Да, но у Linux появился штатный механизм изменения дисков налету? Без извращений и предварительной доработки напильником? (вполне вероятно что я просто не знаю о том, как это сделать)


      1. achekalin
        19.01.2018 12:47

        Честно говоря, я бы больше поверил, будь это просто пост, не в корпоративном блоге. Ничего личного, просто эхо get the facts.

        Опыт говорит, что на hyper-v хорошо держать только VM с виндой. Линукс можно, но на конкурирующих решениях почему-то он работает лучше.

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


        1. dmitry_dvm
          19.01.2018 12:58

          >Линукс можно, но на конкурирующих решениях почему-то он работает лучше.
          Давно юзаю Centos в Azure, а он оказывается плохо работает. Обоснуйте, пожалуйста.

          По теме — единственный минус для меня в Hyper-V это то, что не умеет, как VMWare показывать рабочий стол виртуалок с линуксом с копипастом и всем остальным добром. А так несколько лет на Hyper-V и никаких проблем. К тому же он искаропки на десятке. Но я не энтерпрайз, в промышленных масштабах не юзал.


      1. Softer
        19.01.2018 12:52

        При этом гостевая ОС — Windows?
        Да, но у Linux появился штатный механизм изменения дисков налету? Без извращений и предварительной доработки напильником? (вполне вероятно что я просто не знаю о том, как это сделать)

        Поведение KVM (на примере Proxmox) — увеличил диск — появилось не размеченное место — использовал по своему усмотрению (например добавил в LVM-группу и растянул ФС).
        Поведение Hyper-V — увеличил диск — выругался (вместе с гостевой ОС) — перезапустил (!) ВМ — увидел не размеченное место — далее по аналогии с пред. вариантом.

        В принципе — тоже самое и про добавление CPU/RAM — у Hyper-V виртуалку нужно тушить.
        Все проверял лично на примере CentOS 7. Для Hyper-V гостевые тулзы был поставлены с реп (вроде нынче это — best practice, не?).
        Так о каких извращениях речь?


        1. IT_pilot
          19.01.2018 12:58

          CPU/RAM — у Hyper-V виртуалку нужно тушить
          .
          У vmware HotAdd CPU убивает NUMA.
          А горячее добавление RAM только в версии 6.0. позволило раскидывать память по нодам NUMA. Но если машина не большая — то очень полезно (в некоторых случаях и на ограниченном числе ВМ).


        1. vesper-bot
          19.01.2018 13:35

          Поведение Hyper-V — увеличил диск — выругался (вместе с гостевой ОС) — перезапустил (!) ВМ
          Все проверял лично на примере CentOS 7

          М-м-м, CentOS — да, в части динамического управления ресурсами Hyper-V для линуксов не родной. RAM, кстати, заявлено, что добавляется/отнимается на лету, по крайней мере, для LIS 4.1. Процессоры, вроде как, и для виндов не добавляются динамически (может, потом допилят динамическое добавление ядер, хотя бы в винды). С дисками надо проверять.


        1. navion
          19.01.2018 13:46

          выругался (вместе с гостевой ОС) — перезапустил (!) ВМ

          Надо пнуть SCSI-контроллер, чтобы пересканировал шину:
          echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
          echo "- - -" > /sys/class/scsi_host/host0/scan


          Это не баг Hyper-V или VMware, а фича линукса на KVM. Также как возможность увеличивать/уменьшать разделы на Windows без плясок с бубном вокруг fdisk и lvm.


          1. Softer
            19.01.2018 13:47

            А вот и нет. Ресканить я пробовал в первую очередь. Не проканало, увы.


            1. navion
              19.01.2018 14:50

              Странно это, может виртуалка была первого поколения с IDE-контроллером?


              1. Softer
                19.01.2018 14:52

                Да. Именно. Но тут сложней. Из Gen2 даже шаблон сделать не удалось (привет UEFI вроде). Может есть какие лайфхаки у знающих? :)


  1. Softer
    19.01.2018 12:51

    del


  1. navion
    19.01.2018 14:06
    +1

    Для меня блокером использования Hyper-V являются:
    1. Отсутствие встроенного мониторинга — надо ставить монстроподобный SCOM вместо красивых графиков с алармами у VMware из коробки.
    2. Сложность траблшутинга и скудность информации в сети, тогда как в ESXi большинство проблем лечится перезагрузкой или переустановкой с подтягиванием настроек из хост-профайлов и vDS.

    Кстати, а SDN на Hyper-V умеет микросегментацию?


    1. IT_pilot
      19.01.2018 15:00

      По первому пункту не согласен — всегда использовал Veeam в бесплатной версии. Лучше родного мониторинга в vmware.
      А вот со вторым пунктом полностью согласен.
      Недавно проводил углубленный анализ поведения NUMA в ESXi, и даже не представляю как сделать тоже самое в Hyper-V.


    1. Dr_Wut
      19.01.2018 17:56

      2016 умеет, но глубоко не вдавался.


    1. Dr_Wut
      19.01.2018 18:12

      1. Отчасти согласен, но только отчасти
      2. Тут удивлен. Статей просто море, но вот рускоязычных точно меньше чем по вмваре. Ну и вопрос привычки — линуксоидам ближе вмваря, виндузятникам — гипер-в


      1. navion
        22.01.2018 13:36

        С англоязычными не лучше, на сотню блогов по VMware приходится пяток по Hyper-V.

        И про привычку я бы поспорил: у VMware сейчас подход более виндузовый, чем у современного MS, который клепает своё поделие для Azure и клиентов с премьер-поддержкой.


  1. gwathedhel
    19.01.2018 14:24
    +1

    Подскажите, а почему вы сравниваете устаревшую версию esx (5.5) с новой версией windows server?


    1. Dr_Wut
      19.01.2018 18:08

      Это последнее, что покупали. Нелицензию не используем


      1. Taciturn
        19.01.2018 18:58

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


        1. gwathedhel
          19.01.2018 19:35

          Именно. Иначе выходит игра в одни ворота: сравнивается свежая версия hyper-v с двухлетней esx


          1. Dr_Wut
            19.01.2018 20:37

            да, согласен, сравнение не идеальное, но тут еще наша специфика — сравнивали с тем, на чем работаем


  1. alramin
    19.01.2018 15:31
    +1

    Скорость работы платформы 1С на ВМ Hyper-V проигрывает железному серверу, и VMWare
    это надо учитывать!
    efsol.ru/articles/performance-comparison-1c.html


    1. Dr_Wut
      19.01.2018 18:05

      Почитал. ИМХО бред.
      1. По тестам выходит что на vmware 1с работает быстрее чем на простом компе. Это явный показатель подтасовки или/и кривого сбора данных.
      2. Опять же кофигурация стенда весма спорная.
      3. Не во всех тестах винда хуже
      4. Очень старые версии ПО. Ну уж совсем старые


      1. alramin
        19.01.2018 20:40
        +1

        недавно проверял тестом гилева 3 варианта
        на одном и том же сервере поочередно устанавливалось
        1. ESXi 6: Виртулка W2012R2 + 1С 8.3 + MS SQL 2014(Shared memory)
        2. Hyper-V 2012R2: Виртулка W2012R2 + 1С 8.3 + MS SQL 2014(Shared memory)
        3. Железо: W2012R2 + W2012R2 + 1С 8.3 + MS SQL 2014(Shared memory)

        Результат почти такой же как в статье, на Hyper-v проигрыш 10-15%. Железо и ESXi — почти одинаково.


        1. Dr_Wut
          20.01.2018 22:02

          На мой взгляд не корректно сравнивать два эти теста — в вашем варианте почти не играет роли сеть (скуль и сервер приложений на одном сервере) ну и у вас обратная ситуация — новый vmwera и старый hyper-v :)


      1. navion
        19.01.2018 20:57

        Это явный показатель подтасовки или/и кривого сбора данных

        Где-то попадалось, что NUMA-планировщик ESXi работает лучше линуксового и некоторые операции в ВМ выполняются быстрее.


        1. IT_pilot
          20.01.2018 13:43

          Автор кстати не корректно пишет про:
          «1.1.4. Отключить Memory Setting -> Node Interleaving (включает NUMA) — отключено.»
          Это не так.
          Node Interleaving наоборот выключает NUMA. Т.е. если параметр
          «NUMA Node Interleaving», включен, то ноды объединаются в единое пространство, что отключает распознавание NUMA-нод.
          Иными словами, если гостевая ОС поддерживает работу с NUMA, Node Interleaving необходимо действительно выключать. Иначе гостевая ОС узлы NUMA не увидит.
          А по поводу планировщика ESXi, то в версиях 6.0 и 6.5 архитектура виртуальной NUMA отличается.
          В версии 6.0. производительность в некоторых многопочных приложениях зависит от настройки ядро-на-сокет. Например если у вас два процессора по 12 ядер, и вы поставили ВМ 32 vCPU (32 процессора по одному ядру) то создается три виртуальных NUMA узла и балансировщик бессильно дергает лапками — производительность падает. Но если вы ручками поставите 4 процессора по 8 ядер, то создается 4 узла vNUMA и балансировщик отлично их раскидывает по двум физическим нодам. Производительность в два раза выше. Т.е. большие ВМ лучше не создавать ибо граблей кроме этого примера хватает.
          А вот в версии 6.5. виртуальные NUMA узлы создаются исходя из физической топологии.


          1. Dr_Wut
            20.01.2018 22:16

            Да, навернее было бы корректнее написать «маскирует NUMA от гостевой ОС»


          1. navion
            22.01.2018 10:03

            Вы так пишете, будто кто-то ещё не прочёл Host Deep Dive :)


  1. Kaiser
    19.01.2018 18:35

    Про уменьшение диска для Linux в любом гипервизоре. Я не админ, поэтому лет 10 назад у меня этот рецепт работал с настоящими железками. В случае любого гипервизора делаете тоже самое с виртуальными, а не настоящими дисками:
    — делаем бэкап
    — добавляем новый PV в LVM группу
    — отключаем старый PV (тогда был риск потери данных, но у нас же бэкап)


  1. BigD
    19.01.2018 21:34

    Опытные админы давно говорят, что ставить надо только английские версии серверных продуктов Microsoft. А в идеале и десктопных.

    А что за лучшие практики VMware упоминались?


    1. IT_pilot
      20.01.2018 13:11

      Есть такой документ у vmware. Официальный. Он обновляется для каждой версии. Но он содержит скорее общие рекомендации. Автор использует Round Robin — а там очень много нюансов. И они зависят от производителя оборудования и от его рекомендаций по настройке, например число IOPs для переключения. Т.е. правильная настройка может улучшить производительность.
      Опять же можно тщательно промониторить как ведет себя дисковый ввод ввывод, где живет очередь команд, как она изменяется в зависимости от типа балансировки (Round Robin — это тип балансировки). Это штатными средствами. Еще можно использовать утилиты не включенные в основной функционал, разработанные самими сотрудниками vmware так сказать в свободное время. Очень полезно знать какие размеры блока и с какой частотой генерирует каждый диск ВМ. В зависимости от этого можно принимать решение на каком сторажде размещать диски или какую политику на них вешать.
      Но это уже тонкий тюнинг. В большинстве случаев он не нужен и, следовательно, Hyper-V вполне достаточен.



  1. bassz
    19.01.2018 23:48

    По моему визуализировать 1с и sql имеет смысл только на небольшое количество пользователей, а если пользователей 200 и более то смысл виртуализации?


    1. rub_ak
      20.01.2018 07:38
      +1

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


      1. bassz
        20.01.2018 09:59

        Миграция с хоста на хост это да очень большой плюс.
        но если пользователей много и VM 1c и sql большие ( на весь хост) то наверно преимущество получается сомнительное.
        Когда я тестировал однопоточным тестом результаты были такие:
        50 на железе (Shared Memory)
        42 на железе на разных серверах
        45 на VM (Shared Memory)
        37 на разных VM и разных хостах
        получается если нужна производительность и много пользователей то только голое железо
        с небольшим количеством пользователей можно и на VM.
        Может есть у кого примеры виртуализации 1с и SQL 200-300 активных пользователей
        с размером базы 500-900GB.



        1. Dr_Wut
          20.01.2018 22:24

          Вируализована база 400+ пользователей и 1,5 тб база. Живет нормально, пользователи не жалуются. Но вот качество кода должно быть очень на высоте — малейший просчет и получаем дикие тормоза.
          По поводу shared memory — очень спорный момент. 1с сама толком не может дать окончательные рекомендации, но по своему опыту скажу — разнесение дает выигрышь технический. 1с требует быстрые ядра, но не требовательна к их количеству. Sql же наоборот — более требователен к количеству ядер, но их скорость не критична. Вот и получается что постоянно балансируешь межу взаимоисключающими вещами.


  1. Gutt
    20.01.2018 01:05

    Hyper-V Server по-прежнему бесплатен, в т. ч. и последняя версия 2016. Как раз похоже на ESXi — нет графической оболочки, минимум ролей, они раньше называли это Core. Майкрософт, правда, как и в случае Hyper-V Server 2012, особенно наличие такой штуки не афиширует. Тыц!


  1. ZloyVitec
    20.01.2018 10:22

    «Математика» KVM намного приятней

    пример:
    на сервере 64ГБ ОЗУ, i7-3930K, 300 однотипных виртуалок по 500МБ ОЗУ на гостя (на одном мастер образе)

    установки для KSM:
    /bin/echo «1»>/sys/kernel/mm/ksm/run
    /bin/echo «3200» >/sys/kernel/mm/ksm/pages_to_scan
    /bin/echo «10» >/sys/kernel/mm/ksm/sleep_millisecs

    free -m
    total used free shared buff/cache available
    63850 30125 2220 175 31503 31674


    1. Dr_Wut
      20.01.2018 22:12

      А можете рассказать что у вас крутиться на машинах с 500мб памяти (если это не секрет конечно же)? Просто мне казалось что сейчас 1-2 гига озу уже практически стандарт.


    1. NoOne
      22.01.2018 08:08

      300 виртуалок на 6 (12) ядер, 50:1… мне тоже интересно, что там такое крутится на виртуалках?


  1. UnknownQq
    20.01.2018 12:59
    +1

    Вроде, статья не плохая, но, почему-то, у меня четкое ощущение, что мне что-то навязывают.


    1. Dr_Wut
      20.01.2018 22:07

      Странно, я как раз всячески этого пытался избежать. Идея была именно поделиться своей историей. Хотя возможно это отпечаток корпоративного блога :)


      1. UnknownQq
        23.01.2018 07:59

        Скорее всего, так и есть. Хотя, надо отметить, что у меня все изначально было(и есть) на Hyper-V, а VMware стоит для тестов.


  1. avelor
    20.01.2018 14:51

    Не так давно пришлось выбирать гипервизор для работы вин2003+Sql2000 + 1c 7.7.
    Удивительным образом на hyper-v связка работала невозможно медленно, в отличие от kvm и vmware.
    А так да, общая стоимость владения у hyper-v выходит меньше, с мигрирующими виртуалками и вот-этим-всем.

    Remoteapp же с 1с работает всё ещё паршиво — то модальные окна пропадут, то ещё что. В отличие от полноценного rdp…