Hyper-V — Продукт Маркетинга Или Реальная Альтернатива?

Привет, Хабр! Сейчас я вам задам вопрос, а вы задумайтесь: Что лично для вас очень популярное и когда-то вызывающее трепет, сегодня вы вспоминаете только из-за «ностальгии»? Наверняка кто-то вспомнит Dendy или Super Nintendo, а кто-то вспомнит их пейджер.

Вот что я имею в виду.

Есть выражение «ничто не вечно».

В сегодняшней статье мы рассмотрим, действительно ли это справедливо в сфере разработки и стоит ли отказываться от VMWare в пользу Hyper-V, когда дело касается виртуализации? Также мы коснемся преимуществ обеих платформ и процесса перехода с одной на другую.

Посмотрите под кат!

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

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



Отказ от ответственности:

  1. Данная статья носит информативный характер и не преследует желания хайпаить, а просто желание поделиться своей историей, которая может быть кому-то полезна.

    Некоторые вещи сугубо индивидуальны, и суждения индивидуальны.

  2. Нет, я не в восторге от MS. Просто я долго искал статьи подобного рода как пищу для размышлений, но их не было.

    Мне пришлось сделать это самому.

  3. Блог MS - у меня нет инвайта, но товарищам понравилась идея статьи и они предложили ее разместить.

  4. Никакого пиара продукта не будет, будет рассказ о живом тестировании/внедрении.

Лирическое отступление Мы живем в удивительные времена.

И, может быть, даже ужасно, в зависимости от того, с какой стороны на это посмотреть.

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

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

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

Давайте сейчас поговорим об одной из таких технологий.



Эпиграф

Была одна компания.

Ни большой, ни маленький, ни высокий, ни низкий.

Это вылитый образ среднего бизнеса.

Она жила с несколькими стеллажами со старой техникой, доставшейся ей в наследство от матери.

И настал момент обновления всей этой экономики.

Товарищи посчитали стоимость оборудования, подумали и решили внедрить виртуализацию.

И было это очень давно, и из славного семейства универсальных виртуализаций существовала только VMWare. В общем, это было реализовано.

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

И пришло время снова выбирать представителя.



Главный вопрос для ИТ-специалиста: «ПочемуЭ» (или «ЗачемЭ»)

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

Меня зовут Антон, и я возглавляю отдел инфраструктурных решений одного из крупных российских ритейлеров.

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

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

решения.

А наша история перехода началась с того, что я увидел Hyper-V в одном углу с VMware в квадранте Gartner. Вот тогда я начал думать.

В результате размышлений мы получили вот такую табличку «за/против» перехода.

А еще знаменитые косяки VMware с CBT. Просто конфетка.

Да, и дважды в двух разных выпусках.

Прямо огонь! Минутка хайпа Сразу приходит на ум анекдот: «Как узнать, что человек ярый веган.

Ни за что.

Он сам вам об этом расскажет. Здесь то же самое – как распознать ярый красный глаз.

Ни за что.

Он сам вам скажет, что Linux – это божья благодать, а Windows – творение князя тьмы.

Хейтеры 2x354 тут же встанут и, брызгая жидкостью, начнут рассказывать, как обновления Microsoft ломают всю ОС к чертям.

Да, я не буду здесь спорить; мои товарищи любят такие забавные подарки.

Но в целом, на мой взгляд, процесс эволюции в Microsoft доведен до совершенства.

Революция – не их конек, а эволюция – их сильная сторона.

И каждый выбирает то, что ему ближе.

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

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

Минутка холивара Почему «Убийственная функция» VMware по большей части является просто маркетингом? Отказоустойчивость.

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

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

Проброс USB и PCI устройств.

Это тоже очень спорный момент. Эти вещи лишают виртуальную машину главного преимущества виртуализации — свободной миграции между хостами.

Мы использовали PCI-форвардинг, но как только смогли отказаться от него, вздохнули с облегчением.

