Обзор виртуальных машин. Лучшая виртуальная машина. Зачем нужны виртуальные машины Что такое виртуалка на компе

Как и обычному компьютеру, виртуальной машине нужны свои настраиваемые псевдо-компоненты, имитирующие настоящее железо - процессор, оперативная память, видеокарта, жесткий диск и т.п. с приставкой «виртуальный».

Несмотря на использование VM физического оборудования, у нее нет абсолютного доступа к внешним ресурсам системы. Любая критическая ошибка вредит только внутренней системе, реальная ОС от этого никак не страдает.

Взаимодействие с реальной системой

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

Практическое применение

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

Рассмотрим детальнее, что такое виртуальные машины для Windows и для чего они нужны. Узнайте все о лучших симуляторах ОС и о том, как начать их использование.

Виртуальная машина (ВМ) – это компьютерное приложение, с помощью которого пользователь может создавать имитацию операционной системы. В машине устанавливается образ ОС для использования внутри существующей системы. Очень удобно, не правда ли? Но есть и подводные камни. Читайте, с чем вы столкнетесь при установке и какую виртуальную машину для Виндовс версий 7,8 и 10 лучше выбрать.

Зачем нужны виртуальные машины для ПК?

В большинстве случаев ВМ используются для тестирование программного обеспечения в . Для работы с несколькими ОС понадобится всего один компьютер, что существенно ускоряет работу.

На одном компьютере можно запустить одновременно несколько виртуальных машин. Их количество зависит от доступной оперативной памяти и места на детском диске, так как виртуальная ОС потребляет точно такой же ресурс памяти, как и обычная инсталлированная на компьютере копия.

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

Вирусы, ошибки и другие сбои виртуальной ОС не влияют на работу основной системы. После закрытия машины происходит остановка работы дополнительной ОС и освобождается оперативная память.

В процессе работы ВМ устройство может тормозить, ведь повышенное потребление ресурсов хранилища приводит к увеличению времени обработки запросов.

Причины установки ВМ:

  • Вы хотите ознакомиться с работой других операционных систем без их полноценной инсталляции. Если есть потребность в замене существующей ОС, для начала воспользуйтесь виртуальным симулятором, чтобы протестировать другие варианты ПО. Это избавит вас от возможных багов и несовместимости с аппаратной частью;
  • Вы являетесь разработчиком и хотите создать комплексную систему для тестирования создаваемых приложений.

VirtualBox

VirtualBox – это виртуальная машина для Windows 7,8,10. Среда виртуализации распространяется на бесплатной основе и может быть установлена как для работы с операционными системами, так и для развертывания сетевой инфраструктуры и хостинга сайтов.

Главное окно VirtualBox:

Главная особенность данной виртуальной машины – это кроссплатформенность. Она отлично работает на всех версиях Виндоус. Также, с сайта разработчика можно скачать инсталляторы для Mac OS, Debian. В самой среде виртуализации можно устанавливать любые десктопные ОС.

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

После завершения работы симулятора все данные и изменения будут сохранены. При следующем включении вы будете возвращены на рабочий стол и сможете продолжить выполнение задач.

Преимущества и недостатки

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

  • Бесплатное распространение. 90% аналогичного ПО является платным, в то время как VirtualBox можно получить совершенно бесплатно. Функции и возможности программы не ограничиваются разработчиком;
  • Возможность создания скриншотов – снимков экрана виртуальной системы. Итоговое изображение будет отображать только окно дополнительной ОС. Создание скринов с помощью основной ОС ухудшает разрешение и захватывает еще и ваш обычный рабочий стол;
  • Создание точной копии существующей виртуальной машины;
  • Возможность перетаскивания папок, ярлыков и других объектов внутри симулятора;
  • Единая файловая система – из виртуальной машины можно получить доступ к директориям, которые хранятся на ПК, и наоборот;
  • Одновременная работа с несколькими машинами.

Также, отличительной особенностью новой VirtualBox 4 является удобная система управления виртуализацией и интуитивно-понятная рабочая область программы. Также, в новой сборке доступна возможность выполнения захвата видео с экрана дополнительной ОС.

VirtualBox поддерживает работу с подключенными к компьютеру USB-носителями.

Недостатки программы:

  • Замедление работы компьютера. Даже если ваш ПК имеет хорошие технические характеристики, достаточное место оперативной и постоянной памяти, при использовании виртуальной машины будет наблюдаться более медленное выполнение всех функций. Если в процессе создания ВМ вы выделили её слишком много памяти, компьютер будет сильно зависать или выключаться;
  • Недостаточное количество видеопамяти. Если вам нужно добиться максимально качественного изображения, сделать это будет сложно с помощью VirtualBox. Программа позволяет настроить параметры использования видеокарты только на базово уровне.
Как установить

Для установки программы VirtualBox загрузите инсталлятор с официального сайта разработчика – компании Oracle. Процесс установки стандартный и не требует дополнительных настроек:

  • Запустите файл EXE;
  • Выберите Жесткий диск, на котором будет находиться корневая папка с программой;
  • Дождитесь завершения инсталляции. В случае необходимости, пользователь может посмотреть статистику использования жёсткого диска в процессе установки.

В поле «Custom Setup» есть возможность отключить поддержку USB, сетевых служб. Это позволяет уменьшить итоговый размер приложения.

Видеоинструкция, как установить две ОС с помощью VirtualBox

Поле установки программы можно приступать к созданию первой виртуальной машины. Кликните на кнопку «Создать» в левом верхнем углу окна. Откроется вкладка настройки ВМ:

В окне мастера настройки выберите тип виртуальной ОС (Windows, Linux, Debian, MacOS) и ее версию. Задайте имя для создаваемого симулятора и кликните на кнопку «Далее».

Затем, программа предоставит вам возможность самостоятельно указать размер оперативной памяти, который будет выделен под дополнительную ОС. Для пользователей-новичков советуем задавать значение, которое указано в поле «Рекомендуемый размер основной памяти».

Размер оперативной памяти для ВМ следует определят в зависимости от технических характеристик вашего ПК. Если на вашем компьютере доступно 4 ГБ оперативной памяти, для нормальной работы симулятора будет достаточно 512 МБ-1 ГБ.

Далее программа попросит выбрать в файловой системе образ ОС (который соответствует указанному ранее семейству и версии). После завершения настройки появится окно с кратким перечислением всех параметров. Нажмите на «Финиш».

После завершения установки виртуального Windows, в главном окне VirtualBox появиться иконка для запуска ОС. Кликните на нее и дождитесь загрузки рабочего стола. При необходимости, выполните установку драйверов.

Для автоматического обновления драйверов откройте вкладку «устройства» на панели инструментов виртуальной машины. Затем нажмите на нужный тип носителя и в новом окне следуйте инструкции для получения нового ПО.

Готово. Теперь вы можете начинать работу с виртуальной операционной системой. Для выхода из программы сначала выключите ОС, а потом закройте VirtualBox.

VMware

VMWare Workstation – это лучшая виртуальная машина для Windows 10. Разработчик позиционирует программу как удобную платформу для создания . По сравнению с другими популярными аналогами, VMWare поддерживает больше функций для кастомной настройки виртуальной машины и позволяет синхронизировать симулятор с инструментами разработки ПО.

Данная среда для виртуализации популярна среди программистов, веб-дизайнеров и других специалистов, которым часто приходиться тестировать работу своих проектов на кроссплатформенность.

Преимущества и недостатки

Среди преимуществ VMWare можно выделить:

  • Удобную панель инструментов;
  • Синхронизацию со средствами разработки от Майкрософт, в частности платформы.NET и программной среды Visual Studio;
  • Система безопасности. Встроенные инструменты VMWare обеспечивают высокий уровень защиты ваших файлов в дополнительной ОС. Симулятор может выявлять попытки вредоносной активности устранять их;
  • Работа служб шифрования для созданных виртуальных машин.

