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

Прежде всего, давайте определимся - как мы это будем называть? Усилиями различных компаний, как разработчиков программного обеспечения, так и компаний, предлагающих эту услугу, было создано несколько названий по сути одного и того же. Итак, запомните, что:
VPS - Virtual Private Server (Виртуальный Собственный Сервер)
VDS - Virtual Dedicated Server (Виртуальный Выделенный Сервер)
DDS - Dynamic Dedicated Server (Динамический Выделенный Сервер)
на самом деле одно и то же и часто используется некоторыми компаниями для размежевания различных реализаций и предложений VPS.

Итак, что же это такое, VPS?

Если коротко - это разделение одного физического сервера на независимые друг от друга виртуальные сервера. Разделять можно как Unix, так и Windows системы. В чем же вся прелесть этого? В результате такого деления образуются самостоятельные выделенные сервера, физически размещенные на одном сервере. Итак,

  • Каждый VPS имеет собственный дистрибутив операционной системы, в котором он имеет права уровня root (UID: 0) для Unix или Administrator для Windows , что позволяет компилировать, устанавливать собственное программное обеспечение с собственной конфигурацией.
  • Каждый VPS может иметь один или несколько выделенных IP, через которые осуществляются входящие и исходящие соединения. Даже если на один VPS происходит DDOS атака, то на соседних это никак не отражается (надо заметить, что отражаться может, но по другим причинам, например, в случае, если общий канал к серверу узкий и пакеты атаки его полностью заполнят).
  • Гарантированные минимальные ресурсы сервера. Вам никогда не скажут, что Вы расходуете больше ресурсов CPU или памяти, как это часто бывает на обычном виртуальном хостинге.
  • Быстрая перезагрузка (ребут) виртуального сервера, возможность архивного копирования (бэкапа) VPS слепком всей системы.
  • Большая стабильность в работе при более низкой стоимости.

Кому стоит посмотреть в сторону VPS?

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

Что нужно помнить при покупке VPS?

  • Если Вы платите за VPS больше, чем за виртуальный хостинг, то это еще не значит, что у Вас сайты будут работать быстрее. Возможно, что и наоборот, медленнее. Все зависит от ресурсов, которые выделяются под Ваш VPS, а также их “гарантированность”. Не забывайте, что у Вас будет своя копия OS, у Вас будут работать несколько сервисов, которые будут тратить ресурсы процессора, памяти и, возможно, сети. К тому же не надо забывать, что еще там же будут работать и собственно скрипты web-сайтов.
  • Не забывайте, что Вы покупаете свой выделенный сервер. А это значит, что Вы должны знать хотя бы основы работы с операционной системой, которая установлена на VPS. Если у Вас нет необходимых знаний/времени на это, то у Вас есть 2 варианта - найти предложения, где предлагается администрирование VPS (скорее всего это будет как дополнительно оплачиваемая услуга) или нанять внешнего администратора. Также возможна установка одной из множества бесплатных или платных панелей управления, что существенно поможет управлению. В этом случае управлять сервером будет легче, но знание системы все равно нужно.
  • Что собственно Вы покупаете? Сейчас на рынке VPS услуг можно найти множество различных предложений, основанных на разных технологиях (самые популярные описаны ниже), которые имеют разные способы виртуализации и, соответственно, разные конечные цифры гарантированных ресурсов, и разную стоимость с виду одних и тех же ресурсов. Все это усугубляется еще тем, что многие ресурсы выражаются относительными цифрами, которые напрямую зависят от конфигурации физического сервера. Как сделать правильный выбор? Несколько советов:
    1. Найдите информацию об использованной технологии. В этой статье содержится информация обо всех наиболее популярных технологиях. Прочитайте эту информацию.
    2. Узнайте конфигурацию сервера, на котором будет размещен ваш VPS. Узнайте общее количество размещаемых VPS на таком сервере. В зависимости от используемой технологии виртуализации, там будет тот или иной процент оверселлинга (overselling). Это значит, что делается расчет на то, что все VPS в один момент не будут использовать максимум своих гарантированных ресурсов. Кроме того, повторяю, в зависимости от технологии процент оверселлинга может быть разный. Если используется технология с собственным ядром для каждого VPS (UML, Xen), то в этом случае процент оверселлинга должен быть минимальный. Если технология с одним ядром для всех VPS (Virtuozzo, FreeVPS), то оверселлинг возможен в достаточно большой степени, но рекомендуется не больше, чем в 2 раза по ресурсам памяти и cpu. Технология Chroot BSD (VDSmanager) позволяет делать оверселлинг в 10 раз и больше, что в большинстве случаев оправдано и допустимо.
    3. Узнайте, будут ли лимитироваться, и насколько, следующие основные параметры: гарантированное CPU в мегагерцах, гарантированное CPU в процентах от 100% CPU физического сервера, количество доступных процессов, гарантированные мегабайты памяти RAM, swap.
    4. Будет ли возможность сделать безболезненный апгрейд? Под безболезненным понимается то, что будут сохранены все данные и не будет или будет незначительный перерыв. Дело в том, что при крупных апгрейдах часто приходится переносить VPS на другой физический сервер.
  • Являются ли VPS администрируемыми? Будет ли осуществляется мониторинг VPS? Будет ли суппорт хостера устранять неисправности на VPS, бесплатно или за отдельную стоимость?
  • Чаще всего при заказе VPS Вам бесплатно поставят минимальную установку OS и основные, самые популярные и нужные пакеты, необходимые для работы с web сайтами, такие как web-сервер Apache, dns-сервер BIND, sql-сервер MySQL и другие, а также поддержку языков программирования, например, php. Тем не менее, Вам, возможно, поставят только голую OS, и остальное предложат ставить самостоятельно.
  • Немаловажно, сколько IP Вы получите и какие. Правила некоторых национальных зон требуют, чтобы IP днс-сервера были из разных C классов. Если Вы хотите использовать на своем VPS собственные NS и хотите размещать там домены .ru , .su , .de и некоторые другие, то Вам нужно иметь минимум 2 IP из разных C классов.

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

Virtuozzo

В настоящее время, наиболее популярная и развитая технология виртуализации, созданная компанией SWsoft, Inc. Есть 2 версии продукта, для Linux и Windows серверов. Основные преимущества данной технологии с точки зрения клиента:

  • Уже долгое время на рынке, богатая история развития технологии - все это дает большую стабильность в работе системы.
  • Система была создана и ориентированна на простоту использования. В настоящее время в virtuozzo включены несколько GUI панелей, которые позволяют владельцам VPS и администраторам сервера делать множество операций не только быстро, но и с максимальным удобством. Особенно интересна так называемая Virtuozzo Power Panel (vzpp), которая включена бесплатно и предоставляется клиентам, которые могут с ее помощью делать множество действий, такие как: удаленная перезагрузка VPS (даже если сам vps не отвечает), переустановка OS (только в Linux), создание слепков системы (полный бэкап) и восстановление VPS из них, файл-менеджер VPS, полная статистика использования ресурсов, трафика, управление firewall, возможность мониторинга запущенных ресурсов, подключение к VPS по ssh (или удаленный desktop для Windows) через java приложение. Ко всем этому, данная панель доступна на нескольких языках, в том числе русском.
  • Множество доступных OS (для Linux). В любом случае, речь идет именно о Linux дистрибутивах, такие как fedora, redhat, centos, debian, suse. FreeBSD и другие *BSD дистрибутивы не поддерживаются в текущей версии.
  • Поддержка популярных модулей ядра, таких как quota, iptables, tun/tap
  • Удобная функция миграции VPS, позволяющая перенести VPS на другой сервер вообще без downtime.

Советы для выбора VPS на базе Virtuozzo:

Вы, как пользователь, должны получить доступ к VZPP, панели управления VPS. Если хостер отказывается Вам предоставить этот доступ, то это значит, либо у него очень старая версия virtuozzo, либо это вовсе не virtuozzo (а например, openvz, описано ниже) или он хочет от Вас скрыть какую-то информацию. Дело в том, что через vzpp можно увидеть те параметры, которые для Вас выставил хостер и какие фактически определяют доступные Вам ресурсы. Посмотреть эти ресурсы Вы можете и даже без VZPP, достаточно посмотреть содержимое файла /proc/user_beancounters командой:

cat /proc/user_beancounters

Под VZPP это видно в разделе Ресурсы. Особое внимание надо обратить на следующие параметры:

  • cpuunits - Это среднее значение доступных Вам мегагерцов процессора.
  • quotaugidlimit - Если здесь стоит 0, то Вам будет недоступно использование квот файловой системы. Иначе, показывает максимальное количество uids/gids, для которых можно создать квоту.
  • numproc - Максимальное количество процессов. При превышении, ядро будет отказывать в создании нового процесса.
  • kmemsize - Размер неподкачиваемой памяти, выделяемой ядром операционной системы.
  • vmguarpages - Количество страниц памяти, которые Вам гарантированны для выделения. Смотрите пояснение ниже о том, что такое страницы памяти. Это лимит, который Вам будет доступен всегда. Или почти всегда, смотрите oomguarpages.
  • oomguarpages - Гарантированное количество памяти, выделяемое в случае, если память “перегружена” (гарантия от уничтожения при нехватке памяти). Измеряется в страницах памяти, смотрите ниже. В случае, когда ядро сталкивается с ситуацией, когда VPS`ами запрашивается больше памяти, чем имеется физически, то происходит ошибка out of memory. Данный параметр показывает гарантию, сколько будет выделено страниц памяти для VPS в этом случае.
  • privvmpages - Лимит выделения памяти, в страницах памяти, смотрите ниже. Ядро никогда не выделит памяти больше, чем доступно по этому параметру. Также, если параметр vmguarpages меньше чем privvmpages, то это значит, что Вам может быть доступно одно количество страниц памяти, но гарантированны только часть из них, и ядро может выделять или не выделять их по своему усмотрению согласно текущей нагрузке на сервер. Это включает как Ram так и Swap память.
  • physpages - Показывается только через /proc/user_beancounters, так как это не лимит. Данный параметр показывает реально используемое в данный момент времени количество страниц памяти.
  • numfile - Максимальное количество одновременно открытых файлов.
  • numiptent - Число записей NETFILTER (фильтрация IP пакетов). Если Вы планируете использовать iptables, то это должно быть достаточно большое число. Например, firewall APF по умолчанию требует минимум 256, а для нормальной работы не менее 512.
    Прим. Множество параметров указано в страницах памяти, перевести это число в обычные Мб достаточно просто по этой формуле: x * 4 / 1024 , где x - это количество страниц памяти.

Замечание по месту на диске. Virtuozzo умеет делать замечательную вещь. Когда на сервере создается несколько копий OS, то тратится много дискового пространства и тратится практически впустую. Технология virtuozzo делает по-другому. Если вкратце, то так: создается одна копия OS шаблона, а все созданные VPS используют ее. Опуская технические подробности, можно сказать, что это позволяет значительно экономить место, и, причем, это место экономится из Ваших Гб. Другими словами, только что созданный VPS со стороны пользователя занимает смешные мегабайты места.

Хотелось бы коснуться момента интеграции панели управления Plesk и Virtuozzo. Сделанные одной компанией, при совместной работе они полностью интегрируются друг в друга, предоставляя как бы одну общую панель, что делает управление сервером очень простым для новичков.

Для Linux версии существует 2 варианта vz (virtuozzo) - платная и бесплатная (www.openvz.org ). Несмотря на то, что с виду это одно и тоже, на самом деле там множество различий, такие как: “возраст” ядра платной vz намного больше, чем openvz, которая появилась всего менее года назад; в бесплатной версии vz нет понятия платного суппорта, для хостинг-компании, которае ее использует, будет доступен только форум для помощи; в openvz нет того множества доступных OS, нет удобных панелей управления, как для клиента ,так и для хостера.

15.03.2006
Андрей Нестеренко
Технический директор
MIRhosting.com, Ltd

VDSmanager

VDSmanager - технология создания VDS на базе операционной системы FreeBSD. Разработкой технологии занимается компания “ISPsystem Holding Lux s.a.“, в России интересы разработчика представляет компания ЗАО “ISPsystem“. Пакет поставки VDSmanager включает в себя следующие компоненты: систему виртуализации, панель управления (GUI) и дисковые шаблоны.

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

Система виртуализации

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

  1. Каждой виртуальной среде (VDS) можно назначить лимиты на системные ресурсы: дисковое пространство, процессор, оперативную память, количество процессов и прочие параметры.
  2. VDS создается очень быстро, в считанные секунды. Все параметры виртуальной среды (диск, память, процессор и т.д.) можно менять “на ходу”, без перезагрузки VDS.
  3. Виртуальный Выделенный Сервер обладает всеми свойствами выделенного сервера, включая поддержку дисковых квот и брандмауэра (firewall). Все системные утилиты, типа top, ps, df и прочие, показывают ресурсы виртуального сервера, а не физического сервера в целом.

Также хочется отметить особенности системы, интересные в первую очередь хостинг-провайдерам. VDSmanager эффективно использует оперативную память сервера, в частности это касается, так называемых read-only сегментов программ. Рассмотрим на примере популярного сервера баз данных MySQL (программа mysqld). Каждый запущенный процесс имеет read-only сегменты: исполняемый код, область констант. Одна и та же программа, запущенная множество раз, например mysqld, использует всего один экземпляр read-only сегмента в физической памяти для всех mysqld-процессов. Система виртуализации VDSmanager идёт дальше, и позволяет использовать один и тот же экземпляр read-only сегмента для всех mysqld-процессов, запущенных на разных VDS. Это позволяет существенно экономить оперативную память сервера.

Этот же пример в цифрах.

Размер read-only сегментов для mysqld примерно равен 3 Мб. Предположим, что на сервере запущенно 100 VDS, использующих MySQL-сервер. Без описанной выше технологии требуется 3 * 100 = 300 Мб оперативной памяти, а система виртуализации VDSmanager позволяет для всех 100 VDS использовать всего 3 Мб. Экономия составляет 297 Мб. По аналогии это применимо ко всем стандартным программам установленным в дисковом шаблоне (см.ниже).

Панель управления (GUI)

Панель управления VDSmanager - это простой и удобный инструмент для управления Виртуальными Выделенными Серверами (VDS) через обычный веб-броузер. С помощью панели управления можно выполнять все необходимые операции с VDS: создание / удаление, изменение параметров, запуск / остановка, переинсталляция VDS.

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

  1. Администратор сервера - имеет полные права на изменение настроек VDSmanager и управление всеми аспектами жизнедеятельности VDS.
  2. Реселлер - специальный пользователь, создаваемый администратором, наделенный правами на создание/управление виртуальными серверами в рамках выделенных ему лимитов. Например, администратор сервера может создать реселлера и назначить ему лимиты: максимальное количество VDS, количество оперативной памяти, количество процессорного времени и т.д., а реселлер уже может сам распределять эти ресурсы между принадлежащими ему виртуальными серверами.
  3. Владелец Виртуального Выделенного Cервера (VDS) имеет доступ к функциям, касающимся только принадлежащего ему VDS: переинсталляция, перезагрузка, просмотр запущенных на VDS процессов, просмотр и изменение файлов VDS (полезно для аварийного восстановления VDS).

Немаловажной особенностью VDSmanager является возможность удаленного вызова функций панели (в документации фигурирует как API). Благодаря единому стандартизованному интерфейсу эта возможность позволяет удаленному скрипту вызвать любую функцию панели управления, что чрезвычайно важно для интеграции VDSmanager с биллингом хостинг-провайдера. Наличие API позволяет автоматизировать в биллинге множество рутинных функций таких как, сбор статистики по трафику, остановка VDS за неуплату, запуск VDS после оплаты, создание новых VDS и т.д.

Дисковые шаблоны

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

Преимущества данной схемы для владельца VDS:

  • Владелец VDS сразу же получает огромный набор предустановленного программного обеспечения, при этом “видит” объединенную файловую систему как единое целое.
  • Файлы шаблона не занимают дискового пространства, выделенного для VDS.

Преимущества для хостинг-провайдера:

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

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

12.04.2006
Игорь Чекушкин
Алексей Чекушкин
ЗАО “ISPsystem