Использование Virtual PC в качестве платформы для тестирования и обучения
В моей предыдущей статье на WindowsNetworking.com я кратко изложил некоторые способы получения максимальной производительности от Virtual PC. После того, как вы освоите эти шаги, вы будете готовы запустить платформу в работу, и одним из наиболее распространенных способов использования Virtual PC является его использование для тестирования программного обеспечения и обучения. Вот восемь возможных сценариев использования Virtual PC для этих целей:
Сценарии тестирования и обучения
1. Создайте испытательные сети. У вас есть только один запасной компьютер для игры? При условии, что он мощный, с быстрым процессором, тоннами оперативной памяти и большим объемом дискового пространства, вы можете создать целую тестовую сеть виртуальных машин на своем ПК и опробовать различные сценарии. Например, у вас может быть одна виртуальная машина под управлением IIS6 в Windows Server 2003 с установленным приложением ASP.NET, которое подключается к другой машине с SQL Server 2000, на которой размещена серверная база данных для вашего приложения. Затем вы можете запустить третью виртуальную машину под управлением Windows XP и использовать ее в качестве клиентской машины для подключения к веб-серверу и доступа к базе данных. Внешний клиентский компьютер, сервер веб-приложений промежуточного уровня и внутренний сервер базы данных, все они работают в виртуальной сети на Virtual PC. Возможности безграничны!
2. Зеркальные производственные сети. Перед развертыванием исправления (например, пакета обновлений или исправлений) в производственной сети необходимо сначала протестировать его, чтобы убедиться, что его установка не повлияет на приложения, работающие в вашей сети. Конечно, для правильного тестирования исправлений вы должны делать это в тестовой сети, которая максимально точно отражает вашу производственную сеть. В прошлом это могло означать необходимость в полудюжине или около того машин с различными операционными системами, службами и приложениями, подключенными к сети, изолированной от вашей производственной сети. Но с Virtual PC вам нужна только одна машина — вы создаете виртуальную сеть из полдюжины виртуальных машин, которые отражают реальные серверы и клиенты вашей производственной сети. Затем вы применяете патч в своей виртуальной сети и проверяете, что происходит.
3. Узнайте, как все работает. Допустим, вы хотите изучить, как работает репликация Active Directory. Для этого вы можете создать виртуальную сеть с тремя контроллерами домена на двух разных сайтах и использовать replmon для изучения того, как работает репликация внутри сайта по сравнению с репликацией между сайтами. Или вы можете установить SharePoint Portal Server 2003 на одну виртуальную машину и Microsoft Office на другую и узнать, как SharePoint Portal Server может выступать в качестве серверной части для Office. Опять же, возможности использования Virtual PC в качестве обучающей платформы безграничны. Вы даже можете настроить службы удаленной установки (RIS) и научиться с ними работать, хотя существуют некоторые ограничения на то, как развертывание RIS работает в среде виртуальной машины.
4. Пробуйте рискованные вещи. Вы когда-нибудь хотели увидеть, что происходит, когда определенный вирус, червь или троян заражает операционную систему Windows? Создайте виртуальную машину для размещения этой ОС в качестве гостя, а затем преднамеренно заразите виртуальную машину и посмотрите, что произойдет. Если вы создали диск отмены для своей виртуальной машины, вы можете делать с ним все, что захотите, и при этом иметь возможность использовать его в другой день. Другие опасные вещи, которые вы можете попробовать, могут включать в себя попытку разрушить Active Directory, испортив схему, повредить метабазу IIS, отредактировав ее ненадлежащим образом, притворившись хакером и запустив вредоносный скрипт, и так далее. Как весело!
5. Тестирование и отладка приложений. Вместо тестирования приложений, которые вы разрабатываете на рабочем компьютере, установите на него Virtual PC и протестируйте эти приложения в изолированной среде, которая защитит вашу производственную сеть от проблем, связанных с программным обеспечением с ошибками. Я не пробовал это сам, но я слышал, что вы можете подключить одну виртуальную машину в качестве отладчика к другой виртуальной машине, чтобы вы могли отлаживать проблемы с программным обеспечением на низком уровне. Для этого необходимо настроить соединение с именованным каналом (по сути, виртуальный последовательный порт), который заменяет последовательный кабель, который вы обычно используете для подключения машины разработки к отладчику (подробнее см. этот пост в блоге Ангуса Логана).
6. Бета-тестирование. Если вам нравится опережать технологическую кривую путем бета-тестирования нового программного обеспечения (либо потому, что вы увлекаетесь технологиями, либо ваш бизнес требует, чтобы вы были осведомлены в таких вещах), тогда Virtual PC может быть преимуществом и здесь. Вместо того, чтобы нуждаться в отдельной машине для каждого продукта, который вы тестируете (или нескольких машинах, если бета-версия предназначена для продукта, для реализации которого требуется несколько блоков), вы можете проводить все свои бета-тестирования на одной машине, на которой работает Virtual PC — при условии, что вы можете установить бета-версию. продукт как виртуальная машина. Если вы участвуете в бета-программе Vista (ранее Longhorn), вы можете найти несколько советов по установке Vista Beta 1 на Virtual PC в этой записи блога Роберта Мойра.
7. Обучение персонала. Вы также можете использовать Virtual PC для обучения персонала работе с различными программными продуктами. Например, вы можете создать виртуальную машину с установленным Microsoft Office и предложить новым сотрудникам пройти различные процедуры, чтобы узнать, как использовать определенные функции Office, которые часто используются в вашей компании. Затем с включенными дисками отмены, когда сотрудник заканчивает свое обучение, он выключает виртуальную машину, и внесенные им изменения теряются, и виртуальная машина готова для работы следующего сотрудника. Корпорация Майкрософт разработала целую серию лабораторий на основе виртуальных машин под названием Microsoft Virtual Labs, чтобы помочь ИТ-специалистам и разработчикам ознакомиться с продуктами Microsoft.
8. Делаем демо. Допустим, вы разрабатываете приложение ASP.NET для компании и хотите продемонстрировать свое приложение на следующей встрече с ними. Создайте виртуальную тестовую сеть с клиентами, серверами и установленным приложением, скопируйте виртуальные машины на свой ноутбук и покажите им, как приложение будет работать на самом деле в среде демонстрационной виртуальной машины. Гораздо эффективнее, чем говорить: «Если бы у нас был веб-сервер, мы бы сделали это, нажав здесь» и так далее.
Советы и предложения по тестированию и обучению
Если вы собираетесь использовать Virtual PC (или Virtual Server) для любого из описанных выше сценариев тестирования и обучения, то вот несколько советов, которые могут облегчить вашу жизнь:
- Вам понадобится программное обеспечение для целей тестирования. Подписка MSDN может быть отличным ресурсом в этом отношении, если вы можете себе это позволить (если вы покупаете ее лично) или оправдываете ее с точки зрения бизнеса (если вы хотите, чтобы ее купил ваш работодатель).
- Общее практическое правило, касающееся лицензирования при установке программного обеспечения на Virtual PC, заключается в том, что к виртуальной машине предъявляются те же требования к лицензированию, что и к физической машине. Однако не забудьте проверить веб-сайт вашего поставщика на предмет конкретных исключений из этого правила. Страница Virtual Server 2005 Frequently Asked Questions на веб-сайте Microsoft содержит некоторую полезную информацию (плюс технический документ, который вы можете загрузить) о лицензировании продуктов Microsoft в среде виртуальной машины.
- Убедитесь, что вы понимаете различные способы объединения виртуальных машин в сеть с помощью Virtual PC. Вы можете сетевые вещи, чтобы ваши гостевые машины могли видеть только друг друга, а не хост-компьютер, или вы можете сетевые вещи, чтобы ваши гостевые машины не могли видеть друг друга, но могли видеть хост-компьютер, или вы можете сетевые вещи, чтобы ваши гостевые машины могут видеть друг друга и хост-машину и внешнюю сеть и так далее. Хороший обзор различных сетевых параметров Virtual PC можно найти в KB 833134 на TechNet, и я советую вам поиграть с этими различными сценариями и ознакомиться с ними.
- В связи с предыдущим пунктом вы должны помнить одну вещь: ваши виртуальные машины так же подвержены вирусам, червям и хакерским атакам, как и ваши реальные машины. Поэтому, если ваши гостевые ОС доступны через вашу физическую сеть (и, следовательно, из Интернета), вам необходимо убедиться, что ваши гостевые ОС полностью исправлены, включены их брандмауэры, установлено антивирусное программное обеспечение и т. д. В противном случае виртуальная машина может быть заражена, а затем заразить всю вашу производственную сеть, да!
- Если вы собираетесь часто использовать виртуализацию для целей тестирования или разработки, хорошей идеей будет создание библиотеки подготовленных системным путем образов для различных платформ ОС. Хороший ресурс о том, как создавать виртуальные машины с помощью sysprep, можно найти здесь, в блоге Меган Дэвис. После того как вы подготовили ОС с помощью системной подготовки, вы можете использовать разностные диски для создания нескольких разных виртуальных машин из одного и того же базового образа. И, конечно же, широко используйте диски отмены, чтобы вам не пришлось заново создавать виртуальные машины, которые вы испортили во время тестирования.
Когда вместо этого вам понадобится виртуальный сервер
К сожалению, для определенных сценариев тестирования Virtual PC недостаточно. Например, если вы хотите протестировать кластеризацию серверов Windows Server 2003, вам нужно будет использовать Virtual Server вместо Virtual PC. Это связано с тем, что Virtual Server поддерживает виртуальные диски SCSI (Virtual PC этого не поддерживает), а для кластеризации серверов требуется общий диск SCSI (общая среда IDE не поддерживается). Интересно, что я где-то читал, что кому-то удалось заставить кластеризацию серверов работать под Virtual PC, создав общий диск iSCSI, и если кто-нибудь отследит эту ссылку, пожалуйста, напишите мне, так как я ее потерял, спасибо!
Также обратите внимание, что Virtual PC не поддерживает симметричную многопроцессорную обработку (SMP), поэтому нет смысла использовать SMP-машину с Virtual PC в качестве тестового блока. И хотя Virtual Server работает на машинах SMP, каждая виртуальная машина в Virtual Server может одновременно видеть только один ЦП. К сожалению, это означает, что вы не можете использовать виртуальные машины для проверки таких вещей, как сходство процессоров в IIS6, даже если вы используете Virtual Server вместо Virtual PC.
Кроме того, если вы хотите использовать виртуализацию для тестирования исправлений перед их установкой в рабочих сетях, вы можете использовать набор инструментов для миграции виртуальных серверов (VSMT) от Microsoft, чтобы перенести физическую машину на виртуальную. Таким образом, VSMT — отличный инструмент для зеркалирования вашей производственной сети в виртуальную сеть, но, к сожалению, он работает только с Virtual Server, а не с Virtual PC.
Вывод
Как видно из вышеизложенного, Virtual PC — действительно отличный инструмент для тестирования, хотя для некоторых сценариев Virtual Server может быть даже лучшим выбором. Я оставлю вам несколько ссылок на некоторые полезные ресурсы по Virtual PC и Virtual Server, где вы можете найти дополнительные советы, рекомендации и предложения о том, как максимально использовать эти платформы виртуализации:
- «Часто задаваемые вопросы по Virtual PC 2004» Роберта Мойра — отличный источник советов и процедур.
- The Soul of a Virtual Machine, блог Меган Дэвис, технического писателя Microsoft, которая часто публикует в блогах последние новости о технологиях виртуализации Microsoft, а также несколько полезных советов (например, как sysprep).
- Virtual PC Guy's WebLog, блог Бена Армстронга, руководителя программы в команде виртуальных машин в Microsoft, который любит играть в старые компьютерные игры или, по крайней мере, запускать их под Virtual PC!
Нужна помощь?
Если у вас есть вопросы или проблемы с запуском Virtual PC или Virtual Server, я предлагаю вам опубликовать свои вопросы в группах новостей microsoft.public.virtualpc или microsoft.public.virtualserver. Причина в том, что эти группы новостей посещают самые ценные профессионалы Microsoft (MVP), которые много знают об этих продуктах и стремятся помочь людям с их проблемами. Вы можете получить доступ к этим группам новостей двумя способами:
- Используйте программу чтения новостей NNTS, например Outlook Express, и укажите адрес nntp://msnews.microsoft.com.
- Используйте веб-программу чтения новостей, доступ к которой можно получить через веб-сайт Microsoft Technical Communities (вы найдете группу новостей Virtual PC здесь и группу новостей Virtual Server здесь).
Сноска добавлена позже
В этой статье я сказал: «Для некоторых сценариев тестирования Virtual PC, к сожалению, недостаточно. Например, если вы хотите протестировать кластеризацию серверов Windows Server 2003, вам нужно будет использовать Virtual Server вместо Virtual PC. Это связано с тем, что Virtual Server поддерживает виртуальные диски SCSI (Virtual PC этого не поддерживает), а для кластеризации серверов требуется общий диск SCSI (общая среда IDE не поддерживается). Интересно, что я где-то читал, что кому-то удалось заставить кластер серверов работать под Virtual PC, создав общий диск iSCSI, и если кто-нибудь отследит эту ссылку, пожалуйста, напишите мне, так как я ее потерял, спасибо!»
Хорошо, полезный читатель WindowsNetworking.com по имени Роберт Морено нашел ссылку на то, как это сделать, смотрите здесь. Спасибо Роберт!!