Виртуализация — это общий термин, охватывающий абстракцию ресурсов для многих аспектов вычислений. Некоторые наиболее характерные примеры виртуализации приведены ниже.
- Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется. Операционная система взаимодействует с программой гипервизора, который предоставляет ей гостевой API, вместо использования напрямую таких ресурсов, как таблица страниц памяти. Код, касающийся виртуализации, локализуется непосредственно в операционную систему. Паравиртуализация требует, чтобы гостевая операционная система была изменена для гипервизора, и это является недостатком этого метода, так как подобное изменение возможно лишь в случае, если гостевые ОС имеют открытые исходные коды, которые можно модифицировать согласно лицензии. В то же время паравиртуализация предлагает производительность почти как у реальной невиртуализированной системы, а также возможность одновременной поддержки различных операционных систем, как и при полной виртуализации.
- Виртуализация инфраструктуры
В данном случае, будем понимать под этим термином создание ИТ-инфраструктуры, не зависимой от аппаратной части. Например, когда нужный нам сервис находится на гостевой виртуальной машине и нам в принципе не особо важно, на каком физическом сервере он располагается.
Виртуализация серверов, десктопов, приложений – существует множество методов для создания подобной независимой инфраструктуры. В этом случае на одном физическом или хост-сервере посредством специального ПО, именуемого “гипервизор”, размещается несколько виртуальных или “гостевых” машин.
Современные системы виртуализации, в частности, VMware и Citrix XenServer в большинстве своем работают по принципу bare metal, то есть ставятся прямо на “голое железо”. - Виртуализация серверов.
Виртуальная машина — это окружение, которое представляется для «гостевой» операционной системы, как аппаратное. Однако на самом деле это программное окружение, которое симулируется программным обеспечением хостовой системы. Эта симуляция должна быть достаточно надёжной, чтобы драйверы гостевой системы могли стабильно работать. При использовании паравиртуализации, виртуальная машина не симулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальное Application Programming Interface (API).
Аналитики Gartner отмечают: «Виртуализация х86 серверной инфраструктуры выступает отправной точкой для двух важнейших современных отраслевых тенденций – модернизации инфраструктуры и облачных вычислений». Более того, «она коренным образом меняет подход предприятий к развертыванию, управлению и предоставлению IT». Исследователи убеждены, что «виртуализация х86 серверной инфраструктуры является сейчас ключевым направлением развития информационных технологий, делая стратегическое развитие серверной виртуализации в сторону облачных вычислений более очевидным для IT-директоров крупных предприятий». - Виртуализация уровня ОС
Виртуализация на уровне операционной системы — виртуализирует физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере. - Виртуализация ресурсов
Разделение ресурсов (partitioning) — это разделение единого, обычно достаточно большого для этого, ресурса (например дисковое пространство или пропускной канал сети) на некоторое количество меньших, легче используемых ресурсов того же типа.
Например, к реализации разделения ресурсов можно отнести Проект Crossbow, позволяющий создавать несколько виртуальных сетевых интерфейсов на основе одного физического.
Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное. Иногда сюда же относят сетевые файловые системы, абстрагированные от хранилищ данных на которых они построены. - Виртуализация приложений
Виртуализация прикладных приложений — включает в себя рабочую среду для локально выполняемого приложения, использующего локальные ресурсы. Виртуализируемое приложение запускается в небольшом виртуальном окружении, которое включает в себя ключи реестра, файлы и другие компоненты, необходимые для запуска и работы приложения. Такая виртуальная среда работает как прослойка между приложением и операционной системой, что позволяет избежать конфликтов между приложениями.