Для USB-проброса уже давно придуманы и сделаны как программные, так и аппаратные решения.

Намного легче.

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

Но на самом деле я не увидел роста даже на синтетических данных.

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

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

.

Но у Hyper-V есть стандартная возможность сжимать диск.

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

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

  1. Ваша основная ОС находится на серверах Linux.
  2. Вам нужно запустить экзотику.

  3. Нужны готовые виртуальные сервера от вендоров (думаю, это вопрос времени).

  4. Тебе не нравится Майкрософт.
  5. Вы получили VMware бесплатно вместе с оборудованием.



Таблица отражений

Для перехода на Hyper-V Против перехода на Hyper-V
Сокращение затрат на лицензию VMware Популярность платформы VMware
Azure построен на той же платформе.

Размер дистрибутива (спойлер: Nano Server не является аналогом esxi — это немного другая идеология и позиционирование)
Интересная виртуализация сети Простая схема лицензирования
Репликация на другие виртуальные системы хранения стандартными методами.

Поддерживает большое количество различных операционных систем.

Бонусы при покупке комплекта виртуализации (комплект CIS, включающий Windows Datacenter + System Center) VMware уже работает
Различные преимущества при развертывании серверов Windows Нет поддержки гипервизора как отдельного продукта.

Вы можете сжимать диски на лету VDI здесь можно использовать только для лабораторных работ/тестов.

Это не подходит для производства.

Ускоренная поддержка новых версий Windows. Наличие интересных комплексных решений для виртуализации, когда вы покупаете и оборудование, и ПО у одного поставщика, а получаете одну консоль управления и одно окно технической поддержки.

Это Майкрософт Это Майкрософт


"Прыжок веры"

Я бы долго думал и гадал, но потом звезды сошлись и мы обновили парк серверов.

А старые остались, и они были неплохие, но медленные по нынешним меркам и к тому же морально устаревшие.

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

План испытаний был прост:

  1. Берем сервер.

  2. Установите на него esxi. Ничего не меняем, настройки по умолчанию.

  3. Развертываем виртуальную машину.

  4. Тесты проводим 5 раз: а) Для 1С теста Гилева.

    б) Для SQL — скрипт записи.

  5. Мы настраиваем в соответствии с Best Practices.
  6. Тесты проводим 5 раз: а) Для 1С теста Гилева.

    б) Для SQL — скрипт записи.

  7. Установка Гипер-В.

    Ничего не меняем, настройки по умолчанию.

  8. Развертываем виртуальную машину.

  9. Тесты проводим 5 раз: а) Для 1С теста Гилева.

    б) Для SQL — скрипт записи.

  10. Мы настраиваем в соответствии с Best Practices.
  11. Тесты проводим 5 раз: а) Для 1С теста Гилева.

    б) Для SQL - скрипт записи.

  12. Мы устанавливаем Windows Server на физическую машину, настраиваем его в соответствии с Best Practices и запускаем тесты.

  13. Сравниваем и думаем.

Комплектация: Dell FC 630, 2 процессора Intel Xeon E5-2643 v4 (чисто для 1С), 512Гб памяти.

Диски: san network на базе Dell SC 200 с твердотельным накопителем для интенсивного чтения.

Мы получили такие результаты:

VMWare без передового опыта тест Гилева 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 с лучшими практиками тест Гилева 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 без передового опыта тест Гилева 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 с лучшими практиками тест Гилева 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. Включить настройки процессора -> Технология виртуализации - включено.

1.1.2. Включить настройки процессора -> Логический процессор - включено.

1.1.3. Включить настройки профиля системы -> Turbo Boost (в документации по режиму Turbo) — включено.

1.1.4. Отключить настройку памяти -> Перемежение узлов (включает NUMA) — отключено.

1.1.5. Включить управление питанием -> Максимальная производительность - вроде включено.

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

1.1.7. Отключить настройки профиля системы -> C1E - отключено.

1.1.8. Включить настройки процессора -> Аппаратная предварительная выборка - включено.

1.1.9. Включить настройки процессора -> Предварительная выборка смежной строки кэша - включено.

1.1.10. Включить настройки процессора -> Предварительная выборка DCU Streamer - включено.

1.1.11. Включить настройки процессора -> Повторное использование данных — не найдено.

1.1.12. Включить настройки процессора -> Предварительная выборка DRAM - не найдено.

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 Сброс настроек конфигурации -> Восстановить настройки по умолчанию.

1.2.1.4 Включить настройки конфигурации -> Настройки адаптера -> BIOS хост-адаптера -> BIOS хост-адаптера -> Включить.

1.2.1.5 Включить настройки конфигурации -> Настройки адаптера -> BIOS хост-адаптера -> Параметры подключения -> 1. 1.2.1.6 Включить настройки конфигурации -> Дополнительные настройки адаптера -> Включить сброс LIP -> Да.

1.2.1.7 Включить настройки конфигурации -> Дополнительные настройки адаптера -> Включить полный вход LIP -> Да.

1.2.1.8 Включите параметры конфигурации -> Дополнительные настройки адаптера -> Число повторных попыток входа -> 60. 1.2.1.9 Включите параметры конфигурации -> Дополнительные настройки адаптера -> Число повторных попыток порта -> 60. 1.2.1.10 Включить настройки конфигурации -> Дополнительные настройки адаптера -> Тайм-аут соединения -> 30. 1.2.1.11 Настройте второй порт согласно пунктам 1.2.1.3 – 1.2.1.10. 2. Шаги по тестированию на платформе VMware без лучших практик.

2.1 Установите VMware 5.5 со всеми обновлениями.

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

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

2.4 Установите «1С:Предприятие».

Настраиваем, если нужно, ставим пока по умолчанию, версия 1С - 8.3.10. (последний).

2.5 На отдельную машину устанавливаем Windows 2016 с SQL Server 2016 - со всеми обновлениями.

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

3. Этапы тестирования на платформе VMware лучшие практики .

3.1.1 Поместите файл подкачки на SSD-диск.

Кластер -> Местоположение файла подкачки -> Сохраните файл подкачки в том же каталоге, что и виртуальная машина.

Конфигурация -> Расположение файла подкачки виртуальной машины -> Изменить.

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

3.1.3 Настройка нескольких путей SAN через Хост -> Конфигурация -> Хранилище -> Управление путями -> Выбор пути -> Раунд-робин.

3.1.4 Включить Хост -> Конфигурация -> Управление питанием -> Свойства -> Высокая производительность.

3.2 Настройте ВМ согласно рекомендациям: 3.2.1 Используем паравиртуальные диски: VM -> SCSI Controller -> Change Type -> Paravirtual. 3.2.2 Целесообразно использовать толстое положение с возможностью обнуления.

3.2.3 Включить виртуальную машину -> Параметры -> Виртуализация ЦП/MMU -> Использовать Intel VTx для набора инструкций и Intel EPT для виртуализации MMU. 3.2.4 Отключите VM BIOS -> Устаревшая дискета, VM BIOS -> Primary Mater CD ROM. 4. Шаги по тестированию на платформе Windows Server без рекомендаций: 4.1 Установите Windows Server 2016 Datacenter на хост и все обновления.

4.2 Произведите необходимые настройки на хосте.

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

4.4 Установите «1С:Предприятие».

Настраиваем, если нужно, ставим пока по умолчанию, версия 1С - 8.3.10 (последняя).

4.5 На отдельную машину устанавливаем Windows Server 2016 с SQL Server 2016 со всеми обновлениями.

5. Шаги по тестированию на платформе Windows Server в соответствии с лучшими практиками Изложены лучшие практики здесь , здесь И здесь .

5.1 Настройте Хост согласно рекомендациям: 5.1.1 Активировать МПИО:

Enable-WindowsOptionalFeature – Online – FeatureName MultiPathIO (Get-WindowsOptionalFeature – Online – FeatureName "MultiPathIO").

State

5.2 Настройте ВМ согласно рекомендациям: 5.2.1 Использование виртуальной машины поколения 2. 5.2.2 Использование фиксированных дисков в ВМ.



Что, если жизнь есть на Марсе?

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

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

Не буду врать, установка действительно проста и понятна.

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

В этом плане продукт от Microsoft мне понравился гораздо больше.

Сразу вспомнилась история пятидневной переписки с техподдержкой VMware по поводу проблемы при переходе на 5.5. Это оказалось забавной вещью.

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

Действительно, вполне разумное поведение.

Но все самое интересное началось позже.

Один сервер упал и отказался видеть сетевую карту (в конце концов, ОС тут ни при чем).

Потом серверы начали терять кворум.

Потом сервера начали хаотично вылетать из кластера.

VMM толком не работал и часто просто не мог подключиться к ферме.

Потом серверы начали подтормаживать в кластере.

Потом при миграции машины стали видеться на двух хостах.

В целом ситуация, как нам казалось, была близка к катастрофе.

Но, собравшись с духом, мы все же решили сражаться.

И угадай что? Все получилось.

И оказалось, что проблемы с сетевой картой были аппаратными, проблема с кластером решилась после правильной настройки сети.

А после того, как мы перевели хостовую ОС и VMM на английские версии, всё стало нормально.

И тут мне стало грустно.

На дворе 2017 год, а мне еще нужно поставить английскую винду, чтобы было меньше проблем.

На мой взгляд это эпический провал.

Но в качестве бонуса мы получили гораздо более простой поиск текста ошибки.

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

Кстати, тот, кто придумал интерфейс и логику ВММ, заслуживает отдельного котла в аду.

Сказать, что это непонятно, — ничего не сказать.

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

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

Хотя, возможно, через много лет я привыкну.

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



Что вы чувствуете, когда наконец заводите трактор?

В целом мои эмоции и ощущения от перехода положительные.

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

Пока у нас работает кластер для разработчиков, мы привыкаем к новой жизни.

Еще меня очень, но очень приятно удивил вопрос миграции машин с VMWare. Изначально я читал форумы, искал софт и думал, как оно будет. Оказалось, что за меня уже все продумано.

Мы быстро подключили vCenter к VMM и прямо из VMM сказали: «Дорогой товарищ, дайте мне, пожалуйста, эти сладости, они такие вкусные, пожалуйста, перенесите мне эту виртуальную машину на новый гипервизор».

И самое смешное, что он мигрировал.

Первый раз.

Без бубна и ошибок.

И в итоге миграция, на тестирование которой я планировал потратить неделю, заняла 40 минут, 20 из которых — сама миграция.

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

  1. Небольшой дистрибутив, заточенный специально под виртуализацию (аналог esxi).

  2. Обычная консоль управления (консоль неудобна, особенно после VMware управления, но есть надежда на проект Гонолулу.

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

  3. Техническая поддержка продуктов виртуализации.

    Да, я знаю, что есть Премиум-поддержка, но это совсем не то, что я хочу.



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

  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 построен на собственных технологиях, которые затем устанавливаются локально.

  12. Простая и очень тесная интеграция с облаком.

  13. Неплохая виртуализация сети, со множеством интересных моментов.

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

  16. Очень странная новая политика лицензирования (по ядрам).



об авторе



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

Антон Литвинов работает в компании «585/Золотой» последние 6 лет. Он прошел путь от сетевого инженера до руководителя отдела инфраструктурных решений и в конечном итоге совмещает в себе мистера Джекила и доктора Хайда — инженера полного цикла и менеджера.

Я работаю в ИТ около 20 лет. Теги: #Windows Development #microsoft #Виртуализация #Microsoft Azure #it-инфраструктура #Hyper-V #визуализация #wmvare

Вместе с данным постом часто просматривают: