VPS, VDS и Virtual Machines (виртуальные машины, VM)

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

VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) — это масло масляное. Они означают одно и то же, а именно — виртуальный выделенный сервер. Между тем, везде в корне неверно указывается информация про виртуальный сервер, и пишутся только главные вещи, в корень же никто не зрит.

Все виртуальные серверы повязаны на одной системной библиотеке, зовущейся libvirt (Virtualization Library). Библиотека libvirt используется для взаимодействия с различными технологиями виртуализации.

Прежде чем приступить к работе с libvirt, лучше всего убедиться, что ваше оборудование поддерживает необходимые расширения виртуализации для KVM (Kernel based Virtual Machine).

KVM необходима для создания «честных» виртуальных серверов, об этом ниже.


Как видно, не важен способ виртуализации — все упрется в одно и то же.

Вот например так говорит Википедия:


Но это же. блин, в корне неверно! И я докажу почему.

Между прочим, виртуальные серверы тоже делятся.

1. Контейнеры

К контейнерам относятся технологии. похожие на виртуальный шаред хостинг. Это просто папки с файлами на жестком диске провайдера. Их BIOS и настройки описаны в стандартном текстовом файле.

Примеры таких контейнеров: OpenVZ, LXC. Они используют общее ядро с ядром операционной системы ноды-носителя (то есть сервера провайдера). Вы не сможете поменять например сложные правила iptables. так как они не поддерживают некоторые расширения.

Обычно серверы контейнерного типа самые дешевые, их стоимость начинается от 90 рублей. Но они и небезопасные, так как любой человек сможет физически изменить их данные и настройки. Достаточно тупо загрузить сервер на свой ПК и примонтировать диск в софте. Все!

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

Проще всего сделать это через DiskInternals Linux Reader. По дефолту программа бесплатная.

2. «Честные» серверы

К таковым относятся KVM, Xen, а также прочие. Но тут тоже не так все просто. Ведь они делятся на две категории!

Виртуальные серверы

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

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

Серверы на KVM и Xen используют мощности ноды-носителя, но целиком эмулируют отдельный ПК, со своей операционной системой, ее ядром и приложениями. Такая технология дороже, но безопаснее. Тем более такие серверы можно объединить в вычислительное облако и использовать мощности аж нескольких тысяч серверов!

Обычно управление идет через системы типа VMmanager.

Виртуальные машины

Это особое ответвление виртуальных серверов. Такие сервера уже работают в основном на на гипервизорах VMware и могут собой заменять обычные физические сервера. Обычно они используются для сложных задач и разработки, но могут быть нацелены и на бытовые приложения.

Эти серверы уже по умолчанию работают в вычислительном облаке и отказоустойчивы. Из-за этого их стоимость приравнена к обычным выделенным серверам.

Виртуальные машины — самый безопасный вид виртуальных серверов. Они как правило жестко отделены друг от друга.

Заключение

Не стоит думать, что виртуальные серверы, VPS, VDS, виртуальные машины и прочее — это разные понятия. На самом деле это одно и то же самое, но на различных уровнях. Поэтому провайдеры, по факту, предлагают один и тот же продукт, но с разными пакетами.

К примеру, серверы Яндекс Облака относятся именно к виртуальным машинам.

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

VPS/VDS, гарантированная память и vSWAP

Виртуальный выделенный сервер VPS (ВПС) / VDS (ВДС) — это изолированный сервер, мощности которого принадлежат полностью Вам, в отличие от обычного хостинга. Сервер VPS (ВПС) является гибким и легко настраиваемым. С его помощью можно без труда установить любую операционную систему. Кроме того, полноценный root-доступ к управлению сервером позволит установить любое программное обеспечение и конфигурацию любых параметров. Возможности сервера VPS (ВПС) позволяют реализовать проект любой сложности. Если в процессе работы Вам понадобится дополнительное пространство, то нет необходимости менять тарифный план. В любой момент Вы можете подключить дополнительное дисковое пространство!
Различия виртуальных серверов:

Под VPS обычно понимают виртуальное окружение (VE), решение для виртуализации на уровне операционной системы, которое позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, часто называемые виртуальные среды или контейнеры.

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

Под VDS обычно понимают виртуальные машины (VM). Виртуализация – это технология, которая позволяет запустить несколько виртуальных машин на одном узле. Данная технология позволяет более эффективно использовать вычислительные ресурсы.

Гарантированная память – это объем оперативной памяти, выделенный под нужды конкретного VPS, и доступный в любой момент времени.

vSWAP – это дополнительная память, размещаемая в оперативной памяти физического носителя, которая может быть доступна Вашему VPS при наличии на VPS-носителе достаточного количества неиспользуемой в данный момент памяти. Другими словами, если на носителе есть свободная память, невостребованная другими виртуальными машинами, то Ваш VPS может получить больший объем оперативной памяти вплоть до лимита. Обычно vSWAP используется для менее активных приложений, нежели гарантированная память. В отличие от «динамической памяти», предлагаемой другими хостинговыми провайдерами, данные, находящиеся в vSWAP памяти, не могут быть утеряны. Благодаря этой особенности, запущенные приложения не будут аварийно завершаться.

Различия способов виртуализации: выбираем правильный VPS/VDS

Виртуализация — это способ логически объединить ресурсы, предоставить что-либо в наборе. При этом виртуализировать можно вообще все, но в основном это выделенные сервера. Программное обеспечение для создания таких серверов называется гипервизором или монитором виртуальных машин, а сами выделенные сервера, созданные таким путем, называются виртуальными выделенными серверами (VDS), либо виртуальными частными серверами (VPS), либо виртуальными машинами (VM), в зависимости от способа создания, набора функций, а также возможностей программного обеспечения.
Вообще, различается несколько способов создания VDS/VPS. Первый и самый часто используемый — это сервера под управлением открытого (OpenSource) гипервизора OpenVZ. Сервера, созданные на нем, самые дешевые из всех предложений. Дальше идут гипервизоры KVM и Xen. И уже самыми дорогими являются Hyper-V и VMware.
Здесь мы рассмотрим каждый из гипервизоров. Возможности написаны в виде списка, таким образом можно сравнить гипервизоры.

1. OpenVZ


  • Работает на уровне операционной системы (Linux)
  • Использует общее с операционной системой ядро
  • Сами сервера являются контейнерами, а не полноценными серверами
  • Основан на измененном ядре Linux
  • Невозможно произвести важные операции (например, синхронизировать время самостоятельно), так как используются некоторые файлы реальной системы
  • В настоящее время в большинстве случаев заменен на LXC
  • Использует библиотеку libvirt
  • Эмулирует устройства
  • Не поддерживает Windows
  • Самый дешевый и доступный из всех (от 90 рублей)

2. LXC (LinuX Containers)


  • LXC контейнеры, запущенные под управлением Proxmox VE
  • Работает на уровне операционной системы (Linux)
  • НЕ использует контейнеры
  • Основан на cgoups
  • Можно менять время и дату в отличие от OpenVZ
  • Использует библиотеку libvirt
  • Оптимизирован лучше, чем OpenVZ
  • Эмулирует устройства
  • Не поддерживает Windows
Самый дешевый и доступный из всех (от 200 рублей)

3. KVM (Kernel Based Virtual Machine)


  • Работает на уровне операционной системы (Linux)
  • Имеет собственное ядро, основанное на QEMU
  • Требует аппаратной поддержки виртуализации (AMD-v/VT-x)
  • Каждый сервер — фактически полноценная VM
  • Не зависит от изменений операционной системы на хостинге
  • Поддерживает все известные ОС
  • Эмулирует устройства
  • Сильнее нагружает сервер, чем OpenVZ и LXC
  • Дороже, чем OpenVZ и LXC (от 500 рублей)

4. Hyper-V


  • Bare Metal гипервизор (то есть работает независимо от операционной системы), но есть также и на самой ОС
  • Базируется на слегка измененном ядре Windows
  • Способен создавать виртуальные устройства, а не эмулировать их
  • Нагружает систему в зависимости от количества VM
  • Каждый сервер — полноценная VM
  • Поддерживает много сетевых интерфейсов
  • Поддерживает все известные ОС
  • Дороже, чем предыдущие гипервизоры (от 900 рублей)

5. VMware vSphere


  • Bare Metal гипервизор
  • Работает самостоятельно
  • Способен создавать виртуальные устройства и делать их «горячую» замену (кроме дисков, памяти и процессора)
  • Способен добавлять память и процессор, а также диск без перезагрузки VM
  • Способен запускать суб-гипервизоры
  • Каждый сервер — полноценная VM
  • Поддерживает много сетевых интерфейсов
  • Поддерживает все известные ОС
  • Дороже, чем предыдущие гипервизоры (от 1000 рублей)