Как стать автором
Обновить

Бесплатная виртуализация — практическая применимость

Время на прочтение 7 мин
Количество просмотров 70K
Нет, названием я вовсе не хотел сказать, что это плохая технология, она наоборот прекрасна, но вот её реализации очень различаются. В интернете куча ресурсов, посвященных этой теме, и каждый считает своим долгом сделать сравнение, да еще с кучей графиков и официальных рекламаций. Чтож, значит это и мой долг. Вся разница в том, что мое сравнение будет включать в себя те аспекты, которые были значимы для меня (например проброс USB устройств в гостевые системы и удобство реализации программного роутера), а еще мне будет лень приводить официальные таблицы и значит мое сравнение будет короче, привязано к одной из практических задач. И самое главное — поскольку предприятие, в котором я работаю очень скупо на развитие IT инфраструктуры, то обсуждение будет вестись вокруг бесплатных продуктов. Итак, в ходе домашней и профессиональной деятельности пришлось столкнуться с такими системами, как VMWare vSphere, Microsoft Hyper-V и KVM. Рассмотрим их в порядке моего знакомства:


VMWare vSphere (ESXi)


О продукции VMWare всегда был только лучшего мнения и эта платформа стала любимой, но при одном условии — соответствие HCL (hardware compatibility list). То есть если «железо» хоста не отвечает HCL то можно только надеяться, что сами контроллеры совпадут с теми, что используются в комплектующих из HCL и в vSphere окажутся драйвера для них. Если же нет, то не видать вам этой платформы на хосте. Это есть главный минус платформы, который вытекает из главного плюса — она законченная. То есть не надо ничего пилить, строгать и бегать с бубном. Если она встает — значит она встает. То есть с полпинка и готовая для использования в производственной среде. Может устанавливаться на флеш накопитель, подключает почти все возможные системы хранения (local, NFS, iSCSI, FC).

Правильный аппаратный RAID понимает без проблем, «неправильный» не понимает в принципе. Очень мощные функции управления виртуальными сетевыми адаптерами. Не знаю что уж там в платном виртуальном коммутаторе Nexus 1000, но бесплатный — вполне L2 switch. В частности мою основную и вспомогательную сетевые потребности отрабатывает на ура, а именно:

1) основная — это сетевой мост (вроде бы так называется этот функционал), то есть позволить выделенному виртуальному интерфейсу работать так, как будто к нему напрямую подключен провод. Не знаю как лучше это объяснить, по сути вполне ожидаемая функция, например так работает шлюз, ему отдан интерфейс с подключением к провайдеру, виртуальному интерфейсу средствами vSphere присвоен зарегестрированный MAC и шлюз по этому MAC'у получает у провайдера IP, устанавливает PPPoE канал и все тому подобное.

2) вспомогательная — L2 свитч с поддержкой tagged и untagged портов. Благодаря этому шлюз прекрасно маршрутизирует VLAN сети, будучи подключенным только к одному физическому интерфейсу.
Ну и на десерт — полноценный проброс USB устройств в гостевые системы (например аппаратных USB ключей) и неплохие бесплатные решения для миграции и резервных копий. Veeam Backup&Replicate в бесплатной редакции реализует даже hot storage vMotion. Родная утилита конвертации позволяет легко и просто переделывать образы физических машин и иных виртуальных машин в работающие образы vSphere. Если к этому еще добавить платный, но прелестный vmware workstation, который будучи очень хорошим гипервизором второго уровня умеет подключаться к хосту vSphere и управлять его виртуальными системами, то картина вырисовывается прямо загляденье. Расплаты тут только две увидел на данный момент: HCL и RAID.

Microsoft Hyper-V Server


Как много он умеет согласно официальным пресс-релизам. Собирая домашний серверок я конечно подавал надежды именно на эту платформу, потому как моя платформа никак не попадала в HCL vmware. Первое, что бросилось в глаза — нужен бубен, и только фирменный для того, чтобы её запустить. Без «поллитры» или хорошего руководства тут не обойтись (к слову, первое знакомство с vSphere происходило без руководств, бубнов и подсказок, только на интуитивном уровне). Ну и чтобы хоть как-то сносно произвести начальную постустановочную настройку, приходится пользоваться неофициальными (любительскими) утилитами. Даже после нахождения хорошего руководства, приходилось долго соображать почему не отображается среди возможных интерфейсов ни одна сетевая карта, несмотря на только что установленные драйвера. Разгадка заключалась в том, что пока не вставишь кабель, система не отображает физический сетевой интерфейс. Интерфейс очень скудный, настроек для виртуальных машин и гипервизора меньше, зато судя по рекламам функций больше, просто они тщательней запрятаны. Начал я естественно со шлюза и … Hyper-V не справился с сетевой задачей #1. Более того проброс USB с хоста в гостевую систему в версии 3 еще не возможен, а более новой пока нет. Но вместо того, чтобы признать эту недоработку, представители MS в некоторых ресурсах указывают на то, что эта функция пока не доступна из-за ряда технологических ограничений, а у vmware она реализована неправильно — ах какие молодцы. Установка на флэш накопитель вроде бы возможна, но опять же только с «поллитрой», а так и спиться можно раньше, чем платформа заработает. Зато неправильные RAID ей не помеха.

Итак, что у нас в сухом остатке? Всеядность в отношении «железа» и всеядность в отношении RAID. Плюс должны работать качественные утилиты Veeam, но проверить я этого не смог — быстро решил искать ей замену.

KVM


Еще одна хваленая платформа. Почитал про её возможности и не смог устоять перед желанием испытать её, тем более что нужна была всеядная замена Hyper-V. И вот тут я понял, что это просто инвертированная vSphere во всех смыслах. Первое, с чем я столкнулся — множество разных вариантов разворачивания этой платформы. То есть предполагается, что человек должен все их попробовать, проанализировать и сделать вывод как правильнее в его случае. Как-то это непривычно в применении к серверам. К тому же не нашел официальных best practices по установке — реально кто во что горазд. Один утверждает, что надо все вручную сделать через libvirt, другой — что достаточно поставить VirtManager, а дальше все сделается автоматом, третий же утверждает, что лучше накатить ProxMox на Debian. Итог: желание попробовать вылилось в изучение доступных средств разворачивания и выбор оптимального. Таковыми являются на мой взгляд bare metal вариации, которые не требует предварительно установленной и подготовленной системы — пакет должен быть подогнан, так сказать «костюмчик должен сидеть». И из всего выходило, что внимания заслуживают дистрибутивы ProxMox и OpenNode. Первый на Debian, знакомство с которым старо и поверхностно, второй же на CentOS, который я использую не в одном экземпляре, считаю синонимом стабильности и конечно наследником RedHat way, с которого я и начинал знакомство с Linux.

OpenNode


OpenNode насчитывал уже 6-ую версию релиза и посему был воспринят мной, как серьезная заявка на платформу для производственной среды и уж тем более для дома. Установка преподнесла сюрприз — я никак не мог пройти этап первоначальной настройки сетевого интерфейса: вбиваю все настройки, потом инсталлятор пытается их применить и выдает ошибку, которую я уже и не помню. После множества вариантов настроек я сунул кабель в интерфейс и … вот она — причина. Почти как в Hyper-V инсталлятор не пускает вас дальше в настройке сетевого интерфейса, пока вы не дадите ему активный линк. Эх забыты времена, когда RedHat устанавливался с трех дисков на компьютер, вокруг которого в радиусе 2-х километров нигде не было интернета и сети. Ладно, с этим смирились, систему поставили, запустили консольный UI, который при создании хранилища вывалился с ошибкой. Ладно, посмотрим GUI, который представляет собой VirtualManager на сервере без иксов. Необычно, но решение оказывается есть и даже под Windows. Скачиваем и устанавливаем Xming(порт X-сервера), коннектимся по SSH и запускаем VirtualManager, который стартует в нашем порте X-ов. Несмотря на то, что я обычно не обращаю внимание на прорисованность интерфейсов серьезных продуктов, но даже этот я отметил словом «Убогий», а ведь на дворе все же 2013 год (дело происходило еще в 2013ом). Ладно и на это мои глаза спокойно закрываются, создаем виртуальную машину в стандартном хранилище (потому что другое не создается и вываливается с ошибкой) и на каком-то моменте VirtualManager вываливается с ошибкой и больше не стартует. Перезагрузка ему не помогает. Я думаю существуют всякие мануалы, как вручную допилить libvirt, найти в логах по коду ошибки причину, по которой VirtualManager не работает, исправить это в конфигах и заставить работать… я думаю можно, но желания уже нет.

ProxMox


6-ой релиз OpenNode не произвел должного впечатления. Остается последняя надежда — ProxMox, Неужели в этом мире с моими хотелками есть только vSphere — тогда они смело могут считать себя монополистами. Ставлю ProxMox, этап с настройкой интерфейса не проверил, так как линк уже был, установка прошла без проблем. Немного пришлось помучиться с перенастройкой сетевых интерфейсов — сказалось видимо плохое знание Debian. Первое отличие, которое бросается в глаза — тут используется не VirtualManager, а web panel. Это меня даже радует, потому что управление через веб я начинаю любить все больше. Конфигурация сетевых интерфейсов немного замудреная, но можно разобраться даже интуитивно. Почему то переконфигурация не давала эффекта без перезагрузки. Минус, но пока терпимый. В консоль для его исправления не лез по 2-м причинам: 1) Debian все равно мне плохо знаком 2) Рассматриваю продукт, а в нем все управление сосредоточено в панели управления, все что в консоли — скажем так «недокументированные возможности». Кроме того без «недокументированных возможностей» нет и поддержки сетей в VLAN. Наконец создаю виртуальную машину, образ для установки есть возможность загрузить прямо через вебморду, что вызывает восхищение после Hyper-V и OpenNode (в любимом vSphere это конечно же есть). MAC адреса виртуальным адаптерам присваиваются, подключение к ISP пробросил в виртуалку, приступаю к установке и… Java RE более старой версии ничего не позволяет сделать, на игноры предупреждения безопасности вылазит только окно Error. Придется обновить. Обновился, подключился к консоли, но через неделю эта версия Java не позволила мне снова подключится, потому что вышла новая версия. Мой сетевой тест #1 не вызвал проблем. Базовые функции по управлению виртуальными машинами вполне годные, функционал для альтернативы vSphere на этом рынке неплох, возможности по изменению «железа» VM, способы виртуализации KVM и openVZ(контейнеры). Статистики, бэкапы, снэпшоты, поддержка авторизации LDAP/AD, встроенные базы, подключение хранилищ: RBD, iSCSI, NFS и другие, которые у меня не на слуху, обновление и как я понял готовые скачиваемые пакеты openvz virtual appliances. А теперь на минутку вспомним, что это надстройка над Debian и тогда станет понятно, что если подключить сюда «поллитру» и бубен, то становятся возможными установка на неправильные raid и даже soft raid, доставка рабочего стола Spice (еще не попробовал, рассказать не могу), проброс USB устройств с хоста (к сожалению адрес пробрасываемого устройства меняется после перезагрузки), проброс PCI плат — а тут меня ждал облом — процессор не поддерживает passthrough. Как видите возможностей много, а с допилкой еще больше. Но разбираться с тем, что из этого заработает, а что нет только вам. Этакий конструктор, с неплохим стартовым набором и возможностью допиливания.

Наконец мой рейтинг таков:

1: VMWare vSphere
2: Top Mix: ProxMox
3: Hyper-V
Outsider: OpenNode.

P.S.: Конечно это любительский обзор и критерием выступали задачи, которые не для всех первостепенные. Но с этой стороны продукты редко сравнивают и выбор становится затруднительным.
Теги:
Хабы:
-2
Комментарии 52
Комментарии Комментарии 52

Публикации

Истории

Работа

DevOps инженер
39 вакансий

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн