Отличие XEN от OpenVZ
При
выборе VPS/VDS (это одно и то же), хостер может предложить несколько вариантов виртуализации, среди которых самые популярные это
OpenVZ и
Xen.
Что такое виртуализация? Это способ, позволяющий одному физическому серверу прикидываться несколькими десятками виртуальных серверов.
Не углубляясь в технические детали, постараемся выяснить плюсы и минусы каждого решения.
OpenVZ
OpenVZ — это реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux.
В системе на все виртуальные сервера приходится всего одно linux ядро со специальными патчами, цель которых обеспечить функционирование VE - виртуальной среды/окружения. Отдельную VE часто называют контейнером. Таких контейнеров на OpenVZ обычно несколько десятков и каждый контейнер изображает отдельный виртуальный сервер.
Виртуализация на уровне операционной системы даёт немного лучшую производительность по сравнению с XEN, за счет уменьшения накладных расходов.
Но поскольку ядро для всех
VDS под OpenVZ общее, то в роли «гостевых» систем могут выступать только дистрибутивы Linux. Более того - вы не сможете на арендованной VPS поставить другую операционную систему (например, FreeBSD или тем более Windows) и даже не сможете заменить(обновить) ядро. Не сможете и загрузить дополнительные модули ядра - до свиданья свой VPN!
Как же разделяются ресурсы в системе OpenVZ?
Хост-сервер ведет множество различных счетчиков (несколько сотен помимо используемой мощности процессора, объема памяти и жесткого диска) и следит, чтобы каждый контейнер с гостевой ОС не превышал своих квот.
При таком подходе часто возникает проблема с точным выделением памяти. Нужный объем доступной оперативной памяти имитируется через счетчики, и эта имитация далека по совершенству от реального выделения на физическом сервере.
Любая программа использующая память близко к лимиту доступных ресуров (но не превышающая его), абсолютно непредсказуемо, может не запуститься.
#/bin/mkdir: Cannot allocate memory
Хостеры часто решают эту проблему предоставлением негарантированной памяти больше, чем должно приходиться по тарифу (суммарный объем такой негарантированной памяти будет превышать количество оперативной памяти, установленной на хост-машине).
В большинстве случаев это работает, до того момента, когда некоторые VPS не начнут использовать свою негарантированную память полностью. В этот момент остальным контейнерам с VPS может не хватить уже их гарантированной памяти.
В OpenVZ все виртуальные серверы используют один и тот же раздел подкачки. Поэтому решение проблемы с нехваткой памяти через дополнительный раздел подкачки тоже проблематично.
Наконец третья проблема, возникающая из одного общего ядра на несколько десятков контейнеров с VPS и общей файловой системы — сниженная надежность. Любая критическая ошибка в общем ядре или файловой системе уронит все VPS, размещенные на физическом сервере.
В этом отношении VPS под OpenVZ похож на обычный шаред хостинг, где ваша стабильность и производительность тесно зависит от поведения соседей по хостингу.
К плюсам OpenVZ можно отнести возможность изменением лимитов на VPS через смену пределов счетчиков. А значит смена тарифа у хостера возможна без перезагрузки самого VPS.
Также накладные расходы на виртуализацию у OpenVZ немного меньше, чем у XEN, а администрирование (для хостера) немного проще. Это позволяет хостерам нести меньшие затраты на содержание сервера и предлагать своим клиентам более дешевые тарифные планы на VPS.
Однако у недобросовестных хостеров существует риск оверселлинга - продажи большого числа VPS c негарантированным количеством выделенной памяти под видом гарантированной. Что весьма выгодно для хостера, но чревато будущими проблемами для программ и скриптов на вашем VPS.
XEN
XEN состоит из гипервизора - специальной ОС очень небольшого размера, которая обеспечивает управление ресурсами и работу на одном физическом сервере множества независимых и разных ОС.
Плюсы для арендаторов VDS на XEN:
- Персональное ядро, которые можно менять и обновлять.
- Реальные физические выделяемые ресурсы. Нет ошибок в выделении памяти - у каждого VDS своя фиксированная область RAM и область дисковой системы.
- Можно создавать свой раздел со свопом.
- Более высокая надежность функционирования всего сервера, так как код супервизора XEN меньше объемом и лучше отлажен, чем OpenVZ.
При использовании виртуализации XEN практически исключается риск грубого оверселлинга, которым злоупотребляют многие хостеры c OpenVZ. В случае использования XEN вы можете продать только те ресурсы физического сервера, которые у вас есть фактически.
Также администрирование XEN (для хостера) несколько сложнее, что требует наличия более квалифицированного персонала.
Из-за этих причин аренда VDS c XEN обычно стоит дороже VPS c OpenVZ, но за эти деньги вы получаете, как правило, более надежные VDS с честным выделением именно того количества ресурсов, что заявлены на рекламной странице хостера.