1. Быстрый ответ
VPS и VDS — это одно и то же.
Wikipedia перечисляет оба термина в одном артикуле «Virtual private server». TechTarget озаглавил свою статью «What is virtual private server (VPS) or virtual dedicated server (VDS)?» — один вопрос, два написания. RUVDS прямо написал на Хабре: «VDS и VPS — это один вид услуг».
Если вам нужно просто купить сервер — названия не важны. Смотрите на гипервизор (должен быть KVM), гарантии RAM и репутацию провайдера.
Но если интересно, почему существуют два термина и куда исчезла разница — читайте дальше. История поучительна.
2. Откуда взялись два термина
В начале 2000-х существовало два принципиально разных способа разделить физический сервер на виртуальные машины. Они давали разные продукты с разными свойствами — и оба нуждались в названии.
Ассоциировался с контейнерной виртуализацией: OpenVZ, Virtuozzo, LXC.
«Private» означало изолированное пространство, но не выделенные физические ресурсы. Все контейнеры на одном хосте делили одно ядро Linux.
Ассоциировался с аппаратной виртуализацией: KVM, Xen, VMware ESXi.
«Dedicated» означало более надёжную изоляцию — каждая VM получала собственное ядро. Но не выделенный процессор.
Заметка об истории OpenVZ: Virtuozzo был разработан российской компанией SWsoft (сейчас Odin/Parallels) в 2001 году и открыт как OpenVZ в 2005-м. Российские хостинг-провайдеры были в числе первых массовых пользователей этой технологии — отсюда особая укоренённость обоих терминов в рунете.
3. Реальная разница: OpenVZ vs KVM
Разница между эпохой VPS и эпохой VDS была настоящей и технически значимой. Вот конкретные отличия:
| Параметр | OpenVZ (VPS) | KVM (VDS) |
|---|---|---|
| Ядро Linux | Одно на весь хост, общее | Своё у каждой VM |
| RAM | Мягкий лимит + burstable pool | Жёсткое выделение |
| CPU | Весовая доля (cpuunits), без гарантий | vCPU-квота, более предсказуемо |
| Диск I/O | Без гарантий в ранних версиях | Можно лимитировать через cgroups |
| ОС | Только Linux (ядро хоста) | Любая: Linux, Windows, FreeBSD |
| Docker | Не работает (нужны capabilities ядра) | Работает полностью |
| Собственные модули ядра | Нельзя | Можно |
| Оверселл | Структурно встроен, практиковался широко | Технически сложнее, но возможен |
| Накладные расходы | Минимальные (~1–3%) | Выше (~5–10% для гипервизора) |
Как OpenVZ распределял RAM — детали
OpenVZ использовал систему User Beancounters: у каждого контейнера был гарантированный минимум RAM (barrier) и максимальный предел (limit). Между этими значениями — «серая зона», доступная если соседи не используют своё.
Провайдеры продавали, например, 512 МБ «гарантированной» RAM, зная что на хосте суммарно «продано» в 3–5 раз больше реального объёма памяти. Пока серверы простаивали — это работало. При нагрузке — нет.
systemd-detect-virt
# openvz → вы на OpenVZ-контейнере
# kvm → вы на KVM
# microsoft → Hyper-V (RUVDS)
# none → физический сервер4. Почему разница исчезла
К середине 2010-х KVM победил. Причин несколько:
Docker сделал OpenVZ неактуальным
Docker появился в 2013-м. Разработчики начали хотеть запускать контейнеры внутри VPS. OpenVZ не поддерживает вложенную контейнеризацию — нужны capabilities ядра, которых нет в общем ядре хоста. KVM это умеет без проблем.
KVM стал дешёвым
В начале 2000-х аппаратная виртуализация требовала дорогих серверов с поддержкой Intel VT-x / AMD-V. К 2010-м это стало стандартом на любом серверном железе, а KVM превратился в зрелый стабильный продукт, включённый прямо в ядро Linux.
OpenVZ отстал от ядра Linux
OpenVZ долго не успевал за новыми версиями ядра. Хосты работали на старых ядрах, пользователи не могли получить современный Linux. KVM не имеет этой проблемы — гостевая VM использует своё ядро.
Провайдеры мигрировали один за другим
FirstVDS прекратил продажи OpenVZ-тарифов для новых клиентов. Beget перешёл с OpenVZ на KVM. Selectel изначально строился на KVM. Сегодня на новых тарифах OpenVZ практически не встречается.
Итог: когда OpenVZ ушёл, термины «VPS» и «VDS» лишились технического основания. Оба теперь обозначают KVM. Провайдеры продолжают использовать оба слова параллельно — Timeweb пишет «VDS/VPS», AdminVPS пишет «VPS/VDS» — не потому что это разные продукты, а потому что оба запроса ищут в поиске.
5. Миф о «выделенных ресурсах»
Слово Dedicated в VDS породило устойчивое заблуждение: «на VDS ресурсы выделены под меня одного». Это верно для RAM и диска, но не для CPU.
RAM
Жёсткий лимит
KVM резервирует память за вашей VM. Соседи не могут её забрать. Провайдеры типа AdminVPS явно заявляют «оверселл RAM запрещён».
Диск
Жёсткий лимит
Ваш LVM-раздел или qcow2-образ выделен только вам. Соседи не могут использовать ваш дисковый объём.
CPU
Разделяется
vCPU — это квота времени на физическом процессоре, не закреплённое ядро. Гипервизор планирует задачи всех VM на общие физические ядра.
Что означают vCPU на самом деле
Когда провайдер продаёт «2 vCPU» — это значит, что гипервизор даёт вашей VM право одновременно выполнять 2 потока. Но физически эти потоки выполняются на ядрах, которые планировщик гипервизора распределяет между всеми VM на хосте.
Если на сервере 32 физических ядра, а провайдер продал 60 VM по 2 vCPU — суммарная «продажа» = 120 vCPU. Пока не все VM нагружены одновременно, это работает. Когда нагружены — возникает CPU steal time.
Настоящая выделенность CPU — отдельный продукт
Технически возможно «прибить» (pin) конкретные физические ядра к одной VM — тогда никакая другая VM не получит эти ядра. Это называется CPU pinning. Такой продукт провайдеры иногда продают как «dedicated vCPU» и стоит он на 30–100% дороже стандартного тарифа. Это не то, что вы получаете на обычном VPS/VDS.
6. CPU steal time — что реально важно знать
CPU steal time (обозначение %st в top) — это время, когда ваш vCPU готов выполнять задачи, но физическое ядро занято другой виртуальной машиной. По сути это «украденное» у вас процессорное время.
# В top: нажмите 1 для отображения по ядрам
top
# Строка: %Cpu0: 12.5 us, 3.2 sy, 0.0 ni, 80.1 id, 0.5 wa, 0.0 hi, 1.2 si, 2.5 st
# ^^^^ steal
# Через vmstat (каждые 2 секунды, 5 раз)
vmstat 2 5
# Колонка "st" — steal time
# Быстрая проверка за 10 секунд
top -bn1 | grep "Cpu(s)" | awk '{print "steal:", $9}'| %st (steal) | Оценка | Что делать |
|---|---|---|
| 0–2% | Отлично | Хост не перегружен, хороший провайдер |
| 2–5% | Норма | Приемлемо для большинства задач |
| 5–10% | Плохо | Провайдер overcommit'ит CPU, ищите причину |
| > 10% | Критично | Смените VPS или провайдера |
Важно: CPU steal есть на любом KVM-хосте, в том числе у провайдеров с громким «VDS». Слово «VDS» не защищает от перегруженного физического сервера. Защищает — репутация провайдера и его политика overcommit.
7. Как называют провайдеры и почему
Чтобы понять, почему термины до сих пор разные — посмотрим на конкретные компании:
| Провайдер | Термин | Гипервизор | Почему такое название |
|---|---|---|---|
| Beget | VPS | KVM | Пришёл из OpenVZ-эпохи, сохранил термин VPS после миграции на KVM |
| Timeweb | VDS/VPS | KVM | Явно признаёт тождественность, пишет оба через слеш |
| RUVDS | VDS | Hyper-V | Строился как VDS-провайдер, использует Hyper-V вместо KVM |
| Selectel | VPS/VDS | KVM | Enterprise-уклон, оба термина для охвата SEO-трафика |
| AdminVPS | VPS/VDS | KVM | В названии VPS, но продаёт как VDS с акцентом на изоляцию |
| FirstVDS | VDS | KVM | Одним из первых в RU закрепил VDS=KVM, OpenVZ прекращён |
Обратите внимание: RUVDS использует Hyper-V, а не KVM — единственный крупный российский провайдер с таким выбором. Технически это полноценная аппаратная виртуализация с теми же свойствами (собственное ядро, жёсткая RAM, поддержка Windows). Это не делает продукт принципиально «более VDS» — просто другой гипервизор.
8. На что смотреть при выборе
Раз термины ничего не значат — что тогда важно? Вот конкретные параметры, которые реально влияют на качество сервера:
Гипервизор — KVM или Hyper-V, не OpenVZ
KVM и Hyper-V дают полную изоляцию и поддерживают Docker, любые ядра, Windows. OpenVZ на новых тарифах — красный флаг, лучше избегать. Проверить: systemd-detect-virt после покупки.
Политика оверселла RAM
Хороший провайдер явно заявляет об отсутствии оверселла RAM. Проверить: сразу после получения сервера запустите free -m — доступная RAM должна соответствовать тарифу.
Тип диска — NVMe или SATA SSD
Дисковая производительность различается в разы. NVMe — 100K+ IOPS, SATA SSD — 30–80K IOPS, HDD — 100–150 IOPS. Смотрите в описании тарифа.
CPU steal time после покупки
Запустите top и смотрите колонку %st. Норма — <5%. Если стабильно выше — хост перегружен. Хороший провайдер обычно не позволяет этому случиться.
Локация датацентра
Для российской аудитории — Москва или Санкт-Петербург. Пинг из Москвы до московского сервера: 3–10 мс. До немецкого: 40–60 мс — заметно для интерактивных приложений.
| Критерий | Влияет на качество? | Как проверить |
|---|---|---|
| Название VPS или VDS | Нет | Не проверять — не важно |
| Гипервизор (KVM/Hyper-V/OpenVZ) | Да | systemd-detect-virt |
| Объём RAM и гарантия | Да | free -m после покупки |
| Тип диска (NVMe/SSD/HDD) | Да | Указано в тарифе, fio после покупки |
| CPU steal time | Да | top → %st колонка |
| Пинг до датацентра | Да | ping до IP сервера |
| Репутация провайдера | Да | Отзывы на hostings.info, форумы |
| Наличие тест-периода | Да (удобно) | RUVDS 3 дня, AdminVPS 7 дней (юрлица) |