Недавно в одном проекте я помог построить отдельную виртуальную инфраструктуру, основанную на нескольких виртуальных машинах (VM) с работающими на них службами AD, DHCP, DNS, RIS и WINS. Группа состояла из Microsoft Virtual PC 2007 с установленными последними дополнениями Virtual Machine Additions. О часто пропускаемом этапе установки дополнений Virtual Machine Additions рассказано во врезке «Аксессуары для виртуальной машины». После развертывания созданного решения в промышленной среде стало понятно, что оно не справляется с нагрузкой. Для решения этой проблемы в итоге был установлен Microsoft Virtual Server 2005 SP1, а VM были перенесены с выполнением необходимых модификаций и подключением VHD к адаптерам SCSI.

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

Тогда Virtual Server может оказаться как раз тем решением, которое требуется. Разработчики Microsoft хорошо проработали архитектуру виртуализации, что позволяет осуществлять интеграцию между Virtual PC и Virtual Server. После загрузки этого свободно распространяемого программного обеспечения и небольшого изучения вы сможете заняться созданием собственной среды из виртуальных систем.

Архитектура VM

Информация о том, как загрузить свободно распространяемые Virtual Server и Virtual PC, приведена во врезке «Дополнительные материалы». Прежде чем начать загрузку, необходимо понять разницу между Virtual PC 2007 и Virtual Server 2005, чтобы обеспечить перенос VM между этими двумя платформами. В данной статье рассматриваются Virtual Server 2005 R2 SP1 Enterprise Edition и Virtual PC 2007. Обсуждая Virtual PC 2007, мы коснемся и Virtual PC 2004 SP1.

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

Кроме того, Virtual PC и Virtual Server отличаются друг от друга фундаментальным набором возможностей. Ключевым моментом, объединяющим различные платформы VM, является общая архитектура файлов конфигурации виртуальной машины (VMC) и виртуального жесткого диска (VHD). Файл VMC в формате XML содержит метаданные, описывающие VM. Фактическое дисковое хранилище VM может состоять из одного или нескольких VHD.

Система автоматически создает файлы сохраненного состояния виртуальной машины (VSV) и отмены дисковых изменений (VUD), если эта функция активирована, в том же самом каталоге, который определен для VM. Файл VSV хранит работающую VM в спящем режиме для дальнейшего восстановления. Пока VM работает, система записывает изменения в файл VUD, чтобы можно было вернуться к нормальному состоянию системы и отменить изменения, вместо записи на диск в случае сбоя или при необходимости вернуться к старой конфигурации. Файлы VSV между двумя платформами несовместимы. Следовательно, для исключения потенциальных проблем все изменения должны быть записаны на диск и VM стандартным образом выключена перед переносом между Virtual PC и Virtual Server. Файл с виртуальной сетевой конфигурацией (VNC) уникален для Virtual Server и в Virtual PC не используется.

Основы

Перенос VM, созданной в Virtual PC, на Virtual Server предельно прост: нужно вызвать страницу администрирования Virtual Server, указать полный путь к файлу VMC соответствующей виртуальной машины и нажать кнопку Add. Я рекомендую сначала использовать инструмент Inspect перед первым использованием виртуального диска. Эта процедура помогает проверить целостность VHD, включая такие зависимости, как настройка на связь с родительским диском (см. экран 1).

Экран 1. Инспектирование VHD перед импортом

Может потребоваться перенести VM в обратном направлении — с Virtual Server на Virtual PC. Например, это может понадобиться, если целевая машина не имеет установленного Virtual Server или необходимо воспользоваться возможностями Virtual PC. Для этого надо открыть консоль Virtual PC и запустить New Virtual Machine Wizard. Далее требуется выбрать вариант Add an existing virtual machine и указать полный путь к VMC.

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

Сетевые особенности

Virtual PC и Virtual Server поддерживают максимум четыре сетевых адаптера на одну VM. Хотя внутренняя структура файла VMC одна и та же, сетевые настройки несколько отличаются для этих двух платформ. Virtual PC хранит информацию о сетевых настройках прямо в файле VMC с тем же именем, что и VM, в разделе ethernet_adapter (см. экран 2).

Экран 2. Сетевые настройки VMC

Фактическое описание сетевых адаптеров хоста доступно пользователю в файле options.xml, который размещается в каталоге %APPDATA%MicrosoftVirtual PC. Поскольку Virtual PC не имеет графического интерфейса для изменения имени сетевого адаптера, можно изменить Manufacturer Network Adapter Name в разделе . Важно помнить о том, что перед любыми изменениями этого файла необходимо делать его резервную копию.

Virtual Server хранит сетевые настройки в различных конфигурационных файлах XML с расширением VNC. Найти их можно в каталоге %ALLUSERSPROFILE%DocumentsShared Virtual Networks. Доступ к этому каталогу имеют только локальные администраторы в стандартном случае. По умолчанию система создает множество файлов, которые соответствуют физическим адаптерам, представленным на хосте. Допустим, существует два внутренних сетевых адаптера — один проводной, другой беспроводной. Virtual Server создаст в этом случае два файла, называемые External Network.vnc (имя производителя и модель проводной сетевой карты) и External Network.vnc (имя производителя и модель беспроводной сетевой карты). Кроме того, Internal Network.vnc также автоматически создается для обеспечения соединений типа VM-к-VM.

Virtual Server позволяет создавать множество виртуальных сетей, каждая из которых полностью настраивается с помощью виртуального сервера DHCP (см. экран 3). Также нет ограничения на количество VM, которые могут подключаться к каждой виртуальной сети. Разделяя файлы VNC, которые описывают некоторые общие сетевые настройки, можно достичь изолированности без связи физического сетевого адаптера с определенной VM или пользователем.

Экран 3. Определяемые пользователем в Virtual Server настройки DHCP

Очевидно, что производительность пострадает, если подключить множество VM, интенсивно использующих сеть, к одной виртуальной сети, которая обычно ассоциирована с физическим адаптером на хосте. В такой ситуации можно установить множество адаптеров на хосте и распределить нагрузку среди групп VM, согласно требованиям приложений. Из-за тонкого различия в сетевой конфигурации перенос VM, созданных на Virtual PC с уже настроенной сетью, на Virtual Server (или наоборот) может привести к ошибкам.

Для подключения к виртуальной сети на Virtual Server после импорта VM с Virtual PC достаточно щелкнуть Network Adapters и OK после выбора корректного соединения (см. экран 4). Сетевое соединение будет доступно, как только гостевая операционная система стартует и последующая настройка не потребуется.

К сожалению, этот процесс требуется выполнять вручную после каждого переноса VM с Virtual PC на Virtual Server. При обратном переносе это тоже необходимо. В качестве альтернативы можно использовать сценарий для автоматизации этого процесса, такой как показан в листинге 1.

Листинг. Пример сценария, подключающего виртуальную сеть под Virtual Server 

Практические занятия

Теперь применим знания на практике. В нашем простом сценарии мы имеем VM, созданные на Virtual Server. Нам надо перейти с Virtual Server на Virtual PC, чтобы воспользоваться новыми расширенными возможностями виртуализации аппаратных средств, которые доступны только в Virtual PC 2007. Наш пример также подчеркивает, что структура файла VHD является общей и использоваться могут различные типы адаптеров (SCSI или IDE).

  1. Убедимся, что гостевая операционная система нормально выключена на Virtual Server.
  2. Сделаем резервную копию файла VMC, основанного на формате XML.
  3. Запустим Virtual PC и пройдем путем, указываемым мастером New Virtual PC Wizard.
  4. Выберем вариант добавления существующей виртуальной машины и укажем полный путь к существующему файлу VMC.
  5. Проверим настройки VM и отметим, что Hard Disk 1 и Adapter 1 выглядят как None и Not Connected, как показано на экране 5. Прежде чем запустить VM, необходимо вручную определить жесткий диск, указав созданный ранее файл VHD. Если необходимо сетевое соединение, то следует указать физический сетевой адаптер.
  6. Теперь можно запускать VM. Выделяем VM в консоли Virtual PC и нажимаем Start. На экране появится предупреждение о том, что аппаратные настройки несовместимы. Это предупреждение можно игнорировать, нажав кнопку OK.
  7. Если явно выбраны пункты использования звуковой карты в настройках VM, механизм Plug and Play (PnP) сработает автоматически и появится запрос на установку звуковых драйверов в гостевой операционной системе. Может потребоваться перезагрузка и после этого можно будет использовать VM без каких-либо модификаций.

Погружение

Стремление к возвращению инвестиций (Return of Investment, ROI) сегодня является ключевым фактором в конкурентной среде. Виртуализация позволяет обеспечивать своевременную поддержку и сосуществование разных поколений приложений, а также изучать новые технологии. Использование Virtual PC в ИТ-технологиях может масштабироваться, если компания начнет развиваться. Очень удобно, что найти решение практически для любого сценария работы можно без проблем с совместимостью или без существенных затрат на переоборудование. Все, что потребуется, — это погрузиться в организацию виртуальных серверов.


Десмонд Ли (http://www.leedesmond.com/weblog ) — старший консультант в компании INS. Имеет звание MCT. Основатель сообщества пользователей Swiss IT Pro User Group (http://www.swissitpro.ch)


Аксессуары для виртуальной машины

После начальной установки виртуальной машины с гостевой операционной системой Windows часто пропускают задачу установки необязательных дополнений Virtual Machine Additions. Этот важный пакет обеспечивает некоторые ключевые возможности, в том числе повышенную производительность гостевой операционной системы, встроенную поддержку использования мыши, оптимизированные видеодрайверы и синхронизацию времени с хостом. Для Virtual PC становятся доступны общие каталоги, возможности механизма drag-and-drop и общий буфер обмена, что положительно сказывается на работе с виртуальными машинами.

Все эти возможности не являются встроенными в гостевую операционную систему. Установка Virtual Machine Additions играет важную роль в улучшении интеграции и повышении производительности. Процесс установки осуществляется вручную и может быть выполнен только на работающей гостевой операционной системе. В Virtual Server нужно найти необходимую VM и указать Virtual Machine Additions в секции Configuration. За этим последует установка Virtual Machine Additions. Для выполнения такого же процесса на Virtual PC выберите Action, затем Install, or Update Virtual Machine Additions в раскрывающемся меню. После автоматического запуска программы установки в Windows следуйте инструкциям на экране для завершения данной процедуры.

С выпуском Virtual PC 2007 стало возможным обновить Virtual Machine Additions до версии 13.883. Код Virtual Machine Additions совместим с Virtual PC и Virtual Server, и всегда лучше устанавливать последнюю версию на всех гостевых операционных системах. Выполнение этой операции гарантирует, что VM может быть запущена в дальнейшем на обеих платформах. Следует отметить, что установка Virtual Machine Additions на операционной системе хоста не требуется, и если это все же будет сделано, общая производительность может снизиться.

Для получения информации о версии Virtual Machine Additions на Virtual PC необходимо выделить работающую VM в основной консоли, выбрать Action, Properties и посмотреть на закладку General. Для Virtual Server следует просто перейти на страницу статуса VM и отыскать Virtual Machine Additions в секции настроек.

Внутри гостевой операционной системы в приложении Add/Remove Programs нужно перейти на Virtual Machine Additions и выделить Click here for support information — этот метод работает на обеих платформах.