Недостатки приложения:

  • Платное распространение. Пользователь может скачать бесплатную пробную версию утилиты, но для получения полной версии приложения со всеми доступными функциями потребуется оплатить годовую или ежемесячную подписку;
  • Не подойдет для новичков. Если вы раньше не использовали симуляторы операционных систем, рекомендуем начать работу с более простых вариантов. К примеру, VirtualBox и стандартного для Виндоус Hyper V. VMWare подойдет продвинутым пользователям, которые предпочитают выполнять настройки системы вручную.
Как установить

Скачать виртуальную машину для Windows можно с официального сайта разработчика VMWare.com.

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

Обзор функционала и первая настройка программы

Для создания первой виртуальной машины в VMWare понадобится загрузить на компьютер дистрибутив ОС, которую вы хотите использовать в эмуляторе. Затем откройте окно установленного приложения и кликните на поле «Создать новую виртуальную машину»

Обратите внимание! Пользователь может создать группу виртуальных машин, вместо нескольких симуляторов. Это позволяет снизить ресурс потребляемой оперативной памяти и ускорить работу компьютера и симулятора ОС.

В окне мастера настройки ВМ укажите путь к образу операционной системы (это может быть файл в памяти компьютера или загрузочный диск). Также, есть возможность настроить виртуальную машину без установки ОС (её можно инсталлировать позже).

  • В появившемся окне укажите имя ОС, имя пользователя и пароль доступа к учётной записи;
  • Укажите, на каком диске вашего компьютера будет храниться виртуальная машина;
  • Выделите нужно количество оперативной памяти для работы ВМ;
  • Настройте оборудование (автоматически или вручную).

После завершения настройки виртуальной машины дождитесь установки образа ОС и начинайте работу:

Microsoft Virtual PC

Microsoft Virtual PC – это еще один популярны эмулятор виртуальных машин. Программа хорошо совместима со всеми версиями OS Windows. Если в качестве основной ОС вы используете продукт от Майкрософт, для эмуляции советуем выбрать именно Microsoft Virtual PC.

Преимущества и недостатки

Преимущества эмулятора:

  • Отличная совместимость со всеми версиями ОС Виндоус. В большинстве случаев, пользователю не нужно устанавливать никаких дополнительных драйверов для виртуальной ОС. Все они синхронизируются с основной системой;
  • Общий доступ к файловой системе. Получайте доступ к файлам, которые хранятся на жёстком диске ПК через окно ВМ;
  • Поддержка ОС Windows с разрядностью 64 бит в режимах работы «Гостевой хост» и «Гостевая среда»;
  • Поддержка аппаратной виртуализации.

Недостатки:

  • Есть платные функции. Программа распространяется на бесплатной основе, но за поддержку настройки группы виртуальных ОС придется купить подписку;
  • Отсутствует поддержка Линукс-подобных систем.
Обзор функционала и первая настройка программы

Для установки виртуальной ОС сначала загрузите ее образ в память компьютера, а затем откройте приложение Microsoft Virtual PC. Кликните на кнопку «Создать виртуальную машину» и в новом окне настройте следующие параметры:

  • Задайте имя новой ОС;
  • Выделите место для её жесткого диска и размер оперативной памяти;
  • Вберите, какие устройства будет поддерживать ВМ (сетевое окружение, флеш-накопители и так далее).
Итог

Мы рассказали вам о лучших виртуальных машинах для Windows, но далеко не о всех. Если вы считаете, что это не самые лучшие – пишите в комментариях! Помогите новичкам-читателям определиться, с какого эмулятора начать.


Понятие «виртуальная машина» появилось на свет несколько десятков лет назад, еще в конце 60-х годов прошлого века. Вот только применялись тогда виртуальные машины не на персональных компьютерах, а на «больших» ЭВМ типа IBM/370 (или их советского аналога - ЕС ЭВМ), да и задачи у них были несколько иные: предоставить каждому из многочисленных пользователей свой, независимый «кусочек» ресурсов вычислительного монстра.

Зачем нужны виртуальные машины

Сегодня виртуальные машины переживают второе рождение. Один из «отцов» современного поколения виртуальных машин, профессор Розенблюм , объясняет их возрождение двумя основными причинами:

■ появлением большого числа разных операционных систем (ОС), предъявляющих специфические требования к параметрам используемых аппаратных компонентов компьютера;

■ большими затратами на администрирование и сложностью обслуживания компьютеров, на которых установлено несколько различных операционных систем (в том числе в плане обеспечения требуемой надежности и безопасности работы).

Современная виртуальная машина позволяет скрыть от установленной на ней операционной системы некоторые параметры физических устройств компьютера и тем самым обеспечить взаимную независимость ОС и установленного оборудования.

Такой подход предоставляет пользователям (и/или администраторам вычислительных систем) целый ряд преимуществ. К ним в частности относятся:

■ возможность установки на одном компьютере нескольких ОС без необходимости соответствующего конфигурирования физических жестких дисков;

■ работа с несколькими ОС одновременно с возможностью динамического переключения между ними без перезагрузки системы (рис. 1.1);

■ сокращение времени изменения состава установленных ОС;

■ изоляция реального оборудования от нежелательного влияния программного обеспечения, работающего в среде виртуальной машины;

■ возможность моделирования вычислительной сети на единственном автономном компьютере.

Рис. 1.1. Несколько виртуальных машин на одном рабочем столе


Благодаря этим преимуществам существенно расширяется круг задач, которые пользователь может решать без перезагрузки системы и без опасения нанести ей какой-либо ущерб или полностью вывести ее из строя. Вот только некоторые примеры таких задач:

■ освоение новой ОС;

■ запуск приложений, предназначенных для работы в среде конкретной ОС;

■ тестирование одного приложения под управлением различных ОС;

■ установка и удаление оценочных или демонстрационных версий программ;

■ тестирование потенциально опасных приложений, относительно которых имеется подозрение на вирусное заражение;

■ управление правами доступа пользователей к данным и программам в пределах виртуальной машины.

Читатель, вероятно, и сам без труда дополнит приведенный перечень двумя-тремя ситуациями, когда наличие на компьютере виртуальной машины оказалось бы весьма кстати.

Каким пользователям желательно научиться работать с виртуальными машинами? Пожалуй, всем, у кого на компьютере установлено более одной ОС. А также тем, кто хочет освоить новую операционную систему, но не решается сразу отказаться от предыдущей. Весьма полезны виртуальные машины преподавателям различных компьютерных курсов и дисциплин, а также разработчикам многоплатформенных программных продуктов. Особый интерес они представляют для веб-дизайнеров: ведь созданные ими страницы должны выглядеть одинаково привлекательно для пользователей, работающих на самых разных системах и платформах. Имея возможность с помощью системы виртуальных машин быстро переключаться из одной среды и другую, «правильный» веб-дизайнер вряд ли упустит шанс проверить результат своей работы в различных веб-браузерах.

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

На веб-сайтах разработчиков виртуальных машин можно найти многочисленные примеры использования технологии таких машин различными известными компаниями. Так, виртуальные машины VMware используются компанией Symantec для тестирования сетевых антивирусных пакетов; программисты популярной поисковой системы Google применяют виртуальные машины VMware для оценки эффективности работы Google с разными веб-браузерами и на разных платформах.

Как работает виртуальная машина

Начнем с уточнения терминов.

Терминология

С точки зрения пользователя,виртуальная машина (ВМ) - это конкретный экземпляр некой виртуальной вычислительной среды («виртуального компьютера»), созданный с помощью специального программного инструмента. Обычно такие инструменты позволяют создавать и запускать произвольное число виртуальных машин, ограничиваемое лишь физическими ресурсами реального компьютера.

Собственно инструмент для создания ВМ (его иногда называют приложением виртуальных машин, или ПВМ ) - это обычное приложение, устанавливаемое, как и любое другое, на конкретную реальную операционную систему. Эта реальная ОС именуется «хозяйской», или хостовой, ОС (от англ. термина host - «главный», «базовый», «ведущий»).

Все задачи по управлению виртуальными машинами решает специальный модуль в составе приложения ВМ - монитор виртуальных машин (МВМ). Монитор играет роль посредника во всех взаимодействиях между виртуальными машинами и базовым оборудованием, поддерживая выполнение всех созданных ВМ на единой аппаратной платформе и обеспечивая их надежную изоляцию. Пользователь не имеет непосредственного доступа к МВМ. В большинстве программных продуктов ему предоставляется лишь графический интерфейс для создания и настройки виртуальных машин (рис. 1.2). Этот интерфейс обычно называют консолью виртуальных машин.

Рис. 1.2. Пример консоли виртуальных машин


«Внутри» виртуальной машины пользователь устанавливает, как и на реальном компьютере, нужную ему операционную систему. Такая ОС, принадлежащая конкретной ВМ, называется гостевой (guest OS). Перечень поддерживаемых гостевых ОС является одной из наиболее важных характеристик виртуальной машины. Наиболее мощные из современных виртуальных машин (представленные в данной книге) обеспечивают поддержку около десятка популярных версий операционных систем из семейств Windows, Linux и MacOS.

Виртуальная машина изнутри

Когда виртуальная машина создана и запущена, у пользователя может возникнуть полная иллюзия того, что он работает с автономным компьютером, имеющим собственные процессор, оперативную память, видеосистему и (как правило) «стандартный» набор внешних устройств, включая флоппи-дисковод и устройство чтения CD/DVD.

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

В упрощенном виде архитектура системы, в которой используются виртуальные машины, выглядит следующим образом (рис. 1.3):

■ хостовая ОС и монитор виртуальных машин разделяют между собой права на управление аппаратными компонентами компьютера; при этом хостовая ОС занимается распределением ресурсов между собственными приложениями (включая и консоль ВМ);

■ монитор ВМ контролирует распределение ресурсов между запущенными виртуальными машинами, создавая для них иллюзию непосредственного доступа к аппаратному уровню (этот механизм называют виртуализацией );

■ гостевые ОС в пределах выделенных им ресурсов управляют работой «своих» приложений.


Рис. 1.3. Архитектура системы виртуальных машин


Приведенная архитектура является весьма общей. Однако представленные сегодня на рынке системы виртуальных машин имеют и существенные различия. Обусловлены они в первую очередь механизмом виртуализации, который использован в той или иной системе.

Виды виртуальных машин

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

В настоящее время распространение получили три схемы виртуализации:

■ эмуляция API гостевой ОС;

■ полная эмуляция гостевой ОС;

■ квазиэмуляция гостевой ОС.

Виртуальные машины с эмуляцией API гостевой ОС

Обычно приложения работают в изолированном адресном пространстве и взаимодействуют с оборудованием при помощи интерфейса API (Application Programming Interface - интерфейс прикладного программирования), предоставляемого операционной системой. Если две операционные системы совместимы по своим интерфейсам API (например, Windows 98 и Windows ME), то приложения, разработанные для одной из них, будут работать и на другой. Если две операционные системы несовместимы по своим интерфейсам API (например, Windows 2000 и Linux), то необходимо обеспечить перехват обращений приложений к API гостевой ОС и сымитировать ее поведение средствами хостовой ОС. При таком подходе можно установить одну операционную систему и работать одновременно как с ее приложениями, так и с приложениями другой операционной системы.

Поскольку весь код приложения исполняется без эмуляции, а эмулируются лишь вызовы API, такая схема виртуализации приводит к незначительной потере в производительности виртуальной машины. Однако из-за того, что многие приложения используют недокументированные функции API или обращаются к операционной системе в обход API, даже очень хорошие эмуляторы API имеют проблемы совместимости и позволяют запускать не более 70% от общего числа приложений. Кроме того, поддерживать эмуляцию API бурно развивающейся операционной системы (например, такой как Windows) очень нелегко, и большинство эмуляторов API так и остаются эмуляторами какой-то конкретной версии операционной системы. Так, в Windows NT/2000 до сих пор встроен эмулятор для приложений OS/2 версии 1.x. Но самый большой недостаток ВМ с эмуляцией API гостевой ОС - это ее ориентация на конкретную операционную систему.

Примеры продуктов, выполненных но технологии эмуляции API гостевой ОС:

■ проект с открытым кодом Wine (Wine Is Not an Emulator, «Wine - это не эмулятор»), позволяющий запускать DOS-, Win16- и Win32-приложения под управлением операционной системы Linux и Unix;

■ продукт Win4Lin компании Netraverse, позволяющий запускать операционные системы семейства Windows под управлением операционной системы Linux;

■ проект с открытым кодом DOSEMU, позволяющий запускать DOS-приложения под управлением операционной системы Linux;

■ проект с открытым кодом User Mode Linux (UML), позволяющий запускать несколько копий операционной системы Linux на одном компьютере (в настоящее время встроен и ядро Linux версии 2.6);

■ технология Virtuozzo, разработанная российской компанией SWsoft и позволяющая запускать несколько копий операционной системы Linux на одном компьютере.

Виртуальные машины с полной эмуляцией гостевой ОС

Проекты, поддерживающие технологию полной эмуляции, работают по принципу интерпретации инструкций из системы команд гостевой ОС. Поскольку при этом полностью эмулируется поведение как процессора, так и всех внешних устройств, то существует возможность эмулировать компьютер с архитектурой Intel х86 на компьютерах с совершенно другой архитектурой, например на рабочих станциях Mac или на серверах Sun с RISC-процессорами. Главный недостаток полной эмуляции заключается в существенной потере производительности гостевой операционной системы (скорость работы «гостевых» приложений может упасть в 100-1000 раз). Поэтому до недавнего времени ВМ с полной эмуляцией чаще всего использовались в качестве низкоуровневых отладчиков для исследования и трассировки операционных систем. Однако благодаря значительному росту вычислительных мощностей даже «настольных» компьютеров ВМ с полной эмуляцией стали сегодня вполне конкурентоспособными. Наиболее яркий представитель этого вида ВМ - продукт Virtual PC фирмы Connectix (ныне купленной Microsoft), который подробно описан в главе 2 книги. В качестве других примеров проектов, выполненных по технологии полной эмуляции, можно назвать следующие:

■ проект с открытым кодом Bochs, позволяющий запускать различные операционные системы Intel х86 под Linux, Windows, BeOS и Mac OS;

■ продукт Simics компании Virtutech, позволяющий запускать и отлаживать различные операционные системы Intel х86 под управлением Windows и других операционных систем;

■ проект Qemu - эмулятор различных архитектур на PC,

Виртуальные машины с квазиэмуляцией гостевой ОС

Технология квазиэмуляции гостевой ОС основана на том, что далеко не все инструкции гостевой ОС нуждаются в эмуляции средствами хостовой операционной системы. Многие из инструкций, необходимых для корректной работы «гостевых» приложений, могут быть непосредственно адресованы хостовой ОС. Исключение составляют инструкции для управления такими устройствами, как видеокарта, IDE-контроллер, таймер, и некоторыми другими.

Таким образом, в процессе работы RM с квазиэмуляцией происходит выборочная эмуляция инструкций гостевой ОС. Очевидно, что производительность такой ВМ должна быть выше, чем у ВМ с полной эмуляцией. Тем не менее, как было сказано, при достигнутых уровнях производительности персональных компьютеров разница оказывается не столь ощутимой.

Примеры проектов, выполненных по технологии квазиэмуляции:

■ технология Virtual Platform, на базе которой компания VMware предлагает четыре продукта: VMware Workstation для Windows NT/2000/XP, VMware Workstation для Linux, VMware GSX Server (group server) и VMware LSX Server (enterprise server);

■ виртуальная машина Serenity Virtual Station (SVISTA) (бывшая twoOStwo), разработанная российской компанией Параллели (Parallels) по заказу немецкой компании NetSys GmbH ;

■ проект с открытым кодом Рlеx86, позволяющий запускать различные операционные системы Intel х86 под управлением Linux.

■ проект с открытым кодом L4Ka, использующий микроядро;

■ проект с открытым кодом Xen, позволяющий запускать модифицированные ОС Linux, FreeBSD, NetBSD и Windows ХР под управлением Linux, FreeBSD, NetBSD и при соблюдении некоторых условий обеспечивающий даже прирост производительности.

В последующих главах книги рассмотрены наиболее популярные на сегодняшний день представители различных видов виртуальных машин: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт - Parallels Workstation, созданный в компании Parallels. Причем описание всех конкурирующих программ построено по одной и той же схеме, чтобы читателю проще было сравнить их между собой и сделать обоснованный выбор.

Примечания:

Мендель Розенблюм (mendel@cs .stanford.edu) - профессор информатики Стэнфордского университета, один из основателей и главный научный сотрудник компании VMware. Работе с виртуальной машиной этой компании, VMware Workstation, посвящена глава 3 книги.

В настоящее время компания Parallels разделилась на две самостоятельные компании. Первая из них, сохранившая прежнее название, продвигает свой продукт под торговой маркой Parallels; вторая, получившая название Serenity Systems International (http://www.serenityvirtual.com), наоборот, использует прежнее наименование продукта - SVISTА - и его логотип; оба варианта виртуальных машин могут работать на ОС Windows NT/2000/XP и Linux.

Слово «виртуализация» в последнее время стало какой-то «модой» в ИТ-среде. Все вендоры железа и ПО, все ИТ-компании в один голос кричат, что виртуализация – это круто, современно, и нужно всем. Но, давайте, вместо того, чтобы идти на поводу у маркетинговых лозунгов (а иногда бывают такими, что сам Геббельс умер бы от зависти), попытаемся посмотреть на это модное слово с точки зрения простых «технарей» и решить, нужно нам это или нет.

Типы виртуализации

Итак, начнем с того, что виртуализация делится на три типа:

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

С виртуализацией представлений знакомы многие из вас: самый яркий пример – это терминальные службы Windows Server. Терминальный сервер предоставляет свои вычислительные ресурсы клиентам, и клиентское приложение выполняется на сервере, клиент же получает только «картинку», то бишь представление. Такая модель доступа позволяет, во-первых – снизить требования к программно-аппаратному обеспечению на стороне клиента, во-вторых – снижает требования к пропускной способности сети, в-третьих – позволяет повысить безопасность. Что касается оборудования – то в качестве терминальных клиентов могут использоваться даже смартфоны или старые компьютеры вплоть до Pentium 166, не говоря уже о специализированных тонких клиентах. Существуют, к примеру, тонкие клиенты в форм-факторе розетки Legrand , монтируемые в короб. На клиентских рабочих местах достаточно установить только монитор, клавиатуру и мышь – и можно работать. Для работы с терминальным сервером не обязательно иметь высокоскоростное подключение к локальной сети, вполне достаточно даже низкоскоростного подключения с пропускной способностью 15-20 кбит/с, поэтому терминальные решения очень подходят фирмам, имеющим сильно распределенную структуру (к примеру – сети небольших магазинов). Кроме того, при использовании тонких клиентов значительно повышается безопасность, потому что пользователям можно разрешить запускать только ограниченный набор приложений, и запретить устанавливать свои собственные приложения. В принципе, то же самое можно сделать и с полноценными клиентскими рабочими станциями, но с использованием терминальных служб это будет сделать гораздо проще, особенно – не предоставляя доступ целиком к рабочему столу, а лишь публикуя отдельные приложения (возможно в Citrix Metaframe/PS, а так же в Windows Server 2008 и выше). Более того, никакую информацию нельзя будет скопировать на и с внешнего носителя, если это явно не разрешено в настройках терминальных служб. То есть проблема «вирусов на флэшках» отпадает автоматически. Еще одно неоспоримое достоинство – снижение сложности администрирования: упрощается обновление приложений (достаточно обновить их на сервере), и упрощается работа служб поддержки: к терминальной сессии любого пользователя можно подключиться удаленно без установки дополнительного ПО.
Недостатков у таких систем два: во-первых – необходимость покупки более мощных серверов (хотя это может быть дешевле, чем множество клиентских рабочих станций с ТТХ, достаточными для запуска приложений локально), во-вторых – появление единой точки отказа в виде терминального сервера. Эта проблема решается за счет использования кластеров, или ферм серверов, но это приводит к еще большему удорожанию системы.

Виртуализация приложений – достаточно интересное, и относительно новое направление. Рассказывать здесь подробно о нем я не буду, поскольку это тема для целой отдельной статьи. Коротко говоря, виртуализация приложений позволяет запускать отдельное приложение в своей собственной изолированной среде (иногда называется «песочница», sandbox). Такой способ помогает решить множество проблем. Во-первых – опять же безопасность: приложение, запущенное в изолированной среде – не способно нанести вред ОС и другим приложениям. Во-вторых – все виртуализированные приложения можно обновлять централизованно из одного источника. В-третьих – виртуализация приложений позволяет запускать на одном физическом ПК несколько разных приложений, конфликтующих друг с другом, или даже несколько разных версий одного и того же приложения. Более подробно о виртуализации приложений можно посмотреть, к примеру, в этом вебкасте: www.techdays.ru/videos/1325.html Возможно, однажды я даже напишу статью на эту тему.

И, наконец, перейдем к виртуализации серверов и остановимся на ней подробно.
Виртуализация серверов – это программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т.д. Далее, на такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного «железного», при этом все виртуальные компьютеры могут работать независимо друг от друга. Для чего это можно применять?
Первое, что приходит в голову – виртуализацию серверов можно использовать в целях обучения и в тестовых целях. К примеру, новые приложения или ОС можно протестировать перед запуском в промышленную эксплуатацию в виртуальной среде, не покупая специально для этого «железо» и не рискуя парализовать работу ИТ-инфраструктуры, если что-то пойдет не так.

Но кроме этого, виртуализация серверов может использоваться и в продакшн-среде. Причин тому много.
Виртуализация позволяет сократить количество серверов благодаря консолидации, то есть там, где раньше требовалось несколько серверов – теперь можно поставить один сервер, и запустить нужное число гостевых ОС в виртуальной среде. Это позволит сэкономить на стоимости приобретения оборудования, а так же снизить энергопотребление, а значит и тепловыделение системы – и, следовательно, можно использовать менее мощные, и, соответственно – более дешевые системы охлаждения. Но у этой медали есть и обратная сторона, и не одна. Дело в том, что при внедрении решений на базе виртуализации, скорее всего придется покупать новые сервера. Дело в том, что виртуальные сервера используют аппаратные ресурсы физического сервера, и, соответственно – понадобятся более мощные процессоры, большие объемы оперативной памяти, а так же более скоростная дисковая подсистема, и, скорее всего – большего объема. Кроме того, некоторые системы виртуализации (в частности – MS Hyper-V) требуют поддержки процессором аппаратных технологий виртуализации (Intel VT или AMD-V) и некоторых других функций процессора. Многие процессоры, которые выпускались до недавнего времени, в частности – все x86_32bit – этим требованиям не удовлетворяют, и поэтому от старых, хотя и вполне рабочих серверов придется отказаться. Однако же, один более мощный сервер скорее всего будет стоить намного дешевле нескольких менее мощных, да и старые сервера, скорее всего давно пора менять из-за морального устаревания.

Есть еще один очень важный момент: виртуализация северов позволяет до предела упростить администрирование инфраструктуры. Главное преимущество, которое оценят все сисадмины – это возможность удаленного доступа к консоли виртуальных серверов на «аппаратном», точнее – «вирутально-аппаратном» уровне, независимо от установленной гостевой ОС и ее состояния. Так, чтобы перезагрузить «зависший» сервер, теперь не нужно бежать в серверную, или покупать дорогостоящее оборудование типа IP-KVM-переключателей, достаточно просто зайти в консоль виртуального сервера и нажать кнопку «Reset». Помимо этого, виртуальные сервера поддерживают технологию моментальных снимков (о ней см. мою предыдущую статью), а так же бэкап и восстановление виртуальных систем намного легче.

Еще одно неоспоримое преимущество – ОС, запущенная внутри виртуальной машины (гостевая ОС) понятия не имеет, какое оборудование установлено на физическом сервере, внутри которого она работает (хост). Поэтому, при замене железа, при апгрейде или даже переезде на новый сервер необходимо обновить драйверы только на ОС самого хоста (хостовой ОС). Гостевые ОС по будут работать как и раньше, поскольку «видят» только виртуальные устройства.

Так же, хочется напомнить, что в виртуальной среде могут действовать особые правила лицензирования ПО (в частности, покупка лицензии на Microsoft Windows Server 2008 Enterprise позволяет использовать бесплатно четыре копии ОС в качестве гостевой, а Microsoft Windows Server 2008 Datacenter вообще разрешает использовать неограниченное число гостевых ОС при условии полного лицензирования по процессорам).

Еще нельзя не упомянуть о технологиях отказоустойчивости. Физические сервера, на которых запускаются виртуальные машины, могут быть объединены в кластер, и в случае отказа одного из серверов – автоматически «переезжать» на другой. Полной отказоустойчивости добиться не всегда возможно (в частности, в MS Hyper-V такой «внезапный переезд» будет выглядеть так же, и иметь такие же возможные последствия, как внезапное обесточивание сервера), но возможные простои сильно сократятся: «переезд» занимает несколько минут, тогда как ремонт или замена самого сервера может занять часы, а то и дни. Если же «переезд» виртуальных машин происходит в штатном режиме, то он может пройти совершенно незаметно для пользователей. Такие технологии у разных вендоров называются по-разному, к примеру у MS она называется «Live Migration», у VMware – Vmotion. Использование таких технологий позволит проводить работы, связанные с выключением сервера (к примеру – замену некоторых аппаратных компонент, или перезагрузку ОС после установки критических обновлений) в рабочее время и не выгоняя пользователей из их любимых приложений. Кроме этого, если инфраструктура построена соответствующим образом – запущенные виртуальные машины могут автоматически перемещаться на менее нагруженные сервера, или же наоборот «разгружать» наиболее загруженные. В инфраструктуре на базе технологий Microsoft для этого используются System Center Virtual Machine Manager и Operations Manager.

В заключение темы по виртуализации серверов - отмечу, что виртуализация не всегда одинаково полезна. В частности, не всегда будет хорошей идеей переносить в виртуальную среду высоконагруженные сервера, а особенно - высоконагруженные по дисковой подсистеме - это «тяжелые» СУБД, Exchange Server, особенно - роль Mailbox Server, и прочие высоконагруженные приложения. А вот сервера с меньшей нагрузкой (контроллеры доменов AD, WSUS, всевозможные System Center * Manager, веб-сервера) виртуализировать можно и даже нужно. Замечу, кстати, что именно с контроллерами доменов - очень желательно, чтобы хотя бы один из контроллеров был «железным», то есть не виртуальным. Нужно это потому, что для корректной работы всей инфраструктуры желательно, чтобы при запуске всех остальных серверов хотя бы один КД уже был доступен в сети.

Резюме

Итак, давайте подведем итоги: какая именно виртуализация когда может пригодиться, и какие у нее есть плюсы и минусы.
Если у вас есть много пользователей, работающих с одинаковым набором ПО, и система сильно распределена территориально – то стоит подумать об использовании виртуализации представлений, сиречь – терминальных службах.

Достоинства такой системы:

  • Снижение требований к «железу» на стороне клиентов
  • Снижение требований к пропускной способности сети
  • Повышение безопасности
  • Значительное упрощение администрирования и поддержки

Недостатки:
  • Повышения требований к серверам, как по производительности, так и по надежности
  • Возможная единая точка отказа

Если у вас существует множество приложений, которые некорректно работают в новой ОС, либо же конфликтуют между собой, или необходимо запускать на одном компьютере несколько версий одной и той же программы – то нужна виртуализация на уровне приложений.

Достоинства:

  • Безопасность
  • Простота администрирования - централизованное обновление и разграничение прав на доступ к приложениям

Недостатки:
  • Некоторая сложность в понимании технологий и в практическом внедрении.

Если же вам нужно освободить место в стойке, снизить энергопотребление систем, избавиться от «серверного зоопарка» - то ваше решение – виртуализация серверов.

Достоинства такого решения:

  • Экономия места в стойках
  • Снижение энергопотребления и тепловыделения
  • Упрощение администрирования
  • Широкие возможности по автоматизации развертывания и управления серверами
  • Снижение вынужденных и запланированных простоев системы за счет failover-кластеров и live migration
  • Позволяет (при использовании ОС Microsoft Windows Server) сэкономить на лицензиях на гостевые ОС

Недостатки – в принципе, те же, что и у терминальных решений:

  • Повышение требований к аппаратному обеспечению серверов
  • Возможная единая точка отказа – физический хост и хостовая ОС

Надеюсь, моя статья окажется для кого-то полезной. Благодарность и конструктивную критику, как всегда, можно высказать в комментариях.

Стремительное развитие технологий виртуализации оказало значительное влияние не только на развитие ИТ-инфраструктуры крупных предприятий. Мощности настольных персональных компьютеров достигли такого уровня, когда одна физическая машина может поддерживать несколько одновременно запущенных операционных систем в виртуальных машинах. Еще несколько лет назад виртуальные машины были чем-то экзотическим для конечных пользователей, которые устанавливали их, большей частью, в ознакомительных целях. Теперь многоядерные процессоры и большие объемы оперативной памяти на домашнем или офисном компьютере не редкость, и это позволяет придумывать новые варианты их использования в контексте технологий виртуализации.

Множество пользователей находят разнообразные применения настольным платформам виртуализации, как дома, так и на работе. Ведь виртуальная машина, по сравнению с физической, обладает существенно большей гибкостью в отношении переносимости на другую физическую платформу. К тому же, за последние пару лет существенно выросло качество настольных платформ виртуализации в отношении функциональности, простоты использования и быстродействия. Появившаяся сравнительно недавно поддержка аппаратной виртуализации в настольных системах говорит, что ведущие производители процессоров, такие как Intel и AMD, верят в будущее технологий виртуализации на персональных компьютерах.

Безусловно, такие громоздкие и требовательные к аппаратным ресурсам операционные системы, как Windows Vista, способны поглотить мощности пользовательских десктопов, какими бы высокими они не были, однако прогресс не стоит на месте, и дальнейшее развитие настольных аппаратных платформ вскоре даст возможность поддерживать несколько таких систем одновременно, удовлетворяя требованиям по быстродействию. Тем не менее, многие пользователи считают, что применение технологий виртуализации дома не является необходимым и считают виртуализацию еще одной специфической технологией, которая не окажет на них большого влияния. Большей частью, это связано с тем, что они не видят достойных путей применения виртуальных машин.

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

Как использовать виртуальные машины дома

Большинство пользователей персональных компьютеров часто сталкиваются с проблемой использования потенциально опасных или нестабильных приложений, которые могут либо повредить операционную систему, либо оказать влияние на работу других программ. Зачастую домашний компьютер, на котором расположены также и рабочие документы, используется несколькими людьми, среди которых не все понимают, как правильно с ним обращаться, чтобы не повредить важные данные или операционную систему. Создание учетных записей типа «User» не решает этой проблемы, поскольку для установки многих приложений необходимы административные права, и работа за компьютером в таком режиме существенно ограничивает его использование. Безусловно, многие сталкиваются также и с проблемой перенесения операционной системы и установленных приложений на другой компьютер при его покупке. Категория пользователей, активно использующих ноутбуки, сталкивается с проблемой синхронизации данных между ним и стационарным компьютером. Ведь необходима не только синхронизация файлов, но требуется также использовать одни и те приложения на работе и дома. Для множества людей, немаловажна также возможность обучения работе с различными операционными системами, от которых в этом случае не требуется высокого быстродействия. При этом, например, работая в Linux, пользователю требуется обращаться к Windows-приложениям, и для этого приходится перезагружать компьютер. И главной проблемой при обучении является невозможность моделирования реальной сети между несколькими компьютерами при наличии в распоряжении одного. Все эти и множество других проблем, позволяет решить использование виртуальных машин в настольных системах виртуализации.

Основными вариантами домашнего использования виртуальных машин являются следующие:

  • Создание персональной виртуальной среды, изолированной от хостовой системы, что позволяет использовать на одном компьютере несколько копий рабочих окружений, полностью изолированных друг от друга. К сожалению, такая модель исключает вариант использования виртуальных сред для 3D-игр, поскольку производители платформ виртуализации не научились еще полноценно поддерживать эмуляцию всех функций видеоадаптеров. Впереди всех на данный момент в этом отношении компания VMware, которая в последних версиях своей настольной платформы VMware Workstation включила функции по экспериментальной поддержке Direct-3D и шейдеров. Тем не менее, не так давно компания PCI-SIG, занимающаяся разработкой стандарта PCI Express, опубликовала новые спецификации стандарта PCI Express 2.0, в которых заявляется о поддержке функций виртуализации ввода-вывода, которые значительно упрощают гостевым системам доступ к физическому железу. Бесспорно, не за горами то время, когда мы будем играть в игры на виртуальных машинах.
  • Создание переносных виртуальных машин, готовых к использованию на любой другой совместимой по архитектуре платформе. Если вам необходимо продемонстрировать работу какой-либо программы, при этом она или окружение операционной системы должны быть определенным образом настроены - виртуальные машины лучший вариант в этом случае. Сделайте в виртуальной машине все необходимые действия, запишите ее на DVD-диск и там, где вам нужно показать, как все работает, установите платформу виртуализации и запустите виртуальную машину.
  • Получение безопасных пользовательских окружений для Интернет. При работе в сети Интернет, которая, как всем известно, изрядно наполнена вирусами и «троянскими конями», запуск интернет-браузера в режиме user-mode для многих не является приемлемым решением, с точки зрения безопасности. Ведь в программном обеспечении, в том числе и в операционных системах, существует множество уязвимостей, сквозь которые вредоносное ПО может повредить важные данные. Виртуальная машина в этом случае является более выигрышным вариантом, поскольку вредоносная программа после получения контроля над операционной системой в виртуальной машине, может причинить вред только внутри нее, не затрагивая при этом хостовую ОС. Кстати, в последнее время начали появляться вирусы, обнаруживающие свое присутствие в виртуальной машине и не выдающие себя в этом случае, однако пока таких вредоносных программ единицы, и в любом случае вред важным данным нанесен не будет, пока зараженные объекты не будут перенесены в хостовую ОС. Поэтому применение виртуальных машин в этом случае нисколько не исключает использование антивирусного ПО.
  • Создание сред для экспериментов с потенциально опасным программным обеспечением. На виртуальной машине вы можете безболезненно опробовать новый чистильщик реестра или дисковую утилиту. Вы также можете без всякого риска устанавливать прикладное ПО, которое может при определенных условиях повредить систему или ваши данные. В этом случае виртуальная машина выступает в роли «песочницы», в которой играются ваши программы. Вы можете спокойно наблюдать за их работой и изучать их, не беспокоясь при этом за сохранность данных.
  • Удобное и простое резервное копирование пользовательских сред. В конечном счете, виртуальная машина - это всего лишь папка с файлами на вашем компьютере, которая может быть скопирована на резервный носитель, а потом легко восстановлена. В этом случае не требуется создавать образов жесткого диска, чтобы сделать резервную копию вашей системы.
  • Возможность обучения работе с операционными системами, отличными от вашей хостовой. Безусловно, можно установить вторую ОС параллельно с вашей основной системой, но в таком случае, если вам понадобится какое-либо приложение из основной системы, вам придется перезагрузиться. В этом случае виртуальная машина идеальный вариант: вы запускаете нужную вам ОС параллельно с хостовой и переключаетесь между ними в случае необходимости. Во многих системах обмен файлами между гостевой и хостовой системой организован просто - перетаскиванием файлов и папок указателем мыши.

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

Настольные платформы виртуализации в бизнесе

Для большинства компаний, когда идет речь о виртуализации, это, в первую очередь, означает виртуализацию серверной инфраструктуры предприятия. Однако есть множество решений на базе виртуальных машин для конечных пользователей, значительно повышающих эффективность работы сотрудников компании. Рассмотрим основные сферы применения виртуальных машин в бизнесе на платформах виртуализации пользователей настольных компьютеров:

  • Создание хранилищ типовых шаблонов рабочих окружений пользователей. В зависимости от специфики работы организации, ее сотрудникам необходимо применение определенного набора программного обеспечения. При приходе в организацию нового сотрудника, ему необходимо установить операционную систему, определенным образом настроить ее, в соответствии с требованиями организации и политиками безопасности, а также установить все необходимое прикладное ПО. При использовании шаблонов виртуальных машин эта проблема решается очень просто: сотруднику устанавливается настольная платформа виртуализации, а в ней запускается виртуальная машина из набора шаблонов организации, в которой установлено все необходимое ПО и сделаны соответствующие настройки операционной системы. Такая модель позволит существенно сократить временные затраты на развертывание, а также обеспечить высокую гибкость при переносе виртуального десктопа сотрудника на другую физическую машину. Безусловно, такой вариант использования, возможно, потребует повышенных аппаратных ресурсов оборудования, однако это с лихвой окупится, если сотруднику приходится оперировать большими объемами разнородных данных, резервное копирование которых потребует значительного времени. Например, сотрудники службы маркетинга, которые устанавливают множество необходимых им программ, ежедневно пробуют что-то и работают с различными документами. В этом случае, они могут копировать папку с файлами их рабочей виртуальной машины в конце рабочего дня, не боясь при этом, что завтра при установке очередной программы все «сломается».
  • Создание виртуальной инфраструктуры десктопов, позволяющей централизованно хранить пользовательские окружения на защищенных серверах компании. Сами конечные пользователи при этом используют средства удаленного доступа к рабочему столу своих окружений (например, Terminal Services), хранящихся в корпоративном датацентре. Такой вариант использования виртуальных машин требует значительных затрат на его внедрение, поскольку в этом случае требуется поддержка серверных платформ виртуализации датацентра компании. Однако в этом случае обеспечивается наилучший уровень безопасности и доступности. Поскольку все рабочие среды хранятся и обслуживаются централизованно в защищенном средствами безопасности датацентре, вероятность утечки конфиденциальной информации существенно снижается. При этом степень доступности таких окружений значительно повышается, ведь доступ к ним может быть обеспечен из любой точки с высокоскоростным соединением. Строго говоря, это решение не относится к настольным платформам виртуализации, однако затрагивает конечных пользователей. Примером такого решения может служить VMware Virtual Desktop Infrastructure, основанное на виртуальной инфраструктуре серверов организации в корпоративном датацентре. Структура такой модели приведена на рисунке:
  • Применение защищенных политиками безопасности виртуальных машин. IT-профессионалам, которым требуется обеспечение конфиденциальности их персональных данных, а также частая демонстрация различного программного обеспечения заказчикам, отлично подойдут решения для создания защищенных виртуальных машин, которые предоставляют средства разграничения доступа к различным функциям по работе с виртуальной машиной. Также можно установить срок действия виртуальной машины и таким образом распространить программное обеспечение, чтобы определенный круг лиц не мог использовать виртуальную машину свыше дозволенного времени. Примером такого решения служит продукт ACE Manager компании VMware.
  • Упрощение обучения пользователей за счет создания учебных классов с виртуальными машинами, где установлены различные операционные системы и прикладное программное обеспечение. В случае если группу сотрудников организации необходимо обучить использованию какого-либо продукта или программы, можно создать один шаблон виртуальной машины и установить платформу виртуализации на каждом из компьютеров учебного класса. Далее виртуальная машина может быть скопирована на все компьютеры и запущена со всем необходимым количеством программ. Если понадобится обучение другому продукту, можно создать новый шаблон виртуальной машины и также развернуть его на всех компьютерах учебного класса.
  • Разработка и тестирование программного обеспечения в компании. Виртуальная машина, являясь изолированной средой, идеально подходит для разработки ПО. Разработчики и тестеры могут создавать необходимые им конфигурации операционных систем и пользовательских окружений для симуляции поведения программы на различных платформах. В рамках этого варианта использования возможно также моделирование рабочих связок виртуальных машин на одной физической платформе, осуществляющих между собой сетевое взаимодействие. Кроме того, некоторые платформы, такие как VMware Workstation, позволяют создавать деревья состояний виртуальных машин, в каждом из которых сохранена определенная пользовательская конфигурация. К каждому из таких состояний возможен откат одним кликом мыши. Пример такого дерева:

Сравнительный обзор настольных платформ виртуализации

Ведущие компании в сфере производства настольных платформ виртуализации за последние два года много сделали, чтобы максимально упростить их использование и сделать доступными даже самому неискушенному пользователю. Лидерами в производстве систем виртуализации для конечных пользователей на данный момент являются компании: VMware с продуктами VMware Workstation, VMware ACE и VMware Fusion, Microsoft с продуктом Virtual PC, Parallels, продвигающая свою платформу виртуализации для Mac OS с продуктом Parallels Desktop for Mac, и компания InnoTek с бесплатной платформой с открытым исходным кодом VirtualBox. Кратко рассмотрим возможности некоторых из этих продуктов.

VMware Workstation


Компания VMware является на сегодняшний день безусловным лидером в области настольных систем виртуализации. Ее продукты просты в использовании, обладают широкими функциональными возможностями и отличаются высоким быстродействием. На продукт ориентируются практически все производители настольных платформ виртуализации. Процесс создания виртуальной машины и установки гостевой операционной системы не вызывает особых трудностей: при создании необходимо указать объем оперативной памяти, выделяемой под гостевую систему, тип и размер виртуального диска, папку, где будут расположены файлы виртуальной машины и тип устанавливаемой гостевой ОС. В качестве установочного дистрибутива гостевой системы может использоваться загрузочный CD или DVD-диск или ISO-образ. После установки операционной системы в виртуальной машине обязательно необходимо установить VMware Tools и отключить все ненужные эмулируемые устройства в настройках в целях оптимизации быстродействия. Также можно создать мгновенный снимок (snapshot) «чистого» состояния гостевой системы, при этом все данные виртуальных дисков на этот момент будут сохранены, и в любое время можно будет вернуться к их сохраненному состоянию. К ключевым особенностям VMware Workstation можно отнести:

  • Поддержку различных типов виртуальных дисков (эмулируются контроллеры как для IDE, так и для SCSI дисков):
    • фиксированного размера (Preallocated) или растущие по мере заполнения (Growing), при этом первые оптимизированы по быстродействию, а вторые удобны тем, что не занимают много места до того, как будут заполнены
    • независимые (Independent) диски, на которые не оказывает влияния создание снимков состояния операционной системы. Такие диски удобны для организации хранилищ файлов, изменение которых не требуется при работе со снимками состояний гостевой системы
    • поддержка дисков, состояние которых не сохраняется при выключении виртуальной машины
    • возможность прямой записи на физический диск
  • Поддержку различных типов сетевого взаимодействия между виртуальными машинами, включая объединение виртуальных машин в «команды» (Teams), что позволяет создавать виртуальные подсети, состоящие из виртуальных машин с различным количеством виртуальных сетевых адаптеров (до трех). Виртуальный сетевой интерфейс при этом может работать в трех различных режимах:
    • Bridged Networking - виртуальная машина разделяет ресурсы сетевой карты с хостовой операционной системой и работает с внешней по отношению к ней сетью как самостоятельная машина.
    • Host-only Networking - виртуальная машина получает IP-адрес в собственной подсети хоста от DHCP-сервера VMware. Соответственно, работать в сети можно только с другими виртуальными машинами на этом хосте и с ОС самого хоста.
    • NAT - виртуальная машина работает также в собственной подсети хоста (но другой), однако, через NAT сервер VMware, может инициировать соединения во внешнюю сеть. Из внешней сети инициировать соединение с такой виртуальной машиной невозможно. В пределах хоста сетевое взаимодействие обеспечивается.
    • Диски также можно монтировать в хостовую систему с помощью утилиты vmware-mount и расширять с помощью утилиты vmware-vdiskmanager (эта утилита служит также для выполнения еще ряда действий над виртуальными дисками).
  • Возможность простого обмена файлами с помощью интерфейса Drag&Drop, а также путем создания общих папок (Shared Folders) между хостом и гостевой ОС.
  • Поддержку большого списка гостевых и хостовых операционных систем.

В последней версии VMware Workstation 6 включены также следующие полезные функции:

  • полная поддержка интерфейса USB 2.0
  • возможность записи активности виртуальной машины
  • интегрированный продукт VMware Converter (для Windows-хостов) для импорта виртуальных машин других производителей
  • запуск виртуальной машины в качестве сервиса

Стоит также отметить, что продукт VMware Workstation является на данный момент единственной платформой виртуализации, экспериментально поддерживающей Direct-3D в гостевых операционных системах. Основным и, пожалуй, единственным недостатком этой платформы является тот факт, что она не бесплатна.

Microsoft Virtual PC

Появившись как конкурент VMware Workstation, продукт компании Connectix, купленный впоследствии корпорацией Microsoft вместе с компанией, не получил в ее руках достойного развития. В результате, на данный момент, практически по всем параметрам он проигрывает платформе VMware Workstation и может быть запущен только в хостовой операционной системе Windows. Однако достаточное количество пользователей применяют его в качестве настольной платформы виртуализации, поскольку Virtual PC является бесплатным и удовлетворяет основные потребности в отношении использования виртуальных машин. Процесс установки гостевой системы также весьма прост и интуитивен. После того, как операционная система будет установлена, необходимо установить Virtual Machine Additions (аналог VMware Tools в VMware Workstation), существенно повышающие быстродействие гостевой ОС, за счет улучшения техники виртуализации. VM Additions также можно установить и в гостевых операционных системах Linux.

К основным достоинствам продукта Microsoft Virtual PC можно отнести следующие возможности:

  • Полная поддержка Windows Vista как в качестве хостовой, так и в качестве гостевой операционной системы. В отношении быстродействия в Virtual PC 2007 был сделан существенный шаг вперед по сравнению с прошлой версией, и теперь быстродействие Windows Vista в виртуальной машине вполне приемлемо.
  • Поддержка 64-битных хостовых Windows-систем.
  • Повышенное быстродействие за счет использования улучшений, введенных в Microsoft Virtual Server 2005 R2.
  • Наличие различных типов виртуальных дисков:
    • Dynamically expanding (аналог Growing в VMware Workstation)
    • Fixed Size (аналог Preallocated в VMware Workstation)
    • Differencing - диск, хранящий в себе изменения от текущего состояния виртуального диска
    • Linked to a hard disk (аналог прямой записи на диск в VMware Workstation)
  • Наличие различных типов сетевого взаимодействия между виртуальными машинами и хостом:
    • аналог Bridged Networking в VMware Workstation
    • Local only (аналог Host-only в VMware Workstation)
    • Shared Networking (аналог NAT в VMware Workstation)

Нужно отметить, что продукт Virtual PC направлен, скорее, на применение домашними пользователями, нежели IT-профессионалами и разработчиками программного обеспечения, в то время как VMware Workstation, обладая значительно большей функциональностью, способен покрыть потребности последних. В то же время, Virtual PC бесплатен и предназначен в основном для упрощения миграции на новые операционные системы Microsoft и поддержки их устаревших версий. И, безусловно, на популярность платформы Virtual PC оказывает ее бесплатность, создавая определенную нишу для применения этого продукта.

Parallels Workstation и Parallels Desktop for Mac


Продукт предназначен для использования на Windows и Linux-платформах в качестве настольной системы виртуализации. В связи с тем, что компания Parallels (фактически принадлежащая российской компании SWSoft) сосредоточилась сейчас в основном на продукте , развитие этого продукта в данный момент несколько приостановилось и по функциональным возможностям он уступает двум ведущим настольным платформам от VMware и Microsoft. Поэтому расскажем о платформе Parallels Desktop for Mac, которая сейчас является основной для компьютеров от Apple. К тому же в данный момент развитие этой платформы весьма динамично, что обусловлено, в первую очередь, тем, что копания VMware всерьез намерена вторгнуться на рынок виртуализации для Маков со своим практически готовым к окончательному релизу продуктом VMware Fusion. Ключевые возможности платформы Parallels Desktop for Mac:

  • Простое создание виртуальных машин в три шага с помощью Parallels Installation Assistant. Чтобы создать виртуальную машину и установить в ней гостевую операционную систему, не потребуется лишних усилий.
  • Наличие утилиты Parallels Transporter, позволяющей осуществить миграцию с физической машины на виртуальную.
  • Полная поддержка гостевой ОС Windows Vista. При этом обеспечивается простой обмен файлами между гостевой и хостовой операционной системами
  • Поддержка интерфейса USB 2.0
  • Поддержка Mac OS X «Leopard»

Как и большинство продуктов для платформы Mac OS X, Parallels Desktop предоставляет пользователю простой и удобный интерфейс. Не секрет, что многие пользователи платформы Mac зачастую испытывают потребность в использовании продуктов для Windows, и Parallels Desktop предоставляет им такую возможность, позволяя чувствовать себя «в двух мирах».

Также можно упомянуть такие продукты компании Parallels, как Parallels Compressor Workstation и Parallels Compressor Server, позволяющие сжимать диски не только виртуальных машин Parallels, но и VMware, что является решением одной из проблем, часто возникающих у пользователей.

VirtualBox


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

Многие блоггеры, лояльно настроенные к компании VMware, тем не менее, заявили, что на их десктопах виртуальные машины на платформе работают заметно быстрее, чем виртуальные машины в VMware Workstation. К тому же до недавнего времени платформа VirtualBox была доступна только для Linux и Windows хостов, а в конце апреля появилась первая сборка для Mac OS X, где планируется конкуренция платформы с такими «монстрами» систем виртуализации, как Parallels и VMware. И, безусловно, у нее есть все шансы на победу. Учитывая полную открытость платформы и ее бесплатность, множество энтузиастов готовы взяться за доработку платформы и наращивание функционала, будем надеяться, без ущерба ее производительности. На данный момент VirtualBox обладает не такой широкой функциональностью, как ведущие платформы, не поддерживает 64-битные системы и сетевое взаимодействие с Windows Vista, но на сайте можно получить оперативную информацию, над какими функциями системы ведется работа. На данный момент платформа обладает следующими основными возможностями:

  • Достаточно большой список поддерживаемых хостовых и гостевых операционных систем.
  • Поддержка множественных снимков текущего состояния гостевой системы (snapshots).
  • Динамически расширяющиеся и фиксированного размера диски.
  • Возможность установки Guest Additions (аналог VMware Tools) для повышения степени интеграции с хостовой ОС

Безусловно, касательно функциональности, VirtualBox является весьма незрелым продуктом, однако показатели его быстродействия говорят, что у платформы есть будущее, и сообщество Open Source приложит все усилия к его совершенствованию и развитию.

Что выбрать в качестве настольной системы виртуализации?

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

Бесспорно, когда речь идет об использовании настольной системы виртуализации дома на Windows хостах, следует выбирать между платформами Microsoft Virtual PC или VirtualBox, поскольку они бесплатны и обладают необходимым функционалом для поддержки виртуальных машин дома. Однако когда речь идет о применении виртуальных машин в бизнесе, в корпоративной среде предприятия, где развертывание настольных систем виртуализации предъявляет высокие требования к функциональности и надежности, не обойтись без VMware Workstation, существенно превосходящего другие описанные платформы. Здесь также может найти свое место и продукт VirtualBox, как наиболее оптимизированный по быстродействию.

Virtual PC следует использовать при обеспечении поддержки старых версий Windows и обкатке Windows Vista в качестве гостевой ОС. А без продукта Parallels Desktop пользователям платформы Мак не обойтись: об этом говорит тот факт, что результат в более чем 100 000 проданных копий продукта был зафиксирован еще в 2006 году. Пользователям Маков следует также обратить внимание на платформу VMware Fusion, которая в будущем претендует на лидерство в сфере настольных платформ виртуализации.

Технологии виртуализации для персональных компьютеров становятся все ближе к конечному пользователю и сейчас могут использоваться как повседневной работе сотрудников организаций, так и на домашних компьютерах для создания защищенных или изолированных персональных сред. К тому же использование виртуальных машин на десктопах не ограничивается описанными вариантами. Например, в виртуальной машине VMware, в оконном режиме консоли гостевой операционной системы, можно выставить большее поддерживаемого монитором разрешение, при этом у окна гостевой системы появятся полосы прокрутки. Это позволит протестировать веб-сайт или приложение на высоких разрешениях при отсутствии соответствующего монитора. Этот пример показывает, что варианты использования виртуальных машин на настольных компьютерах зависят от вашей фантазии. А стремительно развивающиеся пользовательские платформы виртуализации помогут вам в удовлетворении ваших потребностей.

Bluetooth