hostprofi.ru
Подобрать хостинг
Термин·буква В

Виртуализация

краткое определение

Виртуализация — технология создания изолированных программных абстракций физических ресурсов (CPU, RAM, диски, сеть), позволяющая запускать несколько независимых операционных систем на одном физическом сервере.

Виртуализация — программный слой между физическим оборудованием и операционными системами. Он делит физические ресурсы (процессорное время, оперативная память, дисковое пространство, сетевой канал) между несколькими изолированными окружениями — виртуальными машинами. Каждая VM работает как полноценный компьютер с собственной ОС, не зная о существовании других VM на том же физическом железе. Именно на виртуализации построены VPS и облачный хостинг.

Как работает виртуализация

Ключевой компонент — гипервизор (hypervisor): программа, управляющая распределением ресурсов между VM. Гипервизор первого типа (bare-metal) запускается непосредственно на физическом железе, без хостовой ОС — это KVM, VMware ESXi, Xen. Гипервизор второго типа запускается внутри ОС-хоста — это VirtualBox, VMware Workstation (удобен для разработки, не для продакшна).

При создании VM гипервизор выделяет: N виртуальных CPU (vCPU), X ГБ RAM, дисковый образ (qcow2, vmdk, raw). Гость-ОС не видит физическое железо напрямую — гипервизор транслирует все обращения к устройствам. На современных CPU (Intel VT-x, AMD-V) большинство инструкций гостя выполняются напрямую без трансляции — overhead составляет 3–10%.

Для сетевой изоляции VM гипервизор создаёт виртуальные сетевые карты (vNIC) и виртуальные коммутаторы (vSwitch). Каждая VM получает свой MAC-адрес и IP-адрес, видимый из внешней сети через NAT или bridge-mode.

Виды виртуализации

  • Аппаратная виртуализация (Full Virtualization) — использует расширения CPU (Intel VT-x, AMD-V) для запуска немодифицированного кода гостя. KVM, VMware ESXi, Hyper-V.
  • Паравиртуализация — гость знает о виртуализации и использует специальные драйверы (virtio) для взаимодействия с гипервизором. Лучшая производительность I/O.
  • Контейнеризация — изоляция на уровне ОС без отдельного ядра для каждого гостя: Docker, LXC, LXD. Меньше overhead, выше плотность.

История виртуализации

Концепцию виртуальных машин разработала IBM в 1960-х для мейнфрейма IBM System/360 — это позволяло разделить дорогостоящее оборудование между несколькими пользователями. CP-40 (1967) и CP-67 (1967) — первые коммерческие гипервизоры. В 1998 году VMware адаптировала технологию для x86-серверов (IA-32). KVM (Kernel-based Virtual Machine) появился в ядре Linux 2.6.20 в январе 2007 года. В 2010-е виртуализация стала основой всей облачной индустрии: AWS EC2, Azure VM, Google Compute Engine — всё это виртуализованные серверы. К 2024 году более 80% корпоративных серверов работают в виртуализованных окружениях.

Виртуализация в хостинге

На VPS-хостинге гипервизор (чаще всего KVM) создаёт изолированные виртуальные машины для каждого клиента. Каждая VM имеет гарантированные ресурсы: например, 2 vCPU и 4 ГБ RAM закреплены только за этим клиентом (при честном хостинге без оверселлинга). Это принципиальное отличие от shared-хостинга, где ресурсы делятся всеми.

Виртуализация vs контейнеры: итог

В современной инфраструктуре виртуализация и контейнеризация дополняют друг друга. Типичная схема production: физический сервер → KVM-виртуальные машины (изоляция на уровне железа) → Docker-контейнеры внутри VM (изоляция приложений). Kubernetes поверх VM — стандарт для cloud-native приложений. Основное правило: VM для долгоживущих сервисов и ОС-изоляции; контейнеры — для приложений и микросервисов. Без виртуализации не было бы ни современного хостинга, ни DevOps-культуры.

Другие термины