RDP Monster

Что такое VDS? Виртуальный выделенный сервер vs VPS

Что такое VDS? Виртуальный выделенный сервер vs VPS

Что такое виртуальный выделенный сервер на самом деле

Виртуальный выделенный сервер (VDS) представляет собой виртуальную машину, выделенную на физическом хосте гипервизором (чаще всего KVM в Linux, иногда Xen, VMware ESXi или Hyper-V), с одним определяющим свойством: ресурсы из счёта зарезервированы. Два ядра означают два потока хоста, отведённые именно этой машине; 8 ГБ оперативной памяти означают 8 ГБ, которые хост никогда не одолжит другому арендатору. Внутри машины у вас собственное ядро, собственный образ диска, полные права root или администратора и любая операционная система, которую способен запустить гипервизор: с точки зрения гостя это маленький выделенный сервер, а с точки зрения хоста это один из нескольких арендаторов, которые никогда не конкурируют за одну и ту же выделенную долю.

Термин появился потому, что понятие «VPS» стало слишком широким. VPS может быть чем угодно: от контейнера OpenVZ с burst-памятью до машины KVM на хосте, где одно физическое ядро продано шести клиентам. Слово «VDS» взяли на вооружение провайдеры, желавшие сказать «этот сервер не перепродан». Никакого стандарта за названием нет: на русскоязычном рынке хостинга VDS и VPS используются как синонимы, а часть зарубежных провайдеров просто переименовывает обычную линейку VPS, потому что VDS звучит ближе к выделенному серверу. Название говорит о намерении; правду показывают команды ниже.

VDS против VPS и выделенного сервера

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

КритерийКонтейнерный VPS (OpenVZ, LXC)Общий KVM VPSVDS (зарезервированный KVM)Выделенный сервер
ИзоляцияПространства имён ядра и cgroupsАппаратная виртуализацияАппаратная виртуализацияФизическая машина
ЯдроОбщее ядро хостаСобственное ядроСобственное ядроСобственное ядро
ПроцессорЯдра хоста, ограниченные долями cgroupvCPU, хост может использовать переподпискуЗарезервированные ядра или потоки, 1:1Все физические ядра
Оперативная памятьПамять хоста с лимитами (часто burst)Возможна переподписка (balloon, KSM)Зарезервирована, без переподпискиВся физическая память
Шумные соседиВысокое влияниеСреднееНизкоеОтсутствуют
Своя ОС, ядро, модулиНетДаДаДа
Вложенная виртуализация, DockerОграничены или заблокированыЗависит от хостаОбычно возможныДа
Ориентировочная цена в месяц$2-6$4-12$8-40$60-300+

Столбец с ценами показывает приблизительный диапазон 2026 года для начальных тарифов, а не результат тестирования. Виртуальную машину с четырьмя ядрами и 8 ГБ зарезервированной памяти невозможно продавать за $3 в месяц; если «VDS» стоит как контейнер, обычно это он и есть.

Зарезервированные и общие ресурсы: в чём именно разница

Процессор. В KVM каждый vCPU является потоком хоста, который планировщик Linux обрабатывает как любой другой процесс. Хост с 32 аппаратными потоками можно продать как 32 vCPU (1:1, резерв) или как 128 vCPU (4:1, общие). Внутри гостя это соотношение нигде не отображается; оно проявляется только как steal time и всплески задержек, когда соседи нагружают систему.

Оперативная память. Хосты KVM используют переподписку памяти двумя способами: драйвер virtio balloon позволяет хосту забирать страницы, которые гость не использует, а KSM (kernel samepage merging) объединяет одинаковые страницы разных виртуальных машин. На тарифе с резервированием память выделяется при запуске машины, и balloon никогда не раздувается. Наличие virtio_balloon в выводе lsmod доказывает наличие возможности, а не её использование: драйвер входит почти в каждый облачный образ.

Хранилище. Резервирование редко распространяется на диск; почти каждый провайдер использует общий бэкенд хранения и в лучшем случае ограничивает IOPS на машину. На производительность влияет уровень оборудования под ней: накопитель NVMe даёт заметно больше IOPS и меньшие задержки, чем SATA SSD, и никакое резервирование процессора не компенсирует медленный диск под базой данных.

Сеть. Аплинк является общим везде, кроме выделенного сервера с собственным портом; «безлимитный» канал означает безлимит в рамках политики честного использования, а не гарантированный 1 Гбит/с лично для вас.

KVM против контейнерной виртуализации (OpenVZ, LXC)

Именно это разделение определяет, может ли «VDS» вообще быть выделенным. KVM, Xen и ESXi относятся к аппаратной виртуализации: VT-x или AMD-V позволяют каждому гостю запускать собственное ядро на виртуальном оборудовании. OpenVZ, Virtuozzo, LXC и Docker относятся к виртуализации на уровне операционной системы: каждый арендатель представляет собой набор процессов на ядре хоста, разделённых пространствами имён и ограниченных cgroups. В Proxmox их называют «CT», и многие бюджетные хостеры продают их как VPS. Последствия таковы:

  • uname -r возвращает ядро хоста, которое вы не выбирали и не можете обновить. Исторически на хостах OpenVZ работали очень старые ветки ядра. Если вы не уверены, что именно запущено на машине, команды для определения версии ОС и ядра в Linux, Windows и macOS занимают считаные секунды.
  • Нельзя загружать модули ядра: WireGuard, ZFS и всё, что поставляется в виде .ko, зависят от хоста.
  • Вложенная виртуализация невозможна, а Docker или systemd внутри контейнера работают, только если это разрешает хост.

У гостя KVM таких ограничений нет: он загружается с ISO, запускает любое ядро и может пробрасывать VT-x собственным гостям, если хост разрешает вложенную виртуализацию. Поэтому настоящий VDS всегда является полноценной виртуальной машиной.

Шумные соседи и steal time

Шумным соседом называют другого арендатора на том же хосте, чья нагрузка на процессор, диск или сеть отнимает ресурсы у вас. На хосте KVM с переподпиской планировщик ставит ваш vCPU в очередь за чужими, и время, которое ваш vCPU был готов к работе, но ждал, возвращается гостю как steal time. Linux показывает его восьмым значением в строке cpu файла /proc/stat, как столбец st в vmstat и top и как %steal в mpstat и sar.

Машина с резервированием должна показывать steal около нуля даже тогда, когда соседи работают на полную. Несколько процентов при всплесках нагрузки нормальны для общих тарифов; постоянные двузначные значения означают, что хост перепродан, и лечится это только переездом на другой узел или переходом на настоящий тариф 1:1. Провайдер не может скрыть эту метрику: гипервизор записывает её в учёт самого гостя. С контейнерами иначе: внутри LXC или OpenVZ столбец st обычно остаётся нулевым, пока вас троттлят; там, где среда выполнения это показывает, cat /sys/fs/cgroup/cpu.stat (cgroup v2) выводит растущие nr_throttled и throttled_usec.

Когда «VDS» оказывается просто маркетингом

Поскольку название никак не регулируется, читайте страницу тарифа и ищите признаки, описывающие архитектуру:

  • «vCPU» без указания соотношения. В тарифе с резервированием пишут «выделенные ядра» или «1 vCPU = 1 поток». Если поддержка не может назвать соотношение vCPU к потокам, считайте ресурсы общими.
  • «Гарантированная память» рядом с «burst-памятью». Это лексика OpenVZ, описывающая контейнер с мягким лимитом, а не машину с выделенной памятью.
  • Нет своего ISO, выбора ядра и произвольной переустановки. Эти ограничения проистекают из общего ядра хоста.
  • Слова «semi-dedicated» или «гибридный» в названии. Как честное обозначение общего тарифа с меньшей конкуренцией за ресурсы это нормально, но это не VDS.

Многие провайдеры используют термин VDS честно; приведённые ниже проверки закрывают вопрос меньше чем за минуту.

Как проверить, что вы получили на самом деле

1. Определите уровень виртуализации

systemd-detect-virt
# typical answers: kvm, qemu, xen, vmware, microsoft, openvz, lxc, docker, none
systemd-detect-virt --container   # container type, or none

virt-what (запускается от root) даёт тот же ответ в дистрибутивах без systemd. lscpu | grep -i hypervisor на госте KVM должен вывести Hypervisor vendor: KVM; в контейнере lscpu покажет полное число ядер хоста вместо вашей доли, а наличие /proc/vz или /proc/user_beancounters явно указывает на OpenVZ.

2. Посмотрите модель и число процессоров

nproc
grep -m1 'model name' /proc/cpuinfo
lscpu | grep -E '^(Model name|Socket|Core|Thread|CPU\(s\))'

nproc должен совпадать с тем, что вы купили. Название модели QEMU Virtual CPU или Common KVM processor означает, что хост маскирует реальный процессор универсальной моделью, скрывая новые наборы инструкций вроде AVX; реальная модель, например AMD EPYC 7443P, говорит о проброшенном процессоре хоста. Ни то ни другое не доказывает резервирование, но замаскированный процессор намекает на хост, настроенный на плотность размещения.

3. Измерьте steal time под нагрузкой

vmstat 1 5          # last column: st
head -1 /proc/stat  # cpu user nice system idle iowait irq softirq steal guest guest_nice
stress-ng --cpu $(nproc) --timeout 60s   # package stress-ng, then watch vmstat

Измеряйте в часы пиковой нагрузки. Если st держится около нуля, когда все vCPU загружены полностью, ядра фактически ваши; повторите замеры в течение нескольких дней, поскольку конкуренция зависит от того, кто ещё делит узел с вами.

4. Проверьте вложенную виртуализацию

grep -cE 'vmx|svm' /proc/cpuinfo   # more than 0: the virtualisation flag is exposed
ls -l /dev/kvm                     # appears once kvm_intel or kvm_amd is loaded
kvm-ok                             # Ubuntu: package cpu-checker

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

5. Посмотрите на дисковое устройство

lsblk -d -o NAME,SIZE,ROTA,MODEL
cat /sys/block/vda/queue/rotational   # 0 = non-rotational

vda обозначает блочное устройство virtio, обычную конфигурацию KVM; sda с моделью QEMU HARDDISK означает эмулируемый SATA, то есть тоже виртуальную машину. Внутри контейнера корневая файловая система часто смонтирована как ploop или simfs. На гостях Windows команда systeminfo | findstr /i hyper-v сообщит, что обнаружен гипервизор.

Ценовые уровни и сценарии использования

  • Контейнерный VPS ($2-6): статические сайты, небольшие боты, точка выхода VPN и всё, где ядро не имеет значения и редкие замедления допустимы.
  • Общий KVM VPS ($4-12): машины для разработки и стейджинга, приложения с небольшим трафиком, которым нужно собственное ядро и которые терпят всплески steal.
  • VDS с зарезервированными ресурсами KVM ($8-40): торговые боты, игровые серверы, базы данных, CI-раннеры, автоматизация 24/7 и всё чувствительное к задержкам, что часами работает при высокой нагрузке на процессор.
  • Выделенный сервер ($60-300+): постоянные 100% загрузки на множестве ядер, большой объём памяти, GPU, собственный гипервизор или требования, запрещающие общее оборудование. Физический выделенный сервер с доступом по IPMI становится следующим шагом, когда VDS уже не хватает.

Если вам подходит уровень с резервированием, именно его продаёт rdp.monster: KVM VPS с зарезервированными процессором и памятью, хранилище NVMe, полный root- или админ-доступ, безлимитный трафик (fair-use), без KYC, оплата криптовалютой наравне с картами и PayPal, от $8.99 в месяц. Машина выдаётся примерно через 10 секунд после подтверждения оплаты, так что вы сами сможете запустить на ней systemd-detect-virt и vmstat 1, прежде чем доверять названию тарифа. Это те же проверки, которые эта статья рекомендует применять к любому провайдеру.

Часто задаваемые вопросы

VDS и VPS: одно и то же?

Технически оба являются виртуальными серверами; VDS призван обозначить зарезервированные ресурсы без переподписки.
Оба являются виртуальными серверами на общем оборудовании. Разница заключается в обещании, а не в технологии: VDS должен работать как полноценная виртуальная машина (обычно KVM) с зарезервированными для вас ядрами процессора и оперативной памятью, тогда как VPS может делить эти ресурсы с другими арендаторами или вовсе быть контейнером на ядре хоста. Поскольку никакой стандарт термин не закрепляет, часть провайдеров использует VDS и VPS как синонимы. Проверяйте с помощью systemd-detect-virt, nproc и steal time, а не доверяйте названию.

Как понять, что мой VPS работает на KVM или OpenVZ?

Запустите systemd-detect-virt: он одной строкой выведет kvm, openvz, lxc или none.
Запустите systemd-detect-virt: команда выведет kvm, qemu, openvz, lxc или none. Без systemd установите и запустите virt-what от root. Ещё две подсказки: lscpu | grep -i hypervisor на госте KVM показывает Hypervisor vendor: KVM, а наличие /proc/vz или /proc/user_beancounters означает OpenVZ. В контейнере nproc и uname -r тоже отражают хост, а не ваш тариф.

Какое значение steal time на виртуальном сервере считается приемлемым?

Около нуля на тарифах с резервированием; несколько процентов при всплесках допустимы, постоянные двузначные значения означают перепроданный хост.
На VDS с зарезервированными ядрами столбец st в vmstat 1 должен держаться на 0 или около того даже под полной нагрузкой. На общих тарифах редкие однозначные значения в пики нормальны. Устойчивые значения от десяти процентов и выше означают, что хост переподписан и ваши vCPU ждут в очереди за другими арендаторами. Изнутри гостя это не лечится: попросите провайдера перенести вас на менее загруженный узел или переходите на тариф с соотношением vCPU к потокам 1:1.

Можно ли запустить Docker или вложенную ВМ на виртуальном выделенном сервере?

Docker можно запускать на любом госте KVM; вложенные ВМ можно запускать, только если хост открывает флаг процессора vmx или svm.
На VDS с KVM Docker работает так же, как на любой машине с Linux, потому что вы запускаете собственное ядро. Вложенная виртуализация (KVM, VirtualBox, Hyper-V внутри гостя) требует, чтобы хост пробросил расширение виртуализации процессора: проверьте командой grep -cE 'vmx|svm' /proc/cpuinfo и убедитесь, что /dev/kvm появляется после загрузки kvm_intel или kvm_amd. В контейнерах OpenVZ или LXC вложенные ВМ невозможны, а работа Docker целиком зависит от того, что разрешает хост.

Adrien Roche, Редактор по инфраструктуре и хостингу

Системный инженер с более чем 10-летним опытом эксплуатации парков Windows Server и Linux. Адриен ведёт документацию по инфраструктуре rdp.monster и пишет наши руководства по RDP, VPS-хостингу, администрированию серверов, сетям и инструментам приватности.

Регистрация в программе для реселлеров

Ваши данные

Если у вас есть вопросы, напишите нам, нажав сюда !
Имя и фамилия(Обязательно)
Укажите ваш email: у вас должен быть аккаунт на manager.rdp.monster !

Ваша компания

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

Мы используем файлы cookie!

Мы используем файлы cookie, чтобы сделать сайт удобнее, показывать персонализированную рекламу и контент и анализировать трафик. Нажимая «Принять», вы соглашаетесь на использование файлов cookie.