Использование Hyper-V в Windows 8Источник: msdn Мэтью Джон
Многим из вас (неважно, кто вы - разработчики программного обеспечения, ИТ-администраторы или просто заинтересованные пользователи) требуется запускать несколько операционных систем и, как правило, на множестве разных компьютеров. Не у всех из нас есть доступ к местам, в которых размещены все эти компьютеры, и поэтому виртуализация - это именно то решение, которое поможет сэкономить место и время. Создавая Windows 8, мы работали над тем, чтобы входившая в два последних выпуска Windows Server технология виртуализации компьютеров Hyper-V могла функционировать и в клиентских версиях ОС. В двух словах, Hyper-V позволяет одновременно запускать несколько 32-разрядных или 64-разрядных операционных систем x86 на одном компьютере. Вместо того чтобы работать непосредственно на компьютере, операционные системы запускаются внутри виртуальной машины (VM). Технология Hyper-V позволяет разработчикам без труда поддерживать несколько тестовых сред и предоставляет простой механизм для быстрого переключения между этими средами без дополнительных затрат на оборудование. Например, мы выпускаем предварительно настроенные виртуальные машины, содержащие старые версии Internet Explorer для поддержки веб-разработчиков. ИТ-администратор получает дополнительное преимущество контроля четности виртуальных машин и общие возможности управления через Hyper-V в Windows Server и клиентской версии Windows. Мы также знаем, что многие из вас используют виртуализацию, чтобы попробовать что-то новое без необходимости внесения рискованных изменений на активно используемом ПК. Введение в Hyper-VДля Hyper-V требуется 64-разрядная система с преобразованием адресов второго уровня (SLAT). Функция SLAT присутствует в текущем поколении 64-разрядных процессоров Intel и AMD. Также потребуется 64-разрядная версия Windows 8 и не менее 4 ГБ ОЗУ. Hyper-V поддерживает создание как 32-разрядных, так и 64-разрядных операционных систем в виртуальных машинах. Динамическая память Hyper-V позволяет выполнять и отменять распределение памяти, необходимой для виртуальной машины (пользователь задает минимум и максимум), в динамическом режиме и делить неиспользуемую память между виртуальными машинами. На компьютере с 4 ГБ ОЗУ можно запустить 3 или 4 виртуальных машины, но для 5 и более виртуальных машин потребуется больший объем ОЗУ. С другой стороны, можно создавать большие виртуальные машины с 32 процессорами и 512 ГБ ОЗУ. В Windows предусмотрены два механизма взаимодействия пользователя с виртуальными машинами: консоль виртуальной машины и подключение к удаленному рабочему столу. Консоль виртуальной машины (которую также называют VMConnect) - это консольное представление виртуальной машины. Она обеспечивает отдельное представление монитора виртуальной машины с разрешением до 1600 x 1200 в 32-разрядной цветопередаче. Эта консоль предоставляет пользователю возможность наблюдать за процессом загрузки виртуальной машины. Для более эффективного взаимодействия можно подключиться к виртуальной машине, используя подключение к удаленному рабочему столу (RDC). В этом случае виртуальная машина использует возможности, предоставляемые физическим ПК пользователя. Например, если используются несколько мониторов, виртуальная машина может отображать графическое изображение на всех этих мониторах. Подобным же образом, если на ПК имеется многоточечный сенсорный интерфейс, виртуальная машина может использовать этот интерфейс для обеспечения сенсорного взаимодействия. Виртуальная машина также предлагает полный набор мультимедийных возможностей, используя для этого динамики и микрофон физического компьютера. Кроме того, корневая ОС (то есть основная ОС Windows, которая управляет виртуальными машинами) может использовать свои папки и буфер обмена совместно с виртуальными машинами. И наконец, с помощью подключения к удаленному рабочему столу можно присоединить USB-устройство непосредственно к виртуальной машине. В целях хранения данных можно добавить несколько жестких дисков к контроллерам IDE или SCSI, доступным в виртуальной машине. При этом можно использовать виртуальные жесткие диски (VHD- или VHDX-файлы) или физические диски, передаваемые непосредственно в виртуальную машину. Виртуальные жесткие диски могут также находиться на удаленном файловом сервере, что облегчает обслуживание и совместное использование общего набора предварительно настроенных жестких дисков участниками рабочей группы. Реализованная в Hyper-V возможность динамического перемещения хранилища позволяет виртуальным машинам сохранять значительную степень независимости от основного хранилища. С помощью этой функции можно перемещать хранилище виртуальной машины с одного локального диска на другой, на USB-устройство хранения или удаленный файловый ресурс, не останавливая виртуальную машину. Я считаю, что эта функция очень полезна при быстрых развертываниях: когда мне срочно нужна виртуальная машина, я запускаю ее из библиотеки виртуальных машин, которая находится на файловом ресурсе, а затем переношу хранилище этой виртуальной машины на локальный диск моего компьютера. Другая замечательная функция Hyper-V - возможность делать моментальные снимки виртуальной машины, когда она запущена. Моментальные снимки сохраняют все данные о виртуальной машине, что позволяет вернуться к предыдущему моменту времени из ее "жизни". Это хорошее средство для решения сложных проблем. В то же время виртуальные машины с Hyper-V предлагают все преимущества управления, доступные в Windows. Центр обновления Windows предоставляет исправления для компонентов Hyper-V, поэтому вам не нужно настраивать дополнительные процессы обслуживания. Кроме того, при установке Hyper-V система Windows сохраняет все присущие ей возможности. Однако использование виртуализации имеет свои ограничения. Функции или приложения, которые зависят от особого оборудования, не будут работать в виртуальной машине должным образом. Например, Windows BitLocker и Measured Boot, для работы которых необходим доверенный платформенный модуль (TPM), могут неправильно функционировать в виртуальной машине. Кроме того, игры и приложения, для которых требуется обработка с помощью графических процессоров (без предоставления резерва программного обеспечения), также могут работать неправильно. Помимо сказанного, возможны проблемы в работе приложений, использующих таймеры с интервалом менее 10 мс, то есть чувствительных к задержкам высокоточных приложений, например приложений для микширования живой музыки, когда эти приложения выполняются в виртуальной машине. Корневая ОС также работает поверх уровня виртуализации Hyper-V, но отличается тем, что имеет прямой доступ ко всему оборудованию. Вот почему приложения с особыми требованиями к оборудованию продолжают без проблем работать в корневой ОС, но при выполнении в той же корневой ОС чувствительных к задержкам высокоточных приложений по-прежнему могут возникать неполадки. Напоминаю, что для работы всех операционных систем, используемых в виртуальных машинах, требуются лицензии. Далее приводится краткий обзор работы Hyper-V в Windows 8.
Поддержка возможностей связи в виртуальной машине через беспроводные сетевые картыКак вы уже видели в демонстрации, для создания коммутатора внешней сети достаточно просто выбрать физический сетевой адаптер (сетевую карту) в раскрывающемся списке и нажать "ОК". Этот метод отлично работал с Windows Server Hyper-V, но, чтобы добиться подобных результатов в Windows 8, нам пришлось решить совершенно новую задачу - научить его работать с беспроводными сетевыми картами. ПроблемаВиртуальный коммутатор в Hyper-V является "коммутатором второго уровня". Это означает, что он коммутирует (т. е. определяет маршрут для конкретных пакетов Ethernet) при помощи MAC-адреса, уникальным образом определяющего каждую (физическую и виртуальную) карту сетевого адаптера. MAC-адреса исходного и конечного компьютеров передаются в каждом пакете Ethernet, что позволяет коммутатору второго уровня определить, куда следует отправлять входящий пакет. Внешний виртуальный коммутатор подключен к внешней сети через физическую сетевую карту. Пакеты Ethernet от виртуальной машины, предназначенные для передачи во внешнюю сеть, отправляются через эту физическую сетевую карту. Это означает, что данная физическая сетевая карта должна иметь возможность передавать трафик от всех виртуальных машин, подключенных к этому виртуальному коммутатору. А это в свою очередь означает, что пакеты, передаваемые через эту сетевую карту, будут содержать несколько MAC-адресов (по одному для виртуальной сетевой карты каждой виртуальной машины). Эта возможность поддерживается проводными физическими сетевыми картами (посредством перевода сетевой карты в неизбирательный режим), но не поддерживается беспроводными сетевыми картами, поскольку канал беспроводной связи, устанавливаемый сетевой картой Wi-Fi, и его точка доступа разрешают передачу пакетов Ethernet только с MAC-адресом сетевой карты Wi-Fi. Другими словами, при текущей архитектуре виртуального коммутатора Hyper-V не может использовать сетевые карты Wi-Fi для внешнего коммутатора. Рисунок 1. Установка сетевого подключения между виртуальной машиной и внешним компьютером посредством проводного соединения РешениеЧтобы обойти данное ограничение, мы использовали решение Microsoft Bridging (мост), которое заключается в реализации прокси-сервера ARP (для IPv4) и прокси-сервера поиска соседей (для IPv6) для замены MAC-адреса виртуальной сетевой карты MAC-адресом адаптера Wi-Fi для исходящих пакетов. Мост поддерживает внутреннее сопоставление между IP-адресом виртуальной сетевой карты и ее MAC-адресом, обеспечивающее отправку пакетов, которые поступают из внешней сети, на соответствующие виртуальные сетевые карты. Hyper-V использует мост при создании виртуального коммутатора, поэтому при создании виртуального коммутатора с помощью адаптера Wi-Fi Hyper-V выполняет следующие действия:
В данной модели на виртуальном коммутаторе по-прежнему происходит коммутация Ethernet, а мост выполняет трансляцию MAC-адресов. Для конечного пользователя, создающего внешнюю сеть, рабочий процесс будет выглядеть одинаково независимо от того, какая сетевая карта выбрана - проводная или беспроводная.
В заключение скажу, что перенос Hyper-V из Windows Server в клиентскую версию Windows позволил нам получить жизнеспособную технологию виртуализации, способную удовлетворить требования в отношении масштабируемости, безопасности, надежности и производительности для большинства центров обработки данных. С технологией Hyper-V разработчики и ИТ-специалисты смогут создавать более продуктивные и экономичные среды для использования и тестирования на нескольких компьютерах. |