Настройка производительности виртуального ПК
Microsoft Virtual PC 2004 (VPC) — это программный инструмент виртуализации, позволяющий запускать несколько гостевых операционных систем на виртуальных машинах на одном компьютере под управлением Windows XP Professional или Windows 2000 Professional в качестве основной операционной системы. Рики Магалхас рассказал об установке Virtual PC в двух предыдущих статьях на сайте WindowsNetworking.com, которые можно найти здесь и здесь. Моя статья основана на прекрасном введении Рики в эту тему и дает вам семь советов о том, как добиться максимальной производительности от настройки VPC.
1. Запустите хост-ОС на соответствующем оборудовании. Минимальные требования к оборудованию для VPC перечислены здесь, но вы должны попытаться превзойти эти требования с большим запасом для лучшей производительности, то есть быстрый процессор, много оперативной памяти и хорошая подсистема жесткого диска. Моя собственная тестовая машина VPC представляет собой аппаратное обеспечение серверного уровня, P4 с тактовой частотой 3,2 ГГц, 2 ГБ ОЗУ и аппаратный RAID. Первоначально я думал об использовании двухпроцессорной машины для тестирования, но, к сожалению, VPC будет использовать только один ЦП на машине SMP, хотя старший брат VPC Microsoft Virtual Server 2005 может использовать несколько процессоров (см. здесь сравнение различных функций ВПК и ВС). Единственным препятствием для запуска и запуска было то, что драйверы RAID для моей машины не были совместимы с XP (оборудование сертифицировано для Windows Server 2003, но не для Windows XP), но мне удалось получить драйвер для более новой версии моего компьютера. RAID-контроллер от производителя, который позволяет XP распознавать систему дисков SATA во время установки.
2. Храните VHD на отдельном диске. Образы дисков VPC (файлы.vhd) следует хранить на диске, отдельном от операционной системы хоста, чтобы обеспечить максимальную производительность. И опять же, аппаратный RAID может еще больше улучшить это. У меня есть три диска SATA по 80 ГБ в моей тестовой системе с моей хост-ОС XP на первом диске, а два других диска настроены как RAID 0 (расслоение диска) для максимальной производительности. Я также разделяю свой первый диск, чтобы я мог мультизагрузить свою коробку для других платформ, которые я тестирую и которые могут не так хорошо работать под Virtual PC.
3. Используйте хост-ОС исключительно для запуска VPC. Любые программы или службы, работающие в ОС вашего хоста, будут истощать циклы ЦП ваших виртуальных машин, поэтому не используйте ОС хоста ни для чего, кроме предоставления платформы для запуска ваших виртуальных машин. Отключите любые службы в ОС вашего хоста, такие как служба индексирования, которые могут сильно нагружать процессор в своей работе. Не запускать ничего лишнего на хост-ОС особенно важно, когда вы устанавливаете гостевую ОС для создания новой виртуальной машины. Это связано с тем, что процесс установки гостевых ОС обычно выполняется медленнее на виртуальной машине, чем на физической машине с таким же оборудованием (такая же оперативная память, диск, процессор). Это также означает, что при установке новой гостевой ОС вы должны отключить все другие виртуальные машины. Я использую свой собственный VPC-бокс исключительно для тестирования и больше ни для чего, и это выгодно с точки зрения удобства использования.
4. Примените последние пакеты обновлений. Это означает пакеты обновлений как для вашей хост-ОС, так и для VPC. Когда Microsoft впервые выпустила VPC (после того, как она приобрела продукт у Connectrix), при его работе возникли серьезные проблемы с производительностью. Вскоре Microsoft выпустила надстройку Virtual Machine Additions, которая решила многие из этих проблем с производительностью, а Service Pack 1 для Virtual PC включает обновленную версию VM Additions, которая еще больше повышает производительность. Поэтому убедитесь, что на хост-ОС установлена XP SP2, а на Virtual PC — VPC SP1. И если у вас есть RTM VPC, работающий на XP SP2, вам действительно нужно установить VPC SP1, так как без него производительность плохая.
Обратите внимание: если вы ранее устанавливали дополнения для виртуальных машин в гостевых ОС до применения VPC SP1, вам необходимо обязательно обновить дополнения для виртуальных машин на своих виртуальных машинах, чтобы реализовать доступные преимущества. Чтобы проверить, установлены ли на конкретной гостевой ОС дополнения к виртуальной машине, запустите виртуальную машину и откройте панель управления внутри виртуальной машины. Затем откройте «Установка и удаление программ», и «Дополнения виртуальной машины» должны отображаться в разделе «Изменить или удалить программы». Чтобы установить или обновить дополнения к виртуальной машине на виртуальной машине, созданной в VPC RTM, запустите виртуальную машину и выберите «Действие | Установите или обновите дополнения к виртуальной машине, затем нажмите «Продолжить» и следуйте инструкциям.
5. Регулярно проводите дефрагментацию томов жесткого диска. Вы должны дефрагментировать как физический диск, на котором расположена ваша хост-ОС, так и виртуальные диски внутри виртуальной машины для каждой гостевой ОС, работающей на вашем компьютере. Я также дефрагментирую физический том, на котором храню свои VHD, поскольку обнаружил, что если этот том становится фрагментированным, для запуска виртуальных машин требуется больше времени, и они, вероятно, также работают медленнее. Если вам не хватает места на диске, где хранятся ваши виртуальные жесткие диски, вы можете сжать этот диск, чтобы получить больше места. Из обсуждений в группах новостей выяснилось, что хранение VHD на сжатом диске обычно не оказывает негативного влияния на производительность VPC, поэтому сжатие NTFS тома, на котором вы храните свои VHD, — это еще один вариант, который следует учитывать при необходимости.
6. Правильно распределите ресурсы VPC, настроив параметры производительности Virtual PC. Выбрав Файл | Параметры можно открыть экран параметров виртуального ПК и настроить параметры производительности VPC (см. рис. 1). Вы можете использовать эти параметры для надлежащего распределения ресурсов ЦП, когда на вашем компьютере работает несколько ВМ, а также для указания того, будет ли ВМ с приоритетным фокусом отдавать предпочтение циклам ЦП или виртуальные машины в фоновом режиме должны иметь возможность использовать процессор. в той мере, в какой они в этом нуждаются. Например, если вы используете гостевые ОС, в основном серверы Windows, вы, вероятно, захотите предоставить им равное время ЦП и позволить им работать на максимальной скорости в фоновом режиме, чтобы репликация контроллера домена и другие действия, связанные с сервером, могли работать хорошо.
Рисунок 1: Настройка параметров производительности Virtual PC
Еще одна проблема конфигурации заключается в том, сколько оперативной памяти используется каждой виртуальной машиной, работающей на вашей хост-ОС, и сколько оперативной памяти остается для использования самой хост-ОС. Microsoft рекомендует не использовать более половины оперативной памяти для всех запущенных виртуальных машин, чтобы у вашей хост-ОС по-прежнему было достаточно оперативной памяти. Это может быть чрезмерным на машине с 2 ГБ или более ОЗУ, поскольку трудно понять, почему XP требуется целый гигабайт ОЗУ только для запуска VPC, когда у вас есть две работающие виртуальные машины, каждая из которых использует 512 МБ. Тем не менее, следите за тем, сколько ОЗУ доступно для ОС вашего хоста, когда вы запускаете несколько ВМ в сценарии виртуальной тестовой сети, и, если производительность кажется низкой, попробуйте немного уменьшить выделение ОЗУ для одной или нескольких ваших ВМ и посмотреть, что произойдет. Однако не устанавливайте низкий уровень оперативной памяти для ваших виртуальных машин, поскольку, если вашим гостевым ОС не хватает оперативной памяти для нормальной работы, активность подкачки увеличится, а это означает увеличение активности чтения/записи на жесткий диск, на котором хранятся ваши виртуальные жесткие диски.. Виртуальным машинам требуется достаточное количество оперативной памяти, иначе производительность жесткого диска быстро станет узким местом в производительности вашей виртуальной машины.
7. Рассмотрите возможность использования виртуальных жестких дисков фиксированного размера вместо динамических. VHD по умолчанию, созданный VPC, представляет собой динамический виртуальный диск, размер которого может увеличиваться, когда ему требуется больше места, например, когда вы устанавливаете дополнительные приложения в гостевой ОС. Microsoft предполагает, что использование виртуальных жестких дисков фиксированного размера может обеспечить значительный прирост производительности по сравнению с динамическими, но недостатком этого является то, что если вы создаете фиксированный виртуальный жесткий диск небольшого размера, вы не сможете изменить его размер позже.
Вывод
Microsoft Virtual PC 2004 — отличный инструмент для тестирования, и я планирую более подробно рассмотреть эту тему в своей следующей статье на WindowsNetworking.com. Но чтобы получить максимальную отдачу от использования VPC, вам необходимо установить его на подходящее оборудование, а также правильно настроить и поддерживать как вашу хост-ОС, так и ваши виртуальные машины.
Я оставлю вам пару последних советов, которые я нашел в блоге Бена Армстронга, руководителя программы в группе виртуальных машин в Microsoft:
- Если вы запускаете Virtual PC и Virtual Server на одном компьютере одновременно, VPC может извлечь выгоду из некоторых улучшений виртуальных машин, реализованных при установке бета-версии VS2005 SP1 из-за обновлений общих компонентов между этими платформами. Зачем вам устанавливать бета-версию SP на свой VPC-бокс? Ну, вы, скорее всего, используете его в тестовых целях, не так ли?
- Если вы удаленно подключаетесь к своему тестовому блоку VPC с другого компьютера с помощью подключения к удаленному рабочему столу, вы можете повысить производительность VPC через RDC с помощью некоторых настроек, которые описывает Бен.
- Если вы планируете запускать старые приложения MS-DOS в окне VPC (чтобы эти устаревшие приложения продолжали работать для вашего бизнеса!), то вот несколько советов, как это сделать.
Виртуальный ПК — это круто, не так ли?