- PVSM.RU - https://www.pvsm.ru -

Попытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc

Попытка развенчания мифов об OpenVZ, или VPS на OpenVZ vs Xen/KVM/Hyper-V/etc

По какой-то непонятной для меня причине на Хабрахабре сложилось негативное отношение к технологии OpenVZ вообще, и к OpenVZ хостингу [1] в частности. Этот пост попытка развенчать мифы, касающиеся OpenVZ хостинга [1], Хотя на мой взгляд, OpenVZ так же едва ли не лучшее решение для разделения моногенных (Linux-only сервисов) внутри предприятия на собственных серверах.

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

Итак, тезис: бюджетные Linux VPS [1] на OpenVZ, как правило, работают быстрее и стабильнее, чем бюджетные VPS [1], использующие гипервизоры. Дорогие VPS [1] на гипервизорах, в «облаках» или с фиксированным тарифным планом, лучше, чем дорогие VPS [1] на OpenVZ.

Так как топик опубликован не только в хабе Виртуализации, прошу не обижаться тех, кто администрирует фермы с большим количеством виртуальных машин и нод: я должна напомнить менее профессиональным читателям, что такое VPS [1]

Так что такое VPS [1], и какие они бывают? VPS [1] это Виртуальный Выделенный Сервер [1], который условно можно считать «настоящим» выделенным сервером, при этом администратор VPS [1] имеет полный (в UNIX/Linux root) доступ к VPS-серверу, и может устанавливать любое программное обеспечение, совместимое с выбранной для VPS [1] операционной системой, и используемой технологией виртуализации.
Синонимом термина VPS [1] является VDS [1]. На «буржуйском» VPS [1] расшифровывается как Virtual Private Server, а VDS [1] как Virtual Dedecated Server.

Слово VPS [1] обозначает, скорее, не технологию, а услугу, предоставляемую хостинг-провайдером. При этом технологии для реализации услуги могут применятся принципиально различные.

Разделяют две группы технологий для реализации услуги VPS [1]:

а) Виртуализацию
б) Контейнеры

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

Наиболее популярные гипервизоры: VmWare ESXi(за пределами мира хостинга [1] лидирующее решение для виртуализации), Xen, KVM, Hyper-V.

Контейнеры не создают, в отличае от виртуализации, для каждого VPS [1] свою полноценную операционную систему, а создают на одном ядре большое количество изолированных окружений(name spaces), что позволяет не тратить хостеру ресурсы сервера впустую, а отдать их непосредственно VPS [1]. Так же плюс контейнеров
заключается в том, что память и другие ресурсы, такие как дисковое пространство, не выделяются гостевой системе целиком (например, размер lun, отданного в распоряжение виртуальной машине в качестве диска, уже нельзя уменьшить).

Наиболее популярными(а так же технологически лидирующими, и лидирующеми по количеству инсталляций) технологиями контейнерных VPS [1] являются Parallels Virtuozzo Containers и OpenVZ.

Главные недостатки заключаются в том, что на базе контейнеров можно предоставлять VPS [1] только на той же системе, что и хост-система (для OpenVZ и Virtuozzo это Linux, в принципе, и так самая популярная ОС для VPS [1], основанных на любых
технологиях).

В целом, на базе гипервизоров можно построить услугу VPS [1], более качественную, стабильную и мощную, чем аренду выделенного сервера:

Мощная хост-система с топовыми CPU, поделенная с помощью гипервизора на десяток-полтора частей, с внешними дисками на быстрой дисковой полочке с десятками шпинделей, и High Available решением, перезапускающим VPS [1] на новой ноде в
случае аппаратного сбоя хост-системы, заведомо стабильнее, производительнее, маштабируемее (всегда можно перейти на следующий тарифный план, или заказать новый VPS [1], который Вам развернут за минуты из шаблона) чем, возможно, любой самый дорогой физический сервер, который можно взять в аренду: крупные операторы вообще предпочитают сдавать в аренду «серверы», собирая их из десктопных комплектующих, даже без поддержки ECC-памяти, и продавая не очень разбирающимся людям мегагерцы десктопных процессоров, таких как Corei7, при этом стабильность работы такого железа в режиме 7/24 это не их проблемы.

При этом, такие VPS [1] часто закономерно, как лучшая услуга, оказываются _дороже_ чем выделенные серверы, да и затраты на оборудование адекватно организованный хостинг [1] на гипервизорной технологии требует очень не маленькие, поэтому такие сервисы как Amazone EC2, или, например, VPS [1] от Leaseweb на VmWare ESXi с дисками на SAN с raid60 и стоят недешево: хостер [1] не может продавать услугу ниже ее себестоимости.

К сожалению, среди пользователей услуги VPS [1] господствует миф, который мы сейчас развенчаем:

«VPS на Xen лучше, чем VPS [1] на OpenVZ/Virtuozzo»

На вопрос «чем лучше» обычно отвечают, что «хостер на OVZ оверселлит, и врет, и продает мои, честно купленные, потребителем услуги ресурсы другим клиентам, поэтому все тормозит! На Xen нельзя оверселлить!»

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

Этот миф исскуственно подогревается некоторыми, вероятно, не очень добросовестными компаниями, предоставляющими дешевый Xen-хостинг.
Дело в том, что качественных VPS [1] на гипервизорах, за те же деньги, что продаются VPS [1] на OpenVZ, получить невозможно.

При эксплуатации хостинговых серверов часто возникает потребность, например, выключить физическую машину для профилактики, перевозки в другой дата-центр, апгрейда, что бы предоставить больше ресурсов клиентам на новых тарифах,
так как вычислтительная техника продолжает развиваться по закону Мура, удваивая вычислительную мощь каждые два года), да и в случае, если сервер ведет себя нестабильно, неплохо бы перенести VPS [1] клиентов на новый сервер.

Так вот, для того, что бы не выключать для клиентов сервис на несколько часов, нужна технология живой миграции, а она не совместима с дешевыми Xen VPS [1], так как требует от хостера, для сохранения высокой производительности дисковой подсистемы, инвестиций в SAN и сеть построения данных, и тогда уже нет смысла и закупать дешевые серверы: VPS [1] на гипервизорах, или как сейчас часто говорят, в «облаках» это более качественная и «продвинутая» услуга, чем обычный сервер, и совсем не конкурент «контейнерным» VPS [1], прежде всего по цене.

OpenVZ и Virtuozzo контейнеры позволяют прозрачно для клиентов, online, переносить VPS [1] с физического сервера на физический сервер без дорогостоящих инвестиций в сеть хранения данных.

Что касается «оверселлинга», это миф, так как наоборот, возможность оверселлинга для клиента хостера благо, так как ни один VPS [1], если он работает стабильно, не находится 100% времени возле пределов своего тарифного плана (иначе сервисы на VPS [1] будут работать нестабильно и медленно, и тарифный план был выбран неверно).

При использовании обычных, выделенных, невиртуализированных серверов (colocation или dedicated) большая часть ресурсов сервера так же простаивает, и клиент платит за эти холостые такты.

Если хостер [1] Вам нагло не врет, и ресурсов у физического сервера достаточно, возможность без ухудшения качества сервиса для конечного клиента передать неиспользуемые им ресурсы другому VPS [1], это благо и для хостера и для клиента, так как хостер [1] повысит свою рентабельность, и может, например, или закупить более мощные серверы, что бы Ваши номинальные мегагерцы значили больше, или снизить цены, или повысить зарплаты саппорту.

При десятках VPS [1] на физический сервер вероятность того, что всем клиентам одновременно потребуются их ресурсы, стремится к нулю. Зато она часто существенна при количестве VPS [1] до десяти-пятнадцати на сервер, что часто встречается у Xen-хостеров, таким образом оверселлинг по CPU для «честного» Xen хостера гораздо более вероятен, чем оверселлинг по памяти для хостера OpenVZ

Можно добавить, что в рамках контейнерной технологии выше производительность, так как нет накладных расходов на запуск гостевых ядер и переключение контекстов: например, можно посмотреть бенчмарк Xen vs OpenVZ компании HP, в котором можно увидеть, что разница очень и очень существенна:
www.hpl.hp.com/techreports/2007/HPL-2007-59R1.pdf [2]

Так же в адрес Xen часто раздается критика по поводу производительности дисковой подсистемы, причем даже со стороны разработчиков других гипервизоров, того же KVM, да и Xen-хостеры часто лукавят: оверселлинг по CPU в Xen так же возможен.

Кроме того, VPS [1] на Xen, KVM, Hyper-V с локальными дисками, без SAN, всегда катастрофически медленнее VPS [1] на OpenVZ с локальными дисками из-за технологии vzswap.
Я бы сказала, что vzswap это такая убер фича OpenVZ VPS [1], которая, правда, включена не у всех OVZ хостеров.
Клиент, купивший VPS [1] на гипервизоре, делает у себя swap файл. Когда его VPS [1] «ложится» от, например, мощного DDoS, его приложения уходят в swap, от интенсивного ввода-вывода страдают соседи по физическому серверу. Очень тяжело помешать Вашему соседу по физической машине создать такой файл.
В технологии OpenVZ свапинг осуществляется централизованно ядром, клиенту выделяется виртуальная память в качестве RAM и… виртуальная память в качестве vzswap. Память vzswap тоже виртуальна! Только исскуственно замедленна. Когда VPS [1] начинают DDoS'ить, и она уходит в swap от десятков-сотен процессов апача, или сотен тысяч sql-запросов, VPS [1] естественным образом замедляется, так как vzswap медленная память! Но диск физического сервера при этом не используется, так как ядро будет сбрасывать в настоящий swap только те данные, которые долго не использовались, что очень радикально скажется на производительности ввода-вывода для всех VPS [1].

В заключение хотелось бы напомнить о парадоксе заключенных из Теории Игр, текст из википедии:

Двое преступников, А и Б, попались примерно в одно и то же время на сходных преступлениях. Есть основания полагать, что они действовали по сговору, и полиция, изолировав их друг от друга, предлагает им одну и ту же сделку: если один свидетельствует против другого, а тот хранит молчание, то первый освобождается за помощь следствию, а второй получает максимальный срок лишения свободы (10 лет). Если оба молчат, их деяние проходит по более лёгкой статье, и каждый из них приговаривается к 0,5 года. Если оба свидетельствуют против друг друга, они получают минимальный срок (по 2 года). Каждый заключённый выбирает, молчать или свидетельствовать против другого. Однако ни один из них не знает точно, что сделает другой. Что произойдёт?

Ненависть к оверселлингу, и негатив к желанию хостера продавать другим клиентам те ресурсы, которые Вы все равно не используете, при том, что по теории вероятности, когда они Вам понадобятся, они Вам все равно практически всегда достанутся, является, на мой взгляд, самым худшим вариантом игры «Парадокс заключенных»: мешая хостеру заработать больше денег, вы мешаете прежде всего себе, так как и хостеру выгодно, что бы вы зарабатывали и оплачивали услуги, и вам выгодно, что бы хостинг [1] был рентабелен, и у него было больше денег на оборудование, зарплату техподдержке, итд.

Тут некоторые Xen-хостеры, нападая на OpenVZ, часто используют низменные наклонности человеческой натуры, желание сыграть эгоистично в игре «парадокс заключенных», а так же врут, лукаво умалчивая про то, что они оверселлят процессор: у них на одном ядре CPU может быть несколько VPS [1], которые будут друг другу мешать.

Резюмируя, на сегодня лучшим выбором бюджетного VPS [1] является только OpenVZ/Virtuozzo, а «гипервизорные» и «облачные» VPS [1], уже теснят услугу аренды физических выделенных серверов: если Вам нужна гибкость и стабильность услуги, и под проект есть бюджет, о таких VPS [1] стоит задуматься уже сейчас.

Автор: sHaggY_caT

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/xen/32653

Ссылки в тексте:

[1] хостингу: https://www.reg.ru/?rlink=reflink-717

[2] www.hpl.hp.com/techreports/2007/HPL-2007-59R1.pdf: http://www.hpl.hp.com/techreports/2007/HPL-2007-59R1.pdf

[3] Источник: http://habrahabr.ru/post/177423/