Сравнение технологий виртуализации
Сегодня при выборе хостинга для размещения веб-проекта или создания сервера любимой игры возникает закономерный вопрос: почему у разных компаний так различаются цены? Если в одной компании можно арендовать VPS-сервер за 5 долларов в месяц, то у другой самый дешевый тариф находится в пределах 15$. В чем же кроется разница и стоит ли переплачивать? В чем особенности разных технологий виртуализации?
Организация VPS (Virtual Private Server) по своей сути это «разделение» (sharing) ресурсов физического сервера на несколько частей. В результате получается насколько обособленных друг от друга виртуальных серверов. Они расположены на одном компьютере, но фактически пользователь работает с VPS-сервером, как с отдельной машиной с отдельным IP-адресом и операционной системой.
Существует несколько технологий разделения одной машины на несколько виртуальных. Их можно разделить на два типа: на базе ядра ОС и виртуализация на основе гипервизора.
Программная виртуализация на базе ядра ОС
Технология программной виртуализации предполагает разделение ресурсов сервера на уровне ядра операционной системы. С помощью средств операционной системы создаются изолированные окружения или контейнеры. С точки зрения пользователя, занимающегося исключительно администрированием размещенных сайтов, виртуальный сервер мало чем отличается от выделенного.
С точки зрения администратора сервера, существует несколько ограничений, например, при выборе операционной системы. Поскольку все виртуальные машины собраны на одном ядре, пользователь может использовать операционную систему, совместимую с ним. На VPS на базе Linux можно устанавливать только дистрибутивы Linux (CentOS, Debian, Ubuntu), что касается Windows, можно использовать только версию, как и у ядра.
Среди достоинств программной виртуализации:
- программная виртуализация практически не имеет ограничений в отношении архитектуры процессора;
- простая масштабируемость тарифа – в любой момент можно увеличить или уменьшить системные ресурсы: оперативную память, дисковое пространство, вычислительные ресурсы процессора.
- поскольку на физическом сервере используется только одно ядро, существенно экономятся ресурсы процессора, дисковое пространство.
Недостатки:
- отсутствует жесткое разделение ресурсов, из-за чего у хостеров появляется искушения оверселлинга. При разумном распределении ресурсов мощных серверов выигрывают все: пользователи получают по доступной цене стабильный VPS-сервер, а хостер избегает простаивания оборудования. Но чаще оказывается так, что, выбирая дешевый VPS, подписываешься на постоянные «падения» системы, медленную загрузку сайтов и другие проблемы, связанные с перегруженность сервера.
- все виртуальные машины используют единую файловую систему, если у одного из пользователей возникнут проблемы, пострадают все. Использование единой файловой системы также негативно сказывается на общей безопасности;
- запросы программного обеспечения, установленного на базе гостевой ОС, обрабатываются сначала общим ядром сервера, после чего перенаправляются к аппаратным ресурсам. В результате процесс исполнения команд несколько замедляется;
- такие серверы не подходят для размещения ресурсоемких проекты, например, игровых и прокси-серверов, сервисов потокового вещания и др.
Виртуализация на базе гипервизора
При данном типе виртуализации гостевая операционная система получает доступ напрямую к аппаратным ресурсам сервера через гипервизор. В качестве гипервизора может использоваться электронная схема (аппаратная виртуализация – технологии Intel VT и AMD SVM) или программное обеспечение (паравиртуализация и полная виртуализация). Гипервизор условно можно сравнить с прокси-сервером только в масштабах одной компьютерной системы.
Виртуализация на базе гипервизора предполагает полную изоляцию каждой виртуальной машины от соседних. Каждый VPS-сервер, реализованный на базе гипервизора, имеет собственное ядро, отдельную файловую систему (один или несколько разделов на жестком диске). Строго лимитируются размер оперативной памяти, доступные вычислительные ресурсы процессора (обычно выделяется одно или несколько ядер, а не только его часть).
Достоинства виртуализации на базе гипервизора:
- жесткое разделение аппаратных ресурсов, даже полная загруженность соседних систем не влияет на работу вашего сервера – все выделенные ресурсы только в вашем распоряжении;
- каждая виртуальная машина полностью изолированы от соседних, поэтому проблемы, например, DDoS атаки практически не сказываются на работе сервера;
- можно устанавливать любую операционную систему. Более того, по желанию (по согласованию с хостером) можно загрузить ОС с собственного ISO-образа;
- VPS-сервер можно использовать под любые нужды, никаких ограничений, как и при аренде выделенного физического сервера. К примеру, можно установить игровой сервер или развернуть сервер VoIP-телефонии, например, на базе Asterisk;
- жесткое разделение ресурсов исключает манипуляции в виде оверселлинга, когда продано больше ресурсов, нежели есть на самом деле.
Недостатки:
- более высокая стоимость аренды,
- определенные сложности при переходе на новый тариф. Обычно нужно обращаться с заявкой к хостеру. В некоторых случаях единственное решение – отказаться от одного, например, более слабого, и перейти на более дорогой тариф, развертывая веб-проект с нуля.
Самые надежные решения для разделения VPS-серверов
OpenVZ
Самое популярное решение виртуализации на уровне ядра ОС. Позволяет на одном сервере запускать изолированные между собой копии операционной системы. Это бесплатная технология, которая существует достаточно давно, а соответственно большинство проблем разработчик успешно решил.
Достоинства OpenVZ:
- распространяется бесплатно, при этом отличается высокой надежностью;
- поддерживает большинство существующих как платных, так и бесплатных панелей;
- при грамотном распределении ресурсов со стороны хостера, обеспечивается высокая производительность каждой виртуальной машины при существенной экономии дискового пространства;
- простота в использовании, дает возможность клиенту в автоматическом режиме изменять параметры системы.
Недостатки:
- медленная работа с диском;
- сниженная безопасность, поскольку все пользователи пользуются общей файловой системой;
- общий кэш - более активные проекты вытесняют менее затребованные проекты, что замедляет их загрузку.
Virtuozzo
Virtuozzo – это коммерческая версия OpenVZ. Отличается максимальной стабильностью, а также более широкими возможностями при резервном копировании и восстановлении данных, упрощенным переносом VPS на другой физический сервер и др.
Главный недостаток – существенная стоимость технологии.
Xen
Это программный гипервизор, поддерживающий паравиртуализацию. Гостевая операционная система обращается к аппаратным ресурсам посредством гипервизора, которым в данном случае служит программное обеспечение. Паравиртуализация дает возможность создавать гостевые ОС даже на процессорах, не поддерживающих аппаратную виртуализацию.
Паравиртуализация Xen обеспечивает высокую изоляцию виртуальных машин. Обычно каждый VPS-сервер получает в свое распоряжение собственное ядро ОС, выделенную оперативную память и отдельный диск. Разделению же подлежат только процессоры. Фактически, такой VPS не уступает по гибкости выделенному серверу, но и стоимость будет соответствующей.
Достоинства Xen:
- полный контроль над ресурсами сервера;
- высокая стабильность системы;
- при необходимости виртуальный сервер можно перенести на другую машину;
- подходит для размещения ресурсоемких проектов.
Основной недостаток – высокая стоимость.
KVM
Еще одна технология виртуализации на базе гипервизора. Работает только с процессорами, поддерживающими технологии аппаратной виртуализации Intel VT и AMD SVM. Обладает всеми достоинствами технологии Xen.
Дополнительные преимущества:
- простота в использовании;
- KVM позволяет работать с VPS, как будто он находится на вашей локальной машине.
Недостаток – работает не со всеми процессорами.
VMWare
Это технология полной виртуализации. Отличается высокой стоимостью, поэтому достаточно редко встречается.
Среди достоинств:
- полная изоляция VPS-серверов между собой;
- возможность на лету изменять доступные аппаратные ресурсы;
- максимальная стабильность работы системы.
Недостатки: высокая стоимость аренды виртуального сервера.
Итоги
Технология | KVM | OpenVZ/ Virtuozzo | XEN | VMWare |
---|---|---|---|---|
Собственная файловая система любого типа | + | - | + | + |
Выделенная область в оперативной памяти с полным доступом и возможностями отладки | + | - | + | + |
Полное изолирование от соседей | + | - | + | + |
VNC-соединение на ранних стадиях загрузки | + | - | ограничено | |
PPTP VPN | + | ограничено | + | + |
OpenVPN | + | ограничено | + | + |
IPSec VPN | + | ограничено | + | |
Межсетевые экраны (Firewall) | + | ограничено | + | + |
Kernel mode NFS server | + | - | - | + |
Независимое ядро | + | - | ограничено | + |
Независимые модули ядра | + | - | ограничено | + |
Полный контроль над сокетами и процессами | + | - | - | + |
Полная поддержка гостевых ОС | + | - | ограничено | + |
Эмуляция PCI / PCIe карт с полным доступом к ним | + | - | ограничено | + |
Мы рассмотрели наиболее распространенные технологии, которые благодаря высокой стабильности и функциональности заслужили доверие крупнейших хостеров. При правильной оптимизации, независимо от способа разделения, вы получите стабильный VPS-сервер по доступной цене.
К сожалению, не существует одной универсальной системы на все случаи жизни, однако сейчас существует широкий выбор технологий для решения конкретных задач. В любом случае, выбор остается за вами.