- Windows Server 2016 и службы интеграции Hyper-V
- Что нужно учитывать в Windows Server 2016?
- Как установить IS вручную?
- Интеграция GNU/Linux и Microsoft Windows
- Шаг 1. Установка Oracle VirtualBox и Microsoft Windows XP
- Шаг 2. Сглаживание шрифтов
- Шаг 3. Добавляем немного ресурсов
- Шаг 4. Установка «Дополнений гостевой ОС»
- Шаг 5. «Режим интеграции дисплея»
- Шаг 6. Общий буфер обмена
- Шаг 7. Общие папки
- Заключение
Windows Server 2016 и службы интеграции Hyper-V
Службы интеграции Hyper-V отвечают за эффективное взаимодействие виртуальных машин и гипервизора посредством установки дополнительных сервисов в гостевую ОС. Для понимания степени важности, предлагаем кратко рассмотреть каждую из них, а также ключевые изменения в Windows Server 2016.
По умолчанию, не все службы включены. Guest Services, как правило, включается по мере необходимости. Остальные отвечают за более важную функциональность.
Operating System Shutdown – включает возможность завершения работы ВМ (аналогия привычного shutdown из гостевой ОС), используя Hyper-V Manager или PowerShell/WMI.
Time Synchronization – отвечает за предоставление синхронизации времени между хостом и виртуальной машины.
Data Exchange или KVP (key-value pairs) – предоставляет функционал обмена значениями формата key + value типа strings, расположенных в ветке реестра HKLM\Software\Microsoft\Virtual Machine\ или в файлах kvp_pool_x (для ОС Linux) через VMbus. На стороне хоста WMI-запросами занимается VMMS.exe (функции AddKvpItems, ModifyKvpItems и RemoveKvpItems). В свою очередь, на ВМ должна быть запущена служба Hyper-V Data Exchange Service.
HKLM\Software\Microsoft\Virtual Machine\Auto содержит информацию о ВМ, которая генерируется во время первого запуска службы Hyper-V Data Exchange Service.
HKLM\Software\Microsoft\Virtual Machine\External содержит данные, отправленные пользователем со стороны хоста. По умолчанию данный раздел пуст и не содержит никаких объектов KVP.
HKLM\Software\Microsoft\Virtual Machine\Guest презентует данные, которые необходимо отправить узлу виртуализации из данной ВМ. К примеру, сведения о AVMA-активации или кастомные параметры, которые вашему приложению необходимо передать на уровень выше (да, в целом, мы можем добавлять собственные пары key + value и работать с ними через KVP и WMI без предоставления credentials. Новая аналогия – PowerShell Direct, но со своими плюсами и минусами).
HKLM\Software\Microsoft\Virtual Machine\Guest\Parameters содержит информацию об узле виртуализации (наименование, FQDN, VMID и так далее). Запомните эту ветку – она далее нам пригодится.
Heartbeat отвечает за проверку состояния ВМ через hearbeats, выполняемые в определенный интервал, между ВМ и узлом.
Backup (volume snapshot) включает возможность использования задач резервного копирования ВМ на уровне хоста для обеспечения консистентности резервных копий.
Guest Services обеспечивают передачу файлов в ВМ через WMI или PowerShell (Copy-VMFile). По умолчанию, не включена. Более подробно можно почитать здесь.
Что нужно учитывать в Windows Server 2016?
Все помнят, что для установки служб интеграции приходилось монтировать ISO-образ (%systemroot%\system32\vmguest.iso) через опцию «Insert Integration Services Setup Disk» в консоли ВМ и запускать процесс установки внутри ВМ. Затем проверять версию IS время от времени для её актуализации (vmguest.iso, так же как и узел, тоже обновлялся через Windows Update). Данный процесс существенно поменялся в Windows Server 2016. Опции в консоли теперь нет, как и самого vmguest.iso. Теперь распространением IS на ВМ занимается сам Windows Update. Но есть особенности, которые мы рассмотрим ниже.
Автоматическая доставка IS через Windows Update доступна для новых ОС внутри ВМ (начиная с Windows Server 2012 R2/Windows 8.1 и новее). Дополнительных действий от вас не требуется.
Если гостевые ОС на базе Windows Server 2012/Windows 8 и старше, то требуется наличие рабочей службы Data Exchange Service (рассмотренная выше). DES предоставляет доступ к параметрам /values HostSystemOSMajor и HostSystemOSMinor, располагающимся в ветке HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters, для определения необходимости обновления IS на ВМ. Данные параметры должны присутствовать и иметь значения. В противном случае (к примеру, если DES не включен для ВМ или служба не выполняется), IS не будут предоставляться через WU.
TIP: мы можем вручную создать или изменить данные значения реестра для подачи «фальш»-сигнала, но данное действие официально не поддерживается.
Предположим, что в рамках ВМ выполняется Windows Server 2012 R2, а на хосте – Windows Server 2016. DES получает сведения о ВМ, сверяет значения между имеющимися на узле и полученные от ВМ и они оказываются различными, таким образом IS на ВМ не актуальны и их обновление будет выполнено через WU.
В случае с ОС на базе Linux, как правило, IS идут встроенными. В ряде случаев требуется пакет Linux Integration Services или FreeBSD Integration Services. Получить подробные сведения о требованиях к различным дистрибутивам и функциональности можно из статьи «Supported Linux and FreeBSD virtual machines for Hyper-V on Windows».
Если у Вас всё ещё есть виртуализированный Windows Server 2003, который уже не поддерживается, то, как минимум, рекомендуется устанавливать IS, используя vmguest.iso из Windows Server 2012 R2, к примеру. Надежность и производительность не гарантируется, но 2003-й год был уже 14 лет назад. Конечно, миграция на более новые версии ОС будет предпочтительна в данном случае.
Как установить IS вручную?
Если DES не выполняется или Windows Update недоступен из ВМ, то есть специальный KB для самостоятельной загрузки IS «Hyper-V integration components update for Windows virtual machines that are running on a Windows 10 or Windows Server 2016-based host» (доступная в KB версия IS: 6.3.9600.17903) + IS Update для устранения проблем с Windows Server Guest OSes (IS ver.6.3.9600.18080, применим и для Windows 7/8.1).
IS из KB доступен в виде cab-файла, который можно применить через PowerShell: Add-WindowsPackage -PackagePath
-Online. Если нужно применить обновление IS на выключенной ВМ (offline vm servicing), то рекомендуем обратиться к данному руководству.
Интеграция GNU/Linux и Microsoft Windows
Из недавно опубликованного топика Mac OS X глазами Windows-юзера я узнал о программе «Parallels Desktop», которая позволяет очень дружелюбным для пользователя образом запускать приложения другой операционной системы. И мне так понравилась эта идея, что я решил попробовать сделать тоже самое с VirtualBox. (как напоминают в комментариях, такая возможность есть и во многих других программах для виртуализации — например, VMWare)
Немного «погуглив», я узнал, что большая часть необходимых мне возможностей уже есть в этой замечательной виртуальной машине, поэтому для опытных пользователей VirtualBox’а этот топик может показаться немного капитанским.
Всем остальным предлагаю проследовать «под кат» ↓
Шаг 1. Установка Oracle VirtualBox и Microsoft Windows XP
Начнем с VirtualBox’а. Для начала настоятельно советую поискать его в репозиториях вашего дистрибутива GNU/Linux. Поскольку это свободное программное обеспечение, то вероятность встретить его там очень высока.
Если же VirtualBox’а там не оказалось, то скачайте его с официального сайта — www.virtualbox.org/wiki/Downloads.
После установки запустим его графическую оболочку и создадим новую виртуальную машину:
Должен открыться мастер по созданию новой виртуальной машины. Укажите тип ОС «Microsoft Windows XP» — это позволит VirtualBox’у автоматически проставить минимальные параметры для данной системы. Естественно, что потом мы сможем изменить их!
Далее вас спросят, хотите ли вы создать новый виртуальный диск или использовать уже существующий (тоже виртуальный) диск. Создаем новый. На вопрос о том, какой диск («фиксированный» или «динамический») создать, отвечаем сами.
- Для динамического диска вы задаете начальный размер, который потом может увеличиваться по мере необходимости. Только учтите, что уменьшаться он не может. Также есть мнение, что он немного медленнее, чем
- Фиксированный диск, для которого вы задаете размер, и который не может меняться. Уменьшить или увеличить его вам, скорее всего, не удастся. Я выбрал именно этот вариант, но логика мне подсказывает, что я поступил неправильно.
UPD: Как подсказываетVumik в комментариях, лучше до установки ОС в свойствах виртуальной машины указать несколько ядер.
Далее вставляем в свой компьютер диск с системой Microsoft Windows, запускаем виртуальную машину, «скармливаем» ей наш диск и перезагружаемся с него.
Установка выбранной мною Microsoft Windows XP происходит очень просто, не сложнее установки большинства GNU/Linux-дистрибутивов.
На определенном этапе установки вас спросят лицензионный ключ:
Он должен быть написан на коробке, из которой вы извлекли диск.
Если вы скачали iso-образ из сети Интернет, и у вас пока еще нет ключа, то оставьте это поле пустым. В таком случае компания Microsoft предлагает вам использовать систему 30 дней совершенно бесплатно. По истечении указанного срока вы должны будете купить Windows или удалить ее.
Шаг 2. Сглаживание шрифтов
К сожалению, лично я не могу продолжить настраивать Windows, пока не включено сглаживание шрифтов. В Windows за это отвечает технология «ClearType», которую сейчас нужно будет настроить.
Для этого выполняем следующие действия:
- В меню Пуск последовательно выбираем Панель управления, Оформление и темы, Экран.
- На вкладке Оформление нажимаем кнопку Эффекты.
- Устанавливаем флажок Применять следующий метод сглаживания экранных шрифтов и выбираем в списке ClearType.
Не забудьте нажать «ОК».
Подробнее о включении ClearType можно прочитать на официальном сайте Microsoft — support.microsoft.com/kb/306527/ru.
Шаг 3. Добавляем немного ресурсов
Шаг 4. Установка «Дополнений гостевой ОС»
Сейчас Windows наивно полагает, что она запущена на обычном PC. Ну или знает, что мы запустили ее в виртуальной машине, но из вежливости не подает виду.
Так или иначе, нам необходимо установить дополнительное ПО от компании Oracle, которое позволит нам начать интеграцию двух систем.
Установить его гораздо проще, чем вы думаете. Просто нажмите Host+D (обычно «Host»=«Ctrl») или нажмите в меню виртуальной машины «Устройства» → «Установка дополнений гостевой ОС».
Появится мастер установки, который поможет вам установить нужные программы:
Примечание: смотрите как клево «Винда» шрифты сглаживает 🙂
Теперь нам нужно перезагрузить Windows («Пуск» → «Выключение» → «Перезагрузка»).
Шаг 5. «Режим интеграции дисплея»
Начнем с интеграции дисплеев. Будем очень хитро накладывать экран виртуальной машины на экран нашей основной системы так, что одно окно можно будет «протащить» под другим. Для этого нужно нажать Host+D или «Вид» → «Режим интеграции дисплея».
VirtualBox при этом растянет свое окно на весь экран и уберет рабочий стол Windows. Должно получиться примерно следующее:
Также внизу вы можете обнаружить новую панель — «Панель задач Windows»:
Шаг 6. Общий буфер обмена
Когда вы установили «Дополнения гостевой ОС», то должна была заработать «фича» по объединению буфера обмена вашей и гостевой ОС (Windows). Если она не заработала сама, то проверьте, включена ли соответствующая настройка в свойствах виртуальной машины:
Теперь можно попробовать скопировать какой-нибудь текст или картинку в GNU/Linux и вставить ее в Windows. Или наоборот.
Шаг 7. Общие папки
Сейчас мы сделаем маленькую хитрость — подключим свою папку с документами к виртуальной машине как «общую папку» и укажем Windows, что это и есть наша папка с документами.
Таким образом, вы сможете, например, работать над изображением в PhotoShop’е и GIMP’е одновременно. Причем так, что GIMP будет запущен в GNU/Linux, а Adobe Photoshop в Windows.
Для этого нам нужно остановить виртуальную машину с Windows, зайти в ее свойства и указать свою папку с документами.
Теперь опять запускаем виртуальноую машину с Windows, открываем программу «Командная строка Windows» («Пуск» → «Все программы» → «Стандартные» → «Командная строка») и вводим следующую команду:
Должно будет появиться новое устройство («Диск») — «Документы на `vboxsvr` (X:)», которое будет содержать все ваши документы из GNU/Linux:
Теперь делаем клик правой кнопкой мыши на «Мои документы» и указываем новый путь назначения:
После нажатия «ОК» Windows предложит переместить все ваши документы в эту «новую» папку, соглашайтесь, если вы уже успели создать их 🙂
Заключение
Такими вот нехитрыми способами можно объединить работу в двух системах — GNU/Linux и Microsoft Windows. Можно также попытаться поставить еще какую-нибудь систему, например, Apple MacOS (только говорят, что это незаконно) . Только в таком случае нужно обладать довольно мощным компьютером и придумать как разместить панели и окна различных ОС (например, можно попробовать держать MacOS и Windows на разных виртуальных рабочих столах).