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

VM: общая информация

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

Рисунок 1. Виртуальные компоненты VM

VM «живет» на жестком диске базовой системы и использует часть объема ее жестких дисков для своих виртуальных жестких дисков. VM обычно создаются с помощью административного интерфейса программы виртуализации. Количество дискового пространства, занимаемого VM, зависит от используемого типа виртуального жесткого диска. Большинство продуктов поддерживают два типа виртуальных жестких дисков: динамический и фиксированный. Динамический виртуальный жесткий диск вначале использует минимальное дисковое пространство, но затем автоматически расширяется по мере увеличения потребности в пространстве. Фиксированный диск имеет постоянный размер и не увеличивается. Фиксированный диск может впустую занимать лишнее пространство, если он большего размера, чем это необходимо, но обеспечивает лучшую производительность, поскольку не должен менять свой размер. Независимо от того, используется динамический или фиксированный виртуальный диск, размер занимаемого пространства базовой системы аналогичен размеру, который бы потребовался в рамках физической системы, а именно от 2-4 Гбайт до сотен гигабайтов дискового пространства, в зависимости от требований VM.

Все активные VM сообща используют физическую оперативную память базовой системы. Базовая система, имеющая лишь 512 Мбайт оперативной памяти, вероятно, сможет обеспечить запуск только одной (возможно, двух) VM, поскольку эти 512 Мбайт будут совместно использоваться базовой системой и активными VM. Увеличивая оперативную память базовой системы, можно увеличить число VM, способных функционировать параллельно.

После создания VM осуществляется ее запуск, а затем с использованием административного интерфейса выполняется загрузка операционной системы, называемой «гостевой», в среде VM. Гостевая операционная система функционирует точно так же, как отдельная физическая. После запуска гостевой операционной системы можно выполнить установку приложений практически так же, как на физической системе.

Настольная виртуализация

Настольные продукты виртуализации используются главным образом в средах разработки, тестирования и поддержки. Настольные продукты позволяют создавать виртуальную среду для настольных операционных систем, например Windows XP и Windows 2000 Professional. Настольные продукты также могут использоваться для запуска серверных операционных систем, например Windows Server 2003 и Linux, но при этом не обеспечивают той масштабируемости и производительности, которой обладают серверные продукты виртуализации для одновременного запуска нескольких VM. Кроме того, настольные продукты поддерживают возможности, которые могут оказаться полезными для конечных пользователей, например звуковые и USB-устройства. Серверные продукты не всегда обеспечивают поддержку таких возможностей.

Настольные продукты виртуализации стали популярны благодаря технологии VMware Workstation, по сути давшей начальный импульс волне виртуализации, и лидерство в этой области остается за VMware Workstation 5.5. Дебютом Microsoft в данной категории стал весьма неплохой продукт Virtual PC 2004, который, однако, не поддерживает Linux и 64-разрядные технологии и не обладает преимуществами Snapshot Manager и клонирования, реализованными в VMware Workstation 5.5.

Серверная виртуализация

Следующее поколение технологий виртуализации появилось в серверном пространстве. Серверные продукты решают две основные проблемы — позволяют осуществлять консолидацию серверов на предприятиях и эксплуатировать унаследованные серверные операционные системы и приложения. Серверные продукты в первую очередь предусматривают запуск Windows 2003, Windows 2000 Server и Linux в качестве гостевых операционных систем и обеспечивают большие возможности масштабируемости и одновременного запуска нескольких VM по сравнению с настольными технологиями виртуализации. Серверные продукты также обладают функциями, позволяющими управлять удаленными и объединенными в сеть системами.

Пять основных продуктов в виртуальном серверном пространстве — VMware Server, Microsoft Virtual Server 2005 Release 2 (R2), Swsoft Virtuozzo for Windows, открытый продукт Xen 3.0 от XenSource и VМware ESX Server. Продукты VMware Server, Microsoft Virtual Server 2005 и Xen 3.0 являются бесплатными. Первые три продукта обладают одинаковыми возможностями. Продукт VMware Server, пришедший на смену линии VMware GSX Server, работает на Linux и Windows в качестве базовой системы. Появившаяся в результате приобретения Microsoft компании Connectix технология Virtual Server 2005 пришла на рынок позже, чем продукты VMware, и не обладает таким богатым набором функций. Однако Virtual Server 2005 R2 имеет лучшую производительность и поддержку важной функции Windows Server 2003 Clustering Services для реализации сценариев консолидации серверов, где базовый виртуальный сервер может быть единственным уязвимым звеном для нескольких VM. Virtuozzo for Windows и Xen 3.0 используются не так широко, как решения VMware или Microsof, но Virtuozzo — новичок для рынка Windows, а Xen, подобно большинству открытых разработок, имеет ориентацию на использование Linux в качестве базовой системы.

Явный лидер в серверном пространстве виртуализации — флагманский продукт VMware ESX Server. В отличие от VMware Server или Virtual Server 2005, ESX Server не требует базовой операционной системы, поскольку интегрируется со специальным облегченным патентованным ядром. Реализация типа «на железе» повышает производительность VM, а отсутствие необходимости в базовой операционной системе снижает затраты, связанные с приобретением лицензий. VMware также располагает инструментом VMware VirtualCenter, обеспечивающим возможность управления VM и динамической смены базовой операционной системы, что позволяет приспособиться к изменению условий рабочего цикла.

Большинство серверных продуктов виртуализации работают на уровне одного сервера, но существует также представитель нового класса серверных продуктов виртуализации — Virtual Iron от Virtual Iron Software. Построенная на базе Xen 3.0, эта технология собирает несколько физических серверов в кластер и создает масштабируемую виртуальную систему, которую можно разбить на несколько виртуальных серверов.

Виртуализация приложений

Виртуализация приложений — новая разновидность технологий виртуализации, ориентированная на решение проблем, связанных с конфликтами и несовместимостью приложений. В частности, технологии виртуализации приложений позволяют запускать несколько версий Microsoft Office на одной и той же системе или устанавливать бета-версии программ, не опасаясь повреждения настольной системы.

В отличие от технологий, позволяющих осуществлять запуск VM, виртуализация приложений не предусматривает виртуализацию уровня операционной системы или аппаратной части системы, но лишь абстрагирует файловую систему и реестр для работы виртуализованных приложений. Виртуализация приложений позволяет запускать виртуальные приложения, как если бы это были обычные приложения, но виртуальные приложения не занимают места в системном реестре или файловой системе. Виртуализация приложений позволяет устанавливать и запускать приложения, не опасаясь конфликта между приложениями или порчи реестра. Поэтому можно свободно устанавливать и тестировать бета-версии программ, не боясь повредить базовую систему. Наконец, можно комбинировать виртуальные приложения с виртуальными настольными и серверными продуктами, запускать виртуальные приложения в среде VM и устанавливать программы виртуализации приложений в среде VM. Рис. 2 иллюстрирует концепцию, лежащую в основе технологии виртуализации приложений.

Рисунок 2. Программное обеспечение виртуализации приложений

В пространстве виртуализации приложений существует два основных продукта — SoftGrid Desktop от Softricity (недавнее приобретение Microsoft) и Software Virtualization Solution (SVS) от Altiris. SoftGrid Desktop — первый продукт на рынке технологий виртуализации приложений — обеспечивает виртуализацию всех аспектов клиентской системы и поточное развертывание приложений. В отличие от SVS, SoftGrid требует инфраструктуры Active Directory (AD) для предварительной компоновки виртуализованного приложения и физической серверной системы для поточного развертывания.

SVS — новичок в сфере виртуальных приложений, он не предусматривает виртуализацию всех аспектов клиента. Виртуализация определенных функций, таких как системные и COM-вызовы, не выполняется. Осуществляется только виртуализация обращений к файловой системе и реестру. Однако SVS обеспечивает виртуализацию важных объектов, например реестра и файловой системы, и имеет минимальные требования к инфраструктуре и настройке виртуальных приложений.

Аппаратно реализуемая виртуализация

Вместе с разработками Intel и AMD в области процессоров технологические достижения Microsoft направляют процесс развития серверной виртуализации. Технологии виртуализации отличаются высокой гибкостью, но непроизводительные издержки, связанные с поддержанием функционирования среды VM, негативно отражаются на их производительности. Существуют исключения, но, как правило, по производительности VM уступают аппаратно реализованным системам. Частичный перенос поддержки виртуализации на аппаратную основу сокращает непроизводительные издержки и позволяет повысить производительность VM. Однако аппаратно реализованная виртуализация предполагает необходимость поддержки со стороны как аппаратной части, так и базовой операционной системы.

В части аппаратных решений компании Intel и AMD ввели в свои процессоры логическую схему поддержки виртуализации. Intel Virtualization Technology — представитель новых линий процессоров Dual-Core Intel Xeon и Dual-Core Intel Itanium 2. Технология AMD Virtualization Technology включена в развивающуюся линию процессоров AMD Opteron. В части программных решений поддержка аппаратно реализованной виртуализации будет обеспечена в Longhorn Server в лице гипервизора Microsoft (см. рис. 3). Гипервизор позволяет операционной системе использовать преимущества новой аппаратной поддержки виртуализации, реализованной в последнем поколении процессоров Intel и AMD. Конечным результатом будет повышение производительности VM и снижение затрат. VM-образы, используемые Virtual Server 2005 и Virtual PC, будут совместимы с поддержкой гипервизора VM.

Рисунок 3. Гипервизор обеспечивает виртуализацию служб для операционной системы

Виртуальная реальность

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

Майкл Оти (mikeo@windowsitpro.com) — старший технический редактор Windows IT Pro и президент компании TECA (Портленд, шт. Орегон), занимающейся разработкой программного обеспечения и консалтингом. Автор книги SQL Server 2005 New Features (Осборн, Макгро-Хилл).


ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ

Настольные продукты

Microsoft Virtual PC 2004, http://www.microsoft.com/windows/virtualpc/default.mspx

VMware Workstation 5.5, http://www.vmware.com/products/ws

Серверные продукты

Microsoft Virtual Server 2005 R2, http://www.microsoft.com/windowsserver-system/virtualserver/default.mspx

Virtual Iron Software Virtual Iron, http://www.virtualiron.com

VMware Server, http://www.vmware.com/products/server

VMware ESX Server 2.5, http://www.vmware.com/products/esx

SWsoft Virtuozzo for Windows 3.5.1, http://www.swsoft.com/en/products/virtuozzo

XenSource Xen 3.0, http://www.xensource.com

Виртуализация приложений

Softricity SoftGrid 4.0, http://www.softricity.com/products/softgrid.asp

Altiris Software Virtualization Solution, http://www.altiris.com/Products/SoftwareVirtualizationSolution.aspx

Аппаратно реализованная виртуализация

Решения от AMD: http://enterprise.amd.com/usen/Solutions/Consolidation/virtualization.aspx

Решения от Intel: http://www.intel.com/business/bss/products/server/virtualization.htm