IT консалтинг - статьи

         

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


Под виртуализацией подразумевается технология, который позволяет разделить один физический сервер на несколько виртуальных. Можно выделить два основных типа виртуализации: аппаратную и программную. Аппаратная виртуализация использует некоторые особенности платформы и использовать ее на устройствах другого производителя, как правило, не удается. Примерами такой виртуализации являются мэйнфреймы с разбиением по разделам (partitioning), серверы-лезвия и решения, подобные Sun Enterprise 10000, в которых один физический сервер можно разделить на несколько. При этом за каждым сервером, как правило, закрепляется свой набор ресурсов; автоматически менять это распределение приложения не могут.

В большинстве же случаев для консолидации лучше подходят программные решения, которые предполагают создание в рамках одной операционной системы нескольких виртуальных сред (Virtual Environment — VE), в которых приложения работают не могут напрямую взаимодействовать с программами из других VE. Примерами таких продуктов является VMware, Connectix и Virtuozzo. Все они работают на так называемых серверах стандартной архитектуры (т.е. x86), хотя разработчики Virtuozzo не видят проблем в переносе их продукта на другие аппаратные платформы.

Программную виртуализацию можно разделить на два подтипа: эмуляция компьютера или создание виртуальной среды исполнения. В первом случае эмулятор позволяет исполнять в одной операционной системе приложения, написанные для другой. Виртуализация среды исполнения позволяет запускать в VE только приложения одной определенной операционной системы. Эмуляторами компьютеров являются продукты VMware и Connectix. Они, как правило, не очень эффективно используют ресурсы сервера, поскольку значительные их часть тратится на преобразование форматов данных и переключение контекста различных ОС. Так виртуализация компьютера позволяет запустить на одном физическом сервере всего несколько виртуальных. С помощью виртуальных сред исполнения можно добиться большей эффективности и расслоить один сервер на тысячи отдельных VE. Для консолидации используются оба эти подхода, поскольку в некоторых случаях важна работа приложений, предназначенных для различных платформ, а в некоторых — эффективность получившегося решения.



Содержание раздела