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


Привет, Хабр! Сейчас я задам вам вопрос, а вы задумайтесь: Что, очень популярное и когда-то вызывавшее трепет лично у вас, сегодня вспоминается только для «поностальгировать»? Наверняка, кто-то вспомнит 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
    /#10624664

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

  2. panvartan
    /#10624728

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

    • Dr_Wut
      /#10624740

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

    • LoadRunner
      /#10624780

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

  3. vesper-bot
    /#10624782

    Проброс 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. Раньше было хуже, и намного.

    • Dr_Wut
      /#10624882

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

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

      • phili_can
        /#10625188

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

        • DikSoft
          /#10626452

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

    • DaemonGloom
      /#10625046

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

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

      • NoOne
        /#10625186

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

    • NoOne
      /#10625190

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

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

      • vesper-bot
        /#10625242

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

        • navion
          /#10625258

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

          • vesper-bot
            /#10625364

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

  4. IT_pilot
    /#10624792

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

  5. EminH
    /#10624846

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

  6. Expelliamus
    /#10624878

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

    • Dr_Wut
      /#10624936

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

  7. achekalin
    /#10624926

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

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

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

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

    • Dr_Wut
      /#10624990

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

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

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

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

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

      • achekalin
        /#10625002

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

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

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

        • dmitry_dvm
          /#10625048

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

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

      • Softer
        /#10625034

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

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

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

        • IT_pilot
          /#10625050

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

        • vesper-bot
          /#10625140

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

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

        • navion
          /#10625166

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

          Надо пнуть 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.

          • Softer
            /#10625170

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

            • navion
              /#10625340

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

              • Softer
                /#10625350

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

  8. Softer
    /#10625028

    del

  9. navion
    /#10625214 / +1

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

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

    • IT_pilot
      /#10625360

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

    • Dr_Wut
      /#10625640

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

    • Dr_Wut
      /#10625672

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

      • navion
        /#10628466

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

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

  10. gwathedhel
    /#10625288 / +1

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

    • Dr_Wut
      /#10625666

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

      • Taciturn
        /#10625734

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

        • gwathedhel
          /#10625782

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

          • Dr_Wut
            /#10625828

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

  11. alramin
    /#10625440 / +1

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

    • Dr_Wut
      /#10625654

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

      • alramin
        /#10625832 / +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 — почти одинаково.

        • Dr_Wut
          /#10626900

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

      • navion
        /#10625842

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

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

        • IT_pilot
          /#10626488

          Автор кстати не корректно пишет про:
          «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 узлы создаются исходя из физической топологии.

          • Dr_Wut
            /#10626914

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

          • navion
            /#10628096

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

  12. Kaiser
    /#10625706

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

  13. BigD
    /#10625902

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

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

    • IT_pilot
      /#10626462

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

  14. bassz
    /#10626028

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

    • rub_ak
      /#10626206 / +1

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

      • bassz
        /#10626260

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


        • Dr_Wut
          /#10626924

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

  15. Gutt
    /#10626074

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

  16. ZloyVitec
    /#10626270

    «Математика» 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

    • Dr_Wut
      /#10626908

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

    • NoOne
      /#10628000

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

  17. UnknownQq
    /#10626454 / +1

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

    • Dr_Wut
      /#10626906

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

      • UnknownQq
        /#10629914

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

  18. avelor
    /#10626544

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

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