Openstack kvm что это

Обновлено: 03.07.2024

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

Выбор процессора

Выбор типа процессора в вашем вычислительном узле является очень важным. Для начала убедитесь, что процессор поддерживает виртуализацию посредством VT-x для микросхем Intel, или AMD-v для микросхем AMD.

Обратитесь к документации производителя для проверки того, поддерживается ли виртуализация. Для Intel, ознакомьтесь с “Поддерживает ли мой процессор технологию виртуализации Intel®?”. Для AMD, озакомьтесь с Виртуализация AMD. Заметим, что ваш процессор может поддерживать виртуализацию, однако она может быть выключена. Ознакомьтесь с документацией на BIOS для того чтобыпонять как разрешать свойства процессора.

На ваше решение также влияет число ядер в процессоре. Для современных процессоров обычным является наличие до 12 ядер. Кроме того, если процессор поддерживает технологию Hyper-threading (многопоточности), эти 12 ядер удваиваются до 24 ядер (прим. перев.: корректнее, аппаратных потоков). Если вы приобретаете сервер, поддерживающий несколько процессоров, количество ядер еще умножается.

Анализ многопоточности

Многопоточность (Hyper-Threading) является проприетарной реализацией Intel одновременного выполнения потоков используемой для улучшения распараллеливания их процессоров. Вы можете рассмотреть возможность разрешения поддержки многопоточности для улучшения производительности многопоточных приложений.

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

Выбор гипервизора

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

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

Например, KVM является наиболее часто используемым гипервизором в сообществе OpenStack. Помимо KVM, многие существующие реализации чаще чем с остальными перечисленными работают с Xen, LXC, VMWare и Hyper-V — однако, каждому из них не хватает некоторых функций поддержки или устарела документация об их использовании с OpenStack.

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

Кроме того возможен запуск нескольких гипервизоров в одной реализации с использованием Объединения хостов (Host Aggregates) или Ячеек (Cells). Тем не менее, на отдельном вычислительном узле в одно и тоже время может работать только один гипервизор.

Решения хранилищ экземпляра

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

Система хранения вне вычислительного узла – совместно используемая файловая система

Система хранения на вычислительном узле – совместно используемая файловая система

Система хранения на вычислительном узле – не разделяемая файловая система

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

Какое количество дисковых пластин вы хотите получить?

Можно ли получить лучшую производительность ввода/вывода добавляя шпиндели при неизменной сетевой структуре?

К какому результату с лучшим соотношением стоимость-производительность вы стремитесь?

Как вы оперативно управляете системой хранения?

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

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

Мы рассмотрим все три главных подхода к экземплярам хранилищ в следующих нескольких разделах.

Система хранения вне вычислительного узла – совместно используемая файловая система

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

Когда вы используете раздельные хосты для вычислений и хранения данных, вы можете рассматривать ваши вычислительные узлы как "не запоминающие состояние". Если на вычислительном хосте у вас нет работающего в настоящий момент экземпляра, вы можете использовать его в автономном режиме или полностью очистить, что не окажет никакого влияния на оставшуюся часть вашего облака. Это упрощает обслуживание вычислительных хостов.

Существует ряд преимуществ такого подхода:

При выходе из строя вычислительных узлов экземпляры обычно легко восстанавливаются.

Работа выделенной системы хранения может быть проще в эксплуатации.

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

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

Основные недостатки такого подхода:

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

Использование сети может приводить к снижению производительности.

Система хранения на вычислительном узле – совместно используемая файловая система

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

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

Однако, данная система имеет ряд негативных моментов:

Запуск распределенной файловой системы может заставить вас утратить локальность данных по сравнению с не разделяемым хранилищем.

Восстановление экземпляров усложняется из- за зависимости от множества хостов.

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

Использование сети может привести к снижению производительности.

Система хранения на вычислительном узле – не разделяемая файловая система

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

Существует две основные причины, почему это является хорошей идеей:

Использование интенсивной нагрузки ввода/вывода на одном вычислительном узле не влияет на экземпляры на других вычислительных узлах.

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

Он также имеет недостатки:

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

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

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

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

Работа совместно используемой файловой системы всистеме хранения отдельном от вычислительных узлов идеально подходит для облаков, в которых надежность и масштабируемость являются наиболее важными факторами. Работа совместно используемой файловой системы на самих вычислительных узлах может быть лучшим сценарием при котором вы должны развертывать предустановленные серверы для которых вы практически не имеете возможности управления их спецификациями. Запуск не разделяемой файловой системы на самих вычислительных узлах может быть хорошей идеей для облака с высокими требованиями к вводу/выводу и низкими требованиями к надежности.

Проблемы миграции в реальном масштабе времени

Мы рассматриваем миграцию в реальном масштабе времени неотъемлемой частью деятельности облака. Эта функция обеспечивает возможность экземплярам беспрепятственно передвигаться с одного хоста на другой, необходимость выполнения для требующих перезагрузки на хосте обновлений, однако хорошо работает только с совместно используемой системой хранения.

Миграция в реальном масштабе времени может быть выполнена и при использовании не разделяемых хранилищ с использованием функции, известной как миграция динамических блоков KVM ( KVM live block migration ). Хотя ранее реализация блочной миграции KVM и QEMU считалась ненадежной, существуют более новые, более надежные реализации блочной миграции в реальном режиме времени, такие как QEMU 1.4 и libvirt 1.0.2, которые, к тому же, совместимы с OpenStack. Тем не менее, ни один из авторов данного руководства не имеет опыта первых рук использования блочной миграции в реальном времени.

Выбор файловой системы

Если вы хотите поддерживать миграцию в реальном времени на совместно используемой системе хранения, вам необходимо настроить распределенную файловую систему.

Возможные варианты включают:

NFS (система по умолчанию для Linux)

Прим. перев.: GPFS, см. http://www.mdl.ru/Solutions/Put.htm?Nme=GPFS, например, подробности во врезке "Сосредоточение внимания на OpenStack" в книге "Определяемые программным обеспечением системы хранения `для чайников`"

Нам знакомо применение всех этих систем и мы рекомендуем вам выбрать ту, с которой у вас есть наибольший практический опыт.Если вы не знакомы ни с одной из них, выберите NFS, поскольку она наиболее проста в установке и существует обширное сообщество со знаниями о ней.

Перегруженное выделение

OpenStack позволяет перерасход (overcommit) процессоров и памяти на вычислительных узлах. Это позволяет вам увеличить количество экземпляров, которое вы можете иметь работающими в вашем облаке за счет снижения производительности этих экземпляров. OpenStack Compute использует следующие коэффициенты по умолчанию:

Отношение выделения процессоров: 16:1

Отношение выделения памяти: 1.5:1

Коэффициент выделения процессоров по умолчанию 16:1 означает, что планировщик распределяет до 16 виртуальных ядер на узле для физического ядра. Например, если физический узел имеет 12 ядер, планировщик выделяет до 192 виртуальных ядер для экземпляров. При типичном определении предпочтения каждый экземпляр имеет 4 виртуальных ядра, при этом соотношении на физическом узле будет запущено 48 экземпляров.

Формула для числа виртуальных экземпляров на вычислительном узле такая: (OR*PC)/VC , где:

Соотношение перегрузки процессора (число виртуальных ядер на физическое ядро)

Число физических ядер

Число виртуальных ядер на экземпляр

Точно так же, значение по умолчанию, равное 1.5:1, для коэффициента выделения оперативной памяти означает, что планировщик распределяет экземпляры в физическом узле, пока общее количество оперативной памяти, связанной с экземплярами меньше чем 3/2 объема оперативной памяти, доступной на физическом узле.

Например, если физический узел имеет 48ГБ оперативной памяти, планировщик распределяет экземпляры на этом узле, пока сумма ОЗУ, связанного с этими экземплярами не достигнет 72ГБ (например, девять, когда каждый экземпляр имеет 8ГБ ОЗУ).

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

Ведение журнала

Ведение журнала более подробно описано Главе 13, Ведение журнала и мониторинг. Однако важно принять во внимание анализ проекта до начала эксплуатации вашего облака.

OpenStack порождает много полезной регистрационной информации, однако, для того, чтобы она стала полезной для целей эксплуатации вы должны рассмотреть возможность наличия центрального сервера ведения журнала, чтобы отправлять туда журналы, а также систему разбора/анализа журналов (например, logstash ).

Сетевое обеспечение

Сеть в OpenStack является сложной, многогранной проблемой. См. Главу 7, Проектирование сети.


OpenStack - это платформа управления облачной помощью, которая не обеспечивает функции виртуализации. Возможность реальной виртуализации обеспечивается базовым гипервизором (таким как KVM, QEMU, XEN и т. Д.). Так называемая платформа управления предназначена для удобства. Если нет OpenStack, вы можете реализовать работу создания виртуальной машины через virsh, virt-manager, но требуется только определенные расходы на обучение, а для обычных пользователей не очень дружелюбны.

KVM - это нижний гипервизор, который используется для моделирования операции процессора. Операция пользователя, которая может заполнить виртуальную машину на KVM, также требует сети и периферийной поддержки ввода / вывода, так что это определенная модификация QEMU для формирования определенная ревизия. QEMU-KVM. Тем не менее, OpenStack не напрямую контролирует QEMU-KVM и использует библиотеку libvirt для косвенного контроля QEMU-KVM. Статус QEMU-KVM похож на базовый диск.

OpenStack и KVM являются оба текущим его сравнением двух словарнов. Все они открытыми источниками, и у них есть тысячи отношений с Linux. Но двое еще имеют большое значение.

OpenStack: проект управления открытым исходным кодом

OpenStack - это проект с открытым исходным кодом, который предоставляет программное обеспечение для строительства и управления государственными и частными облаками. Это не программное обеспечение, но в сочетании с несколькими основными компонентами для выполнения определенной работы. OpenStack состоит из следующих пяти относительно независимых компонентов:

Computed LopenStack (NOVA) - это набор контроллеров для виртуальных машин вычислений или использует группу, запускающих экземпляры виртуальных машин;

Зеркальное обслуживание LopenStack (Glance) - это изображение виртуальной машиныУважатьИ поисковая система, реализуйте управление изображениями виртуальной машины;

Хранение объектов LopenStack (SWIFT) - это система хранения для встроенного механизма избыточности и отказоустойчивости в масштабируемой масштабируемой системе, аналогична Amazon S3;

LopenStack Keystone, используемый для служб идентификации пользователей и управление ресурсами и

Horizon LopenStack Horizon, интерфейс панели мониторинга на основе Django является графическим управлением.

Этот начальный проект от USA NASA и Rackspace в конце 2010 года в конце 2010 года направлен на создание простого развертывания, функциибогатыйИ облачная вычислительная платформа легко расширяется. Основная задача проекта OpenStack состоит в том, чтобы упростить процесс развертывания облака и приносить хорошую масштабируемость, попытаться стать операционной системой центра обработки данных, то есть облачной операционной системы.

KVM: Открытая технология виртуализации

KVM (виртуальная машина на основе ядра) - это модуль виртуализации системы с открытым исходным кодом, который требует аппаратной поддержки, таких как технология Intel VT или технологии AMD V, основана на оборудовании, полностью встроенной в Linux.

В 2008 году qumranet qumranet quumranet получил технологию KVM и продвинул его как часть стратегии виртуализации и поддерживал KVM в качестве уникального гипервизора, когда RHEL6 был выпущен в 2011 году. КВМ УПРАВЛЕНИЕ - это высокая производительность, масштабируемость, высокая безопасность ибюджетный。

Чувство с Linux.

Линукс, который стал облачной эпохи некоторыми из энтузиазвой поддержки, является операционной системой открытого исходного кода для публичных облаков и частных облаков. Один является частью ядра Linux, преобразует Linux в гипервизор типа типа 1, может наслаждаться любыми изменениями в любых измененияхнекоторыйПланирование процессов ядра Linux, управление памятью и поддержка устройства.

OpenStack горячий, он похож на Linux, который предназначен для создания ядра, и все поставщики программного обеспечения работают вокруг него. Multi-Sub-Projects OpenStack предоставляют Agile Management для различных ресурсов на облачной вычислительной платформе (например, вычислительная мощность, хранение, сеть). Кроме того, OpenStack также обеспечивает поддержку технологии виртуализации.

KVM объединяет во всех основных версиях выпуска Linux, используя планировщик Linux для управления. KVM ориентирован на становлениесамый лучшийВиртуальный монитор машины - это не подборка компаний Linux, а также он также поддерживает платформу Windows.и другиеЭто также лучший выбор для гетерогенной среды.

OpenStack и KVM быстро развивались

OpenStack является собственныммногочисленныйБольшие проекты сторонников. Сегодня более 180 компаний и более 400 разработчиков внесли свой вклад в этот проект, и их экосистемы еще более велико, и они превысили 5600 человек и 850 учреждений. В сентябре этого года Фонд OpenStack был официально установлен. Участники Platinum имеют Red Hat, IBM и HP, члены золота включают Cisco, Dell и Intel.

OpenStack в основном является программный проект с почти 550 000 строк кода. Разлагайтесь в основные проекты, инкубационные проекты и проекты поддержки и сопутствующие проекты. В дополнение к пяти основным компонентам, упомянутым выше, квантовый, связанный с виртуальной сетью, сначала перечислены в качестве основного проекта.

KVM - это открытая технология виртуализации, которая выделяется. Он разработан большим, активным открытым сообществом, красной крышкой, IBM, SUSE и т. Д. - все члены. В 2011 году IBM, Red Hat, Intel и HP и другие открытые альянсы виртуализации (OVA) помогают построить экосистемы KVM и повысить скорость усыновления КВМ. Сегодня OVA имеет более 250 компаний-членов, из которых более 60 программистов специализируются в сообществах KVM Open Source.

Раствор OpenStack и KVM

После публикации Diablo 22 сентября в прошлом году сообщество OpenStack начало начать новую версию дизайна и разработки, а новая версия разрабатывает код для Essex. Ранее опубликованные четыре версии: Остин, Бексар, Кактус и диабло. Новая версия публикует Cloud Computing Center Nova, Gerror Service Glance, службу аутентификации, Keystone и Dashboard Project Horizon, также включающий проект хранения объектов Swift.

Видно, что OpenStack является основой, который создает инфраструктуру, которая может строить общественные облака и частные облака. Это не продукт на полке, и необходимо провести работу инфраструктуры, а компании нужны консультанты и разработчики. оченьМультиплексНужно понадобиться сторонним интеграционным инструментом.

KVM может быть получен путем покупки версий Linux или в качестве отдельного гипервизора. Недавно Центр совершенства IBM KVM (Пекин) поселился в Пекине, показывающий IBM и партнеры на основе продуктов на основе KVM, в том числе IBM SmartCloud Entry, IBM-директор VMControl, виртуализации Red Hat Enterprise и Suse Clouds.

OpenStack и KVM

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

Сегодня большинство пользователей Enterprise используют более одного программного обеспечения виртуализации в ИТ-средах, половина пользователей выбирают продукты с открытым исходным кодом в качестве альтернативы виртуализации для экономической эффективности. Отчет IDC отметил, что OpenStack является огромной возможностью для роста KVM. OpenStack - это огромная мощность развития отрасли и имеет облачную вычислительную платформу с яркими общинами, с 95% платформы OpenStack, управляемой KVM. Поэтому с ростом OpenStack KVM также будет расти соответственно.

Хотя OpenStack и KVM более обеспокоены IT-индустрией,ноУ всех нас есть некоторые недостатки. Например, Triggers OpenStack конфликтуют между поставщиками и должны быть предоставлены в совместимости, стоимость развития также высока, а поддержка обслуживания также немного отстает. Доля рынка KVM очень низкая, зрелость недостаточно. Однако у обоих есть мощное развитие, и существует также устойчивая поддержка крупных его поставщиков. Открытый источник все еще выигрывает, эта тенденция неизбежна.

Сегодня сложно представить мир без компьютеризированных устройств. Лет этак 20 назад почти все бытовые приборы были электро-механические, об использовании компьютерных схем повсеместно не было даже и речи. Самые первые компьютеры занимали значительные объемы пространства, и могли относительно не много. Компьютерно-вычислительные комплексы за последнее время прошли достаточно большой путь развития. Хотя, принципиально компьютеры ничем не изменились, но вычислительные мощности стремительно возросли. Наличие компьютера в простой семье теперь не является чем-то особенным.

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

KVM

Общие сведения о виртуализации

По своей сути, все ОС это в общем-то и так некоторая виртуальная среда, которая предоставляется разработчику ПО, как средство реализации конечных задач. Уже давно прошло то время, когда программы писались конкретно под аппаратную часть компьютера по средствам аппаратных кодов и запросов. Сегодня же, любое приложение – это в первую очередь приложение, написанное на некотором API, который находится под управлением ОС. Задачи же ОС – предоставить данным API непосредственно доступ к аппаратным ресурсам.

Собственно видов виртуализации существует несколько:

  • Программная виртуализация;
  • Аппаратная виртуализация;
  • Виртуализация уровня операционной системы.

Виртуализация в свою очередь бывает полной и частичной.

Программная виртуализация – вид виртуализации, который задействует различные библиотеки ОС, транслируя вызовы виртуальной машины в вызовы ОС. (DOSBox, Virtualbox, VirtualPC)

Аппаратная виртуализация – такой вид, который предусматривает специализированную инструкцию аппаратной части, а конкретно инструкций процессора. Позволяет исполнять запросы в обход гостевой ОС, и исполнять прямо на аппаратном обеспечении. (виртуализация KVM,виртуализация XEN, Parallels, VMware, Virtualbox)

Виртуализация уровня операционной системы – виртуализация только части платформы, без полной виртуализации аппаратной части. Подразумевает работы нескольких экземпляров среды ОС. (Docker, LXC)

Данная статья будет рассматривать Аппаратную виртуализацию, а конкретно виртуализацию KVM.

компоненты ВМ

Схема 1. – Взаимодействие компонентов виртуальной машины с аппаратной частью

Особенности виртуализации для ядра Linux

Для исполнения прямых аппаратных запросов в ОС должна иметься библиотека, которая направляла бы эти запросы аппаратной части напрямую. На платформах базы Linux долгое время никакой встроенной системы виртуализации (встроенного гипервизора), просто не существовало. Каждый производитель ПО для виртуализации, который поддерживало технологию аппаратной виртуализации, вынуждены были создавать собственные модули для ядра Linux (vboxdrv в Virtualbox, vmware-service в VMWare и пр.) Естественно, это не могло продолжаться вечно, и компания Qumranet, Inc, выкупленая затем Radhat создала ассоциацию Open Virtualization Alliance, которая была признана решить проблему отсутствия базового гипервизора для ядра Linux. Так и был создан гипервизор KVM или Kernel-based Virtual Machine.

Гипервизор KVM представляет из себя загружаемый модуль ядра Linux, который предназначен для обеспечения виртуализации на платформе Linux x86. Сам модуль содержит компонент собственно виртуализации(kvm.ko), и процессорно-специфический загружаемый модуль kvm-amd.ko либо kvm-intel.ko.

Необходимым условием для использования KVM является поддержка инструкций виртуализации — Intel VT либо AMD , и ядро Linux версии 2.6.20 и выше. Существует также порт KVM под Free-BSD. Для вызова KVM традиционно используется QEMU, но также ведутся попытки добавить поддержку KVM в Virtualbox.

Сам по себе KVM не выполняет эмуляции. Вместо этого программа, работающая в пространстве пользователя, использует интерфейс /dev/kvm для настройки адресного пространства гостя виртуальной машины, через него же эмулирует устройства ввода-вывода и видеоадаптер.

KVM позволяет виртуальным машинам использовать немодифицированные образы дисков QEMU, VMware и других, содержащие операционные системы. Каждая виртуальная машина имеет своё собственное виртуальное аппаратное обеспечение: сетевые карты, диск, видеокарту и другие устройства.

Использование

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

Для наглядности рассматривается виртуализация KVM на базе библиотеку virt-manager.

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

libvirt

Схема 2. – Взаимодействие компонентов libvirt

QEMU позволяет создать фрейм для вызова гипервизора на клиентской системе. Данная программа настраивается аргументами вызова командной строки, является достаточно легкой и простой.

Существуют кроме того несколько графических оболочек, таких как Gnome-Boxes.

Выводы

Виртуализация – неотъемлемая часть современных корпоративных систем, она позволяет сэкономить колоссальные денежные и энергетические ресурсы. Развитие технологий виртуализации является приоритетным направлением многих организаций. Развиваются такие технологии как как VGAPassthrough (технология "проброса" видеокарты хост-устройства в виртуальную машину) и PCIPassthrough ("проброс" PCI устройства).

Так уж сложилось, что перед развертыванием виртуальной архитектуры перед каждым разработчиком или компанией встает классическая проблема выбора гипервизора из двух решений — VMware или OpenStack. Корректно ли вообще проводить сравнение или между двумя платформами и вовсе отсутствует конкуренция в силу принципиальных различий?

Есть ли конкуренция между OpenStack и VMware?

openstack-vmware-1.jpg

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

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

Что VMware, что OpenStack — жизнеспособные варианты для гибридного и частного облака. Любая платформа может вписаться в корпоративную инфраструктуру компании, однако в конечном итоге решение сводится к требованиям бизнеса. Какие услуги вы пытаетесь предоставить и кому? После оценки этих факторов принять решение станет проще.

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

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

К вариантам использования OpenStack обычно относят:

  • Запуск многоуровневых рабочих нагрузок или инструментов разработки с открытым исходным кодом;
  • Использование гибких методологий в качестве метода разработки приложений;
  • Предоставление клиентоориентированных API с необходимостью масштабирования.
  • Используется для автоматизации центра обработки данных;
  • Предлагает подробные эталонные архитектуры и общие практики, поскольку виртуализация существует уже несколько десятилетий;
  • Поддерживает резервирование и доступность, встроенные в инфраструктуру;
  • Позволяет повысить емкость для увеличения производительности, однако этот процесс может занять достаточно много времени.

В конечном итоге можно заключить, что OpenStack куда более логично сравнивать с конкретным продуктом VMware vCloud Suite, который объединяет внутренние корпоративные ИТ-среды, виртуализированные на VMware, с облачными ресурсами, развернутыми в центрах обработки данных, управляемых VMware.

Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям Конфигурация VPS и бесплатный тест уже через 2 минуты Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Реализация гипервизоров

VMware vCloud — это набор компонентов, для функционирования которых необходимо загрузить, установить и настроить каждый по отдельности. Продукты в vCloud Suite поставляются в виде установочных пакетов для виртуальных устройств на базе Windows или Linux, которые можно развернуть на узлах ESXi.

Они включают в себя ряд компонентов: ESXi, vCenter Server, vCloud Director, vSphere — их можно легко установить и настроить при соответствии системным требованиям, следуя подсказкам дружелюбного интерфейса.

Для сравнения, OpenStack IaaS предоставляется через множество дополнительных услуг. Каждая служба предлагает API, который облегчает эту интеграцию. Некоторые из услуг являются обязательными, в то время как ряд других, таких как блочное хранилище, Bare Metal, DNS, хранилище объектов, базы данных, являются необязательными.

Чтобы создать базовую среду, эти службы должны быть установлены и настроены через интерфейс командной строки — все это накладывает определенные сложности в плане администрирования и проектирования, но компенсируется широкой поддержкой со стороны сообщества.

openstack-vmware-3.jpg

VMware предоставляет свою платформу виртуализации в составе пакета vRealize Suite, платформа является частной собственностью компании VMware. vRealize разработан для работы на специальном оборудовании, таком как блейд-серверы и массивы хранения, при этом его архитектура централизована, что означает, что службы управления работают на своих собственных выделенных узлах, в то время как вычислительные, сетевые и ресурсы хранения предоставляются независимо от других узлов.

Продукт VMware vRealize Suite доступен в трех различных вариантах, предоставляя доступ к определенным услугам только тем пользователям, которые готовы платить больше.

В свою очередь, OpenStack — это проект с открытым исходным кодом, поддерживаемый OpenStack Foundation. Это полнофункциональная облачная платформа, которую организации могут использовать для реализации частных и общедоступных облаков.

В отличие от VMware, OpenStack разработан для работы на обычном оборудовании и поддерживает так называемую гиперконвергентную архитектуру, в рамках которой все узлы равнозначны и предоставляют услуги управления, вычислений, сети и хранения данных. Хотя OpenStack и не зависит от производителя, он доступен в виде дистрибутивов: так, компания Canonical создала свой дистрибутив Charmed OpenStack в экономических соображениях, сделав переход с VMware доступным и безболезненным.

Затраты на лицензирование

Процесс внедрения ПО начинается с покупки программного обеспечения. Поскольку vRealize является проприетарным программным обеспечением, с пользователя взимается существенная плата за лицензирование: например, PLU (Portable LIcense Unit) для vRealize Advanced стоит свыше 5 тысяч долларов.

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

Со своей стороны, OpenStack — это программное обеспечение с открытым исходным кодом. Платформа OpenStack доступна по лицензии Apache, что означает, что ее можно использовать бесплатно. Даже при развертывании в одном из доступных дистрибутивов вендоры не включают дополнительные платежи на лицензирование, что относится в том числе и к Charmed OpenStack. В свою очередь Canonical бесплатно предоставляет свой собственный дистрибутив OpenStack, монетизируя проект через консультации, поддержку и различные услуги.

Аппаратное обеспечение и архитектура

openstack-vmware-4.jpg

Еще одним отличием является оборудование и архитектура, используемые обоими инструментами. VMware vRealize разработан для работы на специализированном оборудовании, таком как блейд-серверы и массивы хранения. Такое оборудование обычно дороже обычного. Это приводит к увеличению не только начальных затрат, но в дальнейшем в связи с издержками на эксплуатационные расходы с течением времени, поскольку оборудование необходимо регулярно обновлять.

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

OpenStack же однако предназначен для работы с обычным оборудованием, поддерживая гиперконвергентную архитектуру, что означает, что службы управления, вычислений, сети и хранения распределяются по всем узлам кластера. В результате все физические сервера в кластере могут быть основаны на одной и той же спецификации оборудования. Это способствует снижению затрат, связанных с приобретением и поддержкой оборудования..

Консалтинговые услуги

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

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

Canonical предлагает консультационные услуги по более доступной цене. А поскольку операции OpenStack, как правило, являются сложными, Canonical предлагает полностью услуги по обслуживанию для OpenStack по цене свыше 4 тысяч долларов за физический сервер в год — это та стоимость, которую заказчик должен регулярно оплачивать сразу после развертывания.

Обновления и поддержка

openstack-vmware-5.jpg

Отслеживание обновлений и своевременная установка последних версий ПО — важный компонент любой производственной среды. Для исправления уязвимостей и повышения безопасности организации должны регулярно обновлять платформу при релизе новых версий. VMware применяет ту же модель ценообразования для поддержки своих продуктов, что и для лицензий. Чем больше процессоров в вашем кластере, тем выше ценник. Это снова увеличивает совокупную стоимость владения, даже если ваши физические серверы остаются недогруженными.

С другой стороны, Canonical применяет «узловую» модель для поддержки сервисов Charmed OpenStack, что делает операционные расходы более предсказуемыми. Услуги поддержки для Charmed OpenStack доступны в рамках пакета UA-I (Ubuntu Advantage for Infrastructure). В наиболее полной версии — Advanced — они стоят 1500 долларов в год на каждый физический сервер.

Плюсы и минусы каждой платформы

Сначала рассмотрим достоинства и недостатки продукта от VMware. Его положительные стороны главным образом сводятся к нескольким плюсам:

  • Многофункциональность (VMware vSphere HA, vMotion, DRS, управление вводом-выводом) с развитыми экосистемами
  • Широко используется: до 80% предприятий в настоящее время используют продукты VMware.

Среди недостатков инструмента:

  • В исходном состоянии только системный администратор имеет доступ к управлению;
  • Гипервизор ESXi, поставляемый с VMware, предоставляется бесплатно, но для использования API требуются лицензионные сборы;
  • Проприетарная платформа.

Что касается преимуществ платформы OpenStack, то в их числе:

  • Конечные пользователи могут легко выделять ресурсы;
  • Поддерживает почти все гипервизоры в мире, включая VMware ESXi, Xen, KVM (по умолчанию) и Hyper-V;
  • Совместимость со многими API, а также поддержка многих OEM-производителей и поставщиков ОС;
  • Легко интегрируется с гипервизором VMware и Hyper-V для использования в уже существующей инфраструктуре.

К минусам опенсорсной технологии относят:

  • Возможные трудности при настройке и устранении неполадок;
  • Требуется значительная автоматизация;
  • Гипервизор OpenStack и KVM бесплатны, но требуют настройки опытными администраторами.

Выводы

Платформа OpenStack в первую очередь из-за своего открытого исходного кода, безусловно, вызывает большой интерес. А затраты, связанные с его первоначальным развертыванием и обслуживанием, обычно ниже по сравнению с VMware. Применяемая модель поддержки и распространение Charmed OpenStack от Canonical добавляет привлекательности и помогает снизить затраты на целый порядок.

Однако VMware лучше адаптируется к реалиям рынка с внедрением интегрированного OpenStack (VMware VIO) — это дистрибутив OpenStack, поддерживаемый VMware и предназначенный для компаний, которые хотят развернуть частное облако и управлять им на основе своей инфраструктуры vSphere.

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

Читайте также: