Какую платформу виртуальных серверов выбрать?

Характеристики патча виртуализации OpenVZ

Первый стабильный релиз OpenVZ был анонсирован 5го декабря 2005 года.

OpenVZ это виртуализация на уровне операционной системы, основанная на ОС Linux. OpenVZ создает изолированные защищенные виртуальные среды (virtual environments — VEs) так же известные как виртуальные приватные сервера или VPS на одном физическом сервере максимизируя утилизацию ресурсов и обеспечивает полную изоляцию приложений друг от друга, обеспечивая независимую стабильную безконфликтную работу.

Каждая виртуальная среда (VPS) работает и выполняет приложения в точности так же, как отдельный физических сервер; виртуальный сервер может быть независимо перезагружен и имеет root доступ, пользователей, IP адреса, память, процессы, файлы, приложения, системные библиотеки и конфигурационные файлы.

Любое программное обеспечение может работать внутри VPS без каких либо специфический изменений или подстроек.

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

Виртуальные приватные сервера полностью изолированы друг от друга (файловая система, процессы, меж-процессовые связи (IPC), переменные sysctl).

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

Каждый VPS включает свой собственн IP адрес, так же есть возможность иметь несколько IP одновременно.

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

Внутри VPS может быть использован firewall со своими правилами, при помощие iptables лимитировать доступ к различным сервисам.

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

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

Позволяет гарантировать качество обслуживания (QoS) за счет высококачественного приоритезатора процессорного времени и дискового ввода-вывода.

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

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

Так же, за счет идеологии OpenVZ — большой требовательности к ресурсам для нужд полной независимой от дистрибутива и системных библиотек виртуализации — на одном физическом сервере (ноде) может быть запущено множество виртуальных серверов с различными дистрибутивами Linux, что является значимым отличием от технологии FreeVPS, которая, по сути, сильно привязана к ОС, установленной на ноде.

Еще одним отличием является реализация виртуализации устройств в OpenVZ, в частности это касается сетевых интерфейсов, не углубляясь в подробности, отличие от обычного сервера и FreeVPS состоит в том, что на хост-сервере создается специальное виртуальное устройство (venet0), к которому привязываюстя сетевые интерфейсы с таким же не совсем привычным именем и работа с сетью осуществляется через них.

Особых неудобств, либо каких-либо нестандартных ситуаций это не создает.

Последним коренным различием является менеджер памяти и принцип его работы.

На данный момент, OpenVZ не умеет отделять и не дает возможности управлять распределением страниц памяти, выделенных для виртуальных серверов, между реальной памятью и виртуальной (SWAPом).

Так же, учет использованной происходит по объему запрошенной памяти при помощи malloc()/calloc() и подобных функций, а не физически используемой приложениями на данный момент.

То есть:

#include

#include

int main()

{

size_t len = 40L * 1024 * 1024;

void *p = malloc(len);

if (!p) {

perror(«malloc»);

exit(1);

}

free(p);

printf(«Success\n»);

return (0);

}



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

А

#include

#include

int main()

{

size_t len = 40L * 1024 * 1024;

void *p = malloc(len);

if (!p) {

perror(«malloc»);

exit(1);

}

memset(p, 0, len); /* Отличие в этой линии, эта функция

заполняет выделенный участок данными. */

free(p);

printf(«Success\n»);

return (0);

}



Выделит и будет использовать.

В случае OpenVZ — учет памяти происходит по количеству «запрошенной» памяти (первый пример),
в случае FreeVPS — по реально использованной (второй пример).

Сильной чертой OpenVZ является хорошо проработанный механизм очередей и привелегий CPU и дискового IO.

Характеристики патча виртуализации FreeVPS

Проект FreeVPS стартовал раньше чем OpenVZ, примерное начало публичных релизов патча адресовано началом 2004 года.

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

IPsec (IP Security protocols) доступен для каждого виртуального сервера в отдельности (есть виртуализация сетевого драйвера).
Возможность создавать внутри виртуального сервера виртуальные сетевые интерфейсы (eth0/eth1/eth2), кроме сетевых алиасов (eth0:0, eth0:1)
Возможность ограничивать исходящий трафик по каждому виртуальному серверу.
Отдельное дисковое пространство имен, для расширения функциональности и безопасности VPS <-> хост сервера (нода) и VPS <-> VPS.
Отдельный учет общей, виртуальной памяти и разделение SWAP и реальной памяти для каждого VPS
Как было сказано выше, в параграфе посвященному OpenVZ, отличие этих патчей заключается в способе учета памяти, в OpenVZ — учет памяти происходит по количеству «запрошенной» памяти (см. первый пример выше), в случае FreeVPS — по реально использованной (см. второй пример выше).

Так же, FreeVPS активнее старается помечать память загруженных библиотек и приложений как общую, уменьшая учитываемый объем используемой виртуальным сервером памяти.

Что дает возможность, в отличии от OpenVZ, на минимальном тарифном плане запустить LAMP (Linux + Apache + MySQL + PHP) систему, приложив к ней средней ресурсоемкости панель управления без какой либо дополнительной настройки или тюнинга указанных приложений и операционной системы в целом.

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

Но за счет подобного подхода, FreeVPS создает меньшую нагрузку на сервер и выполняет быстрее переключение процессорного «внимания» между контекстами (виртуальными серверами).

Вывод

Итак,

вам стоит выбрать FreeVPS если:

Вы не хотите заниматься оптимизацией потребления памяти
Вы хотите получить конкретное количество RAM и SWAP, а не в перемешку
Вам подходит CentOS 4.4 (именно эта ОС выбрана AvanPad как основная для FreeVPS)
Вы хотите управлять установкой и удалением пакетов через панель управления
Хотите использовать OpenVPN, iptables, проброс портов и т.д. со стандартным именем интерфейса
вам стоит выбрать OpenVZ если:

Вы хотите выжать максимум из каждого мегабайта
Вам нужна максимальная надежность и изолированность
Для вас важен выбор операционных систем
Знаете что такое тюнинг и вам нужен максимальный контроль над ОС
Хотите и можете использовать OpenVPN, проброс портов и т.д. не с нестандартным именем интерфейса
вам стоит выбрать виртуальный хостинг если:

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

Похожие публикации

Тут ничего нет

Нет комментариев