Используемые технологии виртуализации

Материал из LuckyWiki
Перейти к: навигация, поиск

В качестве технологий виртуализации используются: OpenVZ и KVM. Различия будут описаны ниже.

OpenVZ

OpenVZ — реализация технологии виртуализации на уровне операционной системы, которая базируется на ядре Linux. OpenVZ позволяет на одном физическом сервере запускать множество изолированных копий операционной системы, называемых «виртуальные частные серверы» (Virtual Private Servers, VPS) или «виртуальные среды» (Virtual Environments, VE). Поскольку OpenVZ базируется на ядре Linux, в роли «гостевых» систем могут выступать только дистрибутивы Linux. Однако, виртуализация на уровне операционной системы в OpenVZ даёт лучшую производительность, масштабируемость, плотность размещения, динамическое управление ресурсами, а также лёгкость в администрировании, чем у альтернативных решений. Согласно сайту OpenVZ, накладные расходы на виртуализацию очень малы, и падение производительности составляет всего 1-3 %, по сравнению с обычными Linux-системами. Виртуализация и изоляция[править | править исходный текст] Каждый VPS — это отдельная сущность, и с точки зрения владельца VE она выглядит практически как обычный физический сервер. Каждая VE имеет свои собственные:

  • Файлы - Системные библиотеки, приложения, виртуализованные ФС /proc и /sys, виртуализованные блокировки и т. п.
  • Пользователи и группы - Свои собственные пользователи и группы, включая root.
  • Дерево процессов - VPS видит только свои собственные процессы (начиная с init). Идентификаторы процессов (PID) также виртуализованы, поэтому PID программы init — 1.
  • Сеть - Виртуальное сетевое устройство (venet), позволяющая VE иметь свои собственные адреса IP, а также наборы правил маршрутизации и файрволла (netfilter/iptables).
  • Устройства - При необходимости администратор OpenVZ сервера может дать VE доступ к реальным устройствам, напр. сетевым адаптерам, портам, разделам диска и т. д.
  • Объекты IPC - Разделяемая память, семафоры, сообщения.

Преимущества:

  • Система виртуализации OpenVZ способна динамически распределять ресурсы процессора и памяти между всеми виртуальными серверами и каждый сервер использует ровно столько ресурсов, сколько ему необходимо.
  • Высокая производительность.

KVM

KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux , которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine). Сам по себе KVM не выполняет эмуляции. Вместо этого программа, работающая в пространстве пользователя, использует интерфейс /dev/kvm для настройки адресного пространства гостя виртуальной машины, через него же эмулирует устройства ввода-вывода и видеоадаптер. KVM позволяет виртуальным машинам использовать немодифицированные образы дисков QEMU, VMware и других, содержащие операционные системы. Каждая виртуальная машина имеет своё собственное виртуальное аппаратное обеспечение: сетевые карты, диск, видеокарту и т. д.

Преимущества:

  • независимые ресурсы: каждому серверу выделяется своя область в оперативной памяти и на жёстком диске, что повышает надёжность работы такого сервера.
  • имеется возможность использовать модифицированные ядра операционных систем в зависимости от Ваших требований. Вы можете произвести установку собственного дистрибутива с использованием своего установочного iso-образа.
  • эмуляция сетевой карты означает полную поддержку всех сетевых протоколов и полноценную поддержку сетевых экранов firewall.
  • поддержка множества гостевых операционных систем: возможна установка любых дистрибутивов Linux, BSD, Solaris и т.п., а также ОС Windows XP и Windows 2008 Server (при наличии лицензии).
  • поддержка VNC позволяет управлять виртуальным сервером как будто Вы находитесь непосредственно за монитором собственного компьютера, включая первоначальную загрузку виртуальной машины (вплоть до BIOS), а также графические рабочие столы.