Рекомендации по анализу характеристик и правильному выбору VDS хостинга. Предназначается к прочтению тем пользователями, которым нужно принять решение о целесообразности переноса веб-проектов с большой нагрузкой на веб-сервер (форум, медиа-портал, интернет-магазин) с хостинга на виртуальный выделенный сервер.
1. Когда интернет-проект перерос shared-хостинг
1.1. Что такое VDS
Виртуальный выделенный сервер — VDS (или виртуальный частный сервер VPS) это созданный с помощью специальных программ и технологий мини-сервер, ограниченный в ресурсах, но значительно более мощьный чем веб-хостинг, полностью отдельный и подконтрольный своему хозяину.
1.2. Признаки повышенной нагрузки на хостинг
В процессе развития интернет-проекта наступает одна из трех возможных ситуаций:
Когда сайт начинает открываться дольше 4 секунд, ежедневно становится недоступным, а от технической поддержки хостинга приходят гневные письма о превышении нагрузки на процессор и память веб-сервера. Как правило, это происходит по причине увеличения размера базы данных MySQL, используемых в большинстве современных CMS # и по причине увеличения количества посетителей веб-сайта. В результате развития любого форума, блога или социальной сети появляются новые участники, появляется все больше сообщений, комментариев. Люди посещают сайт все чаще. От этого нагрузка на процессор сервера из-за запросов к базе данных становится настолько большой, что уже нарушает правила хостинга. Например: HostGator, в своих правилах, пункт 7a, запрещает работу MySQL запроса дольше 15 секунд или использование больше чем 25% системных ресурсов дольше чем 90 секунд.
Когда для дальнейшего развития интернет-проекта, необходимо использование скриптов или модулей веб-сервера, которые требуют индивидуальной настройки операционной системы сервера и поэтому не могут работать на shared-хостинге. Например, почтовый сервер (Sendmail , Postfix или Exim), FTP — сервер или веб-сервер Nginx.
Когда необходимо решить некоторые вопросы безопасности, например, сделать невозможным доступ к файлам посторонних лиц или отказаться от FTP и заменить его на #SFTP.
На этом этапе владелец сайта задумывается о переносе своих проектов на VDS-хостинг. VDS-хостинг часто рассматривается как компромисс в ситуации, когда мощности и функциональности shared-хостинга за $3 — $7 в месяц уже мало, а выделенный сервер по цене от $150 до $300 еще слишком дорого. VDS (Virtual Dedicated Server) виртуальный выделенный сервер — услуга программной эмуляции работы реального физического сервера. VPS (Virtual Private Server) — виртуальный частный сервер, обозначает по смыслу тоже, что и VDS но с тем отличием, что на практике применяется только к виртуальным серверам на базе технологии OpenVZ/Virtuozzo, которая обеспечивает виртуализацию на уровне ядра ОС и является менее надежной чем другие технологии (XEN, KVM и др.).
2. Сравнение shared-хостинга и VDS
Одно из самых распространенных заблуждений о использовании VDS заключается в том, что любой сайт всегда будет работать быстрее на виртуальном сервере, чем на обычном веб-хостинге. На самом деле, VDS это хоть уже и выделенный сервер, но виртуальный, а значит и сервер БД MySQL, почтовый сервер, все службы и сервисы будут выполняться на нем в пределах его ограниченных ресурсов (бывают исключения в виде некоторых managed VDS).
В отличие от веб-хостинга, где все клиенты обращаются к общему серверу баз данных, очень часто размещенному на отдельном физическом сервере и работающем на мощной аппаратной платформе. Также, на VDS, в зависимости от технологии виртуализации, могут быть проблемы с производительностью жесткого диска при высокой интенсивности файловых операций (частая проблема VPS на базе OpenVZ/Virtuozzo).
Главное преимущество VDS перед веб-хостингом — гораздо большие объем гарантированной оперативной памяти и ресурса процессора для выполнения исключительно скриптов пользователя в течение любого, необходимого времени и возможность самостоятельной настройки сервера точно под свои нужды. В отличие от веб-хостинга на виртуальном сервере вы сможете установить любые приложения, например, PHP акселлератор, Nginx, поменять версию PHP (PHP 4.4.9 на 5.2.1, вернуться с PHP 5 на PHP 4). Также, владелец виртуального сервера полностью контролирует доступ к файлам.
3. Типы VDS по уровню поддержки
3.1. Unmanaged
В случае unmanaged VDS, компания-хостер несет ответственность только за бесперебойную работу хостинга и доступность из сети вашего виртуального сервера. Вы получаете VDS с установленной операционной системой и должны самостоятельно установить и настроить все необходимые программы (панель управления, веб-сервер, mySQL сервер, почтовый сервер). Этот вариант дешевле, но требует хороших знаний по администрированию серверов от пользователя VDS.
3.2. Managed
В этом случае вы, как владелец VDS, можете рассчитывать на помощь техподдержки по вопросам настройки или использования виртуального сервера. Для вас заранее будут установлены и настроены панель управления сервером и набор типичного программного обеспечения (Apache,MySQL,PHP, FTP сервер, почтовый сервер). Стоимость аренды VDS будет значительно больше, но удобно для тех пользователей, которые хотят заниматься своим сайтом, а не копаться в настройках виртуального сервера.
Например, системные администраторы Acenet отвечают за:
регулярные обновления ОС, установку заплаток и обновлений безопасности
Таблица 1. Различие в стоимости managed и unmanaged VDS
Также в понятие managed VDS часто включается возможность разместить ресурсоемкие программы, например сервер баз данных MySQL на отдельном физическом сервере, что снизит нагрузку на виртуальный сервер клиента. Хостинг InMotion понимает managet VDS так:
Гостевая ОС — операционная система установленная на виртуальном сервере
4.1. Виртуализация на уровне ядра ОС
В этом случае средствами операционной системы создаются отдельные контейнеры — виртуальные машины. Для пользователей эти контейнеры выглядят как копия основного сервера с уменьшенными ресурсами. Программы и системные процессы в различных контейнерах не могут влиять друг на друга. Доступ к ресурсам и их разделение между виртуальными машинами обеспечивает основная операционная система. При использовании этой технологии невозможно на виртуальной машине запускать гостевую операционную систему, отличающуюся от хостовой ОС. Примерами таких систем, используемых в индустрии хостинга, являются Virtuozzo и FreeBSD Jail.
4.2. Виртуализация на базе гипервизора
В этой технологии используется гипервизор — программа или электронная схема, которая устанавливается на хост-компьютер и обеспечивает создание, запуск и работу нескольких виртуальных машин. Все виртуальные машины работают полностью изолировано и не зависимо друг от друга. Гипервизор использует возможности апартной виртуализации и создает среду, полностью имитирующую аппаратуру физического сервера, при этом гостевая операционная система может не знать что выполняется в виртуальной среде. Гостевая операционная система может быть любой из тех операционных систем, которые поддерживает гипервизор и различной у разных виртуальных машинах. Примерами гипервизора являются Xen и KVM.
Это одна из первых и самая распространенная технология виртуализации, например среди участников Best 10 VPS Hosting Providers только одна компания — Acenet предлагает VDS на базе технологии Xen, все остальные используют OpenVZ/Virtuozzo. OpenVZ — open-source — разработка, распространяемая бесплатно. На базе OpenVZ компанией Parallels была разработана Virtuozzo. Эта технология работает на базе ОС Linux. Virtuozzo отличается легкостью в установке и настройке. Но нужно учесть, что все виртуальные сервера используют одно ядро, поэтому индивидуально нельзя включить нужные модули для отдельного VPS, память и дисковое пространство общее, разделяется между всеми виртуальными серверами в пределах выделенного лимита.
Это означает, что соседний VPS, создав нагрузку на файловую систему большим количеством дисковых операций, создаст проблему и вызовет замедление работы вашего и всех остальных виртуальных серверов. В связи с тем, что используется одно общее ядро операционной системы, в виртуальных серверах нельзя ставить другую ОС.
Также, использование разделяемых ресурсов дает возможность для владельцев хостинга оверселлинга. Оверселлинг — ситуация когда администратор сервера ожидает что клиент в большинстве случаев не израсходует все ресурсы, которые должны быть по тарифу. Поэтому ресурсы физического сервера распределяются на большее количество виртуальных машин, чем может работать одновременно на полную мощность. Например, на физическом сервере установленно 4Гб RAM и она распределяется по 512 Мб на 10-20 виртуальных машин, а не на восемь.
Так как, в реальности, большинство клиентов используют не все ресурсы, которые должны быть по тарифу, то проблемы будут возникать только при пиковой нагрузке или при запуске приложения, которое, например, действительно займет всю выделенную по тарифу память. На виртуальной машине может быть только такая же ОС, как и на сервере.
Рис 1. Панель управления OpenVZ
Фактически, два единственных преимущества VPS на базе Virtuozzo это:
более низкая стоимость для клиентов по сравнению с виртуальными серверами на базе технологии Xen или KVM.
возможность менять параметры сервера (например, размер оперативной памяти, количество выделяемого процессорного времени, размер диска виртуальной машины) без перезагрузки .
Это гораздо более стабильная технология. Благодаря тому, что для каждого виртуального сервера запускается собственное ядро, пользователь полностью контролирует систему и не зависит от других пользователей и их действий на собственных VDS-ах. Благодаря полной изоляции друг от друга, в каждом виртуальном сервере может быть установлена различная операционная система, а доступные ресурсы (память, дисковое пространство) точно соответствуют значению согласно тарифу. Также, что очень важно, любые катаклизмы на отдельно взятом VDS не повлияют на скорость и стабильность работы соседей по серверу.
Например если на отдельном VDS какой-либо процесс заберет всю память или создаст слишком много файловых операций, то замедлиться или остановиться работа только этого виртуального сервера, а остальные VDS будут продолжать работать нормально. При использовании этой технологии на виртуальный сервер можно установить такие операционные системы как Linux, NetBSD, FreeBSD, OpenBSD, Windows XP или 2003 Server.
Рис 2. Организациия VDS с помощью технологии XEN
Основные особенности Xen: поддержка режима паравиртуализации помимо аппаратной виртуализации, возможность миграции запущенной виртуальной машины между физическими машинами( на примере cloud сервера). В простейшем случае система физически может работать на двух узлах — виртуальные машины распределяются между ними, а их диски дублируются и хранятся на обоих узлах.
При использовании Xen для технологии Сloud, если один из узлов выходит из строя, все виртуальные машины запускаются на втором — система остаётся полностью работоспособной. При нормальном выключении одного из узлов, машины, работавшие на нём, мигрируют на второй узел абсолютно незаметно для пользователей этих машин. Это позволяет выполнять поочерёдное обслуживание и обновление железа серверов в любое время и без вмешательства в работу пользователей.
Технология виртуализации, которая работает на уровне ядра операционной системы (почему и называется Kernel-based Virtual Machine) и поддерживает аппартную виртуализацию. Для пользователя VDS это означает практически полное отсутствие потерь производительности из-за виртуализации, высокую надежность и стабильность работы.
Рис 3. Организация виртуальных машин по технологии KVM
Достоинства технологии KVM:
независимое и изолированное выделенное дисковое пространство и выделенная оперативная память для каждой виртуальной машины.
поддержка сетевых протоколов позволяет установить и использовать VPN
поддержка эмуляции физического доступа к консоли можно контролировать виртуальный сервер с момента загрузки.
поддержка любой операционной системы на виртуальных серверах.
Технология виртуализации компании Microsoft, работает на базе Windows Server 2008. Используется аппаратная виртуализация. Потери производительности незначительны. Разрешенные гостевые ОС: Windows NT, 2000, 2003, 2008, XP, Vista, Linux Red Hat или Linux SUSE. Другие гостевые ОС на базе Linux не поддерживаются.
Рис 4. Архитектура технологии Hyper-V.
В этой технологии нет поддержки USB для виртуальных машин, также в виртуальных машинах не воспроизводится звук. Эта технология рекомендуется в том случае, если вы планируете использовать VDS с ОС Windows.
5.5. FreeBSD Jail
Это технология виртуализации, которая позволяет на базе системы FreeBSD, установленной на физическом сервере, создать несколько, работающих изолированно виртуальных FreeBSD — машин. Используется общее ядро операционной системы, но сами виртуальные машины настраиваются полностью индивидуально. Ни один из процессов, выполняющихся внутри Jailed-процесса, не может повлиять на любые внешние процессы. Другие операционные системы в качестве гостевой использоваться не могут.
Для виртуализации используется продукт VMware ESX/ESXi Server. ESX позволяет создавать полностью изолированные виртуальные машины, физические ресурсы сервера делятся на логические разделы. В настоящее время эта платформа виртуализации применяется для организации облачного хостинга. Для организации VDS используется очень редко.
5.7. Различия между самыми популярными платформами для VDS
В реальности, виртуальные сервер для целей веб-хостинга, как правило, создаются на базе трех самых популярных технологий: KVM, OpenVZ/Virtuozzo, Xen.
Рис 5. Результаты голосования о популярности технологий виртуализации с сайта webhostingtalk.com
Сравнение достоинств и недостатков этих технологий приведено в Таблице 3.
KVM
OpenVZ/Virtuozzo
Xen
Собственная файловая система любого типа
+
-
+
Выделенная область в оперативной памяти с полным доступом и возможностями отладки
+
-
+
Полное изолирование от соседей
+
-
+
VNC-соединение на ранних стадиях загрузки
+
-
ограничено
PPTP VPN
+
ограничено
+
OpenVPN
+
ограничено
+
IPSec VPN
+
-
ограничено
Межсетевые экраны (Firewall)
+
ограничено
+
Kernel mode NFS server
+
-
-
Независимое ядро
+
-
ограничено
Независимые модули ядра
+
-
ограничено
Полный контроль над сокетами и процессами
+
-
-
Полная поддержка гостевых ОС (Windows, Linux, BSD, OpenSolaris и т.д.)
+
-
ограничено
Эмуляция PCI / PCIe карт с полным доступом к ним
+
-
ограничено
Официальная интеграция с ядром Linux
+
-
+
Таблица 3. Сравнение технологий виртуализации KVM, OpenVZ/Virtuozzo и Xen
6. Критерии выбора виртуального сервера
Обычно, если вам понадобился виртуальный сервер, это означает, что будет размещаться либо большой ресурсоемкий проект, например, магазин (www.dsw.com), новостной портал (militarytimes.com) или социальная сеть (www.caringbridge.org) или специфический сервис, который нельзя запустить на shared веб-хостинге (например почтовый сервер). Любой из этих вариантов подразумевает большую нагрузку на хостинг со стороны скриптов и большую посещаемость. При выборе VDS хостинга надо учитывать несколько факторов.
Рассматривая три группы, качество услуги хостинга, стоимость и уровень сервиса, получаем следующие критерии:
Технология виртуализации — хотя самая популярная технология это OpenVZ/Virtuozzo и в силу исторических причин как первопроходец, так и благодаря дешевизне, все же лучше выбирать VDS хостинг на базе более стабильных технологий XEN, KVM или Hyper-V. Из десяти лидеров, предлагающих виртуальные сервера (http://webhostinggeeks.com/vpshosting.html), VDS по технологии XEN предлагает только Acenet.
Объем памяти — кроме памяти выделенной для вашего VDS в случае технологии Virtuozzo есть еще Burstable Memory — это дополнительная память которую ваши скрипты могут кратковременно использовать при перерасходе собственных ресурсов (при условии что другие пользователи не заняли Burstable Memory в этот момент).
Объем дискового пространства — место на диске где будут размещаться все ваши файлы, html страницы, скрипты, базы данных, статистика, почта.
Размер ежемесячного трафика — не забывайте что ваш трафик расходуется не только при посещении ваших сайтов, но и при закачке сайтов на хостинг, установке CMS, при скачивании и установке скриптов и выполнении резервног окопирования к себе на локальный жесткий диск.
Размер используемого процессорного времени — важный показатель, который определяет какую часть вычислительной мощности процессора сервера будет использовать ваш VDS. К сожалению, этот показатель условен и на практике его невозможно сравнивать для различных провайдеров VDS-хостинга потому что у различных провайдеров на серверах используются различные процессоры и пользователь не знает какие именно. Например из десяти лидеров рейтинга http://webhostinggeeks.com/vpshosting.html ни один хостинг провайдер не указал характеристики физических серверов, на которых размещаются VDS и только Acenet указал долю процессорного, правда в совершенно непонятных единицах измерения (vCPU).
Географическое расположение датацентра — чем ближе к основной аудитории вашего сайта тем больше вероятность что посетители будут довольны скоростью загрузки веб страниц. Например, при тесте скорости загрузки файла с дата-центра InMotion Hosting на восточном побережье, время загрузки для пользователей в Сан Франциско (1,9 секунд) и в Вашингтоне (0,36 секунд) будет различаться в 5 раз#. В идеале хорошо иметь возможность выбора из нескольких вариантов, например, у InMotion Hosting есть датацентры на западном и восточном побережье США (http://goo.gl/UvJVv).
Тип операционной системы VDS. Лучше выбрать CentOS, Debian, Ubuntu, которые отличаются стабильной работой на виртуальных серверах и большим количеством справочной информации для тех, кто плохо ориентируется в системном администрировании. FreeBSD — хорошая, надежная операционная система, но требует хороших познаний в администрировании. Windows имеет смысл выбирать только в случае специфических требований программ (например, при использовании MSSQL сервера баз данных или скриптов ASP), которые вы будете запускать на VDS.
Стоимость ежемесячной аренды VDS — обратите внимание входит ли в тариф бесплатное администрирование. Так как в этом случае администраторы техподдержки хостинга заинтересованы в том, чтобы сразу все настроить как следует.
Стоимость дополнительного администрирования — нужно понимать, какие расходы вас ждут в тех ситуациях, когда вы не справитесь с администрированием сервера самостоятельно. Если вы арендуете Managed VDS, то стоимость поддержки будет включена в оплату VDS.
Работа техподдержки. Расписание и график работы технической поддержки. Способы связи: телефон, тикеты, лайвчат, почта email.
Отзывы о хостинге реальных пользователей (работа технической поддержки в реальности, оверселлинг, реальный uptime серверов).
Тестовый период — период времени, в течение которого по правилам хостинга можно потребовать возврат денег. Это важно, так как только на практике будут видны реальная мощность процессора сервера и соответствие реальных ресурсов виртуального сервера тем, которые описаны в тарифах.
7. Заключение
Итак, размещение одного или нескольких веб-сайтов на виртуальном выделенном сервере это ответственное решение, которое надо принимать, рассмотрев все аргументы за и против.
Преимущества от использования VDS:
возможность запуска скриптов требующих больше памяти и процессорного времени
полный контроль пользователя над доступом к его файлам
возможность индивидуальной настройки веб-сервера под свои нужды
большие расходы на оплату хостинга по сравнению с shared-хостингом
необходимость уметь администрировать линукс или виндовс-сервера, либо
расходы на оплату услуг системного администратора
большая ответственность пользователя за работоспособность своих сайтов
Рис 7. Структура сервера с VPS.
Также, всегда помните, что есть два фактора, которые не позволят сравнить виртуальные сервера разных провайдеров точно по всем характеристикам, написанным в тарифах:
Один их главных показателей мощности виртуального сервера — доля процессорного времени не имеет общей единицы измерения, может измеряться в Mhz, может в процентах процессорного времени, в виртуальных процессорах или вообще не указываться, но в любом случае эти единицы измерения не сравнимы для разных хостинг-провайдеров.
Так как часто используется технология OpenVZ/Virtuozzo, хостер может и часто занимется оверселлингом, т.е. например предлагает в тарифных планах оперативной памяти для каждого отдельного VDS — а больше, чем в сумме физически есть памяти на сервере. Это приводит к тому, что при пиковой нагрузке на одном виртуальном сервер не хватит ресурсов другому. Насколько администрация хостинга злоупотребляет возможностью оверселлинга вы сможете узнать только на практике или по отзывам других пользователей.
Поэтому подбирайте себе виртуальный сервер не только по техническим характеристикам, но и по отзывам других пользователей.
А сразу после покупки старайтесь активно тестировать ваш VDS на максимальной нагрузке в начальный период, пока есть возможность потребовать возврат денег.
Огромное спасибо, очень полезная информация и небольшое дополнение, недорогой и со скидками сервер впс http://vps.isaihost.com/