Skip to main content

Задача: Как скопировать файл с хоста Hyper-V в виртуалку?

Доброго времени суток!

Что делать, если у вас есть задача скопировать некоторое количество фалов в виртуальную машину Hyper-V не используя сеть.
Можно, конечно, подключить vhd/vhdx файл как диск в хостовую систему и скопировать все на него. Но что делать, если скажем, на вашей виртуалке стоит Ubuntu и там другая файловая система?
Или данную ВМ нельзя переводить в оффлайн для копирования? — Ответ есть!

Дело в том, что в роли Hyper-V, которая появилась в Windows Server 2012 R2 и Windows 8.1 есть возможность прямого копирования файлов с хоста Hyper-V в виртуальную машину без использования сетевых интерфейсов.
Этот функционал реализуется с помощью новой службы в гостевой ОС под названием Гостевые службы (Guest Services), входящей в состав интеграционных компонентов Hyper-V (Integration Services).
Итак, чтобы воспользоваться возможностью прямого копирования файлов в виртуальную машину с хостовой ОС Hyper-V, нужно в ВМ установить последнюю версию компонентов интеграции, и активировать Гостевую службу (Guest Services).
Гостевая Служба (Guest Services) позволяет осуществить копирование файлов между компьютером с ролью Hyper-V и виртуальной машиной, запущенной на нем без использования сетевых компонентов. Процесс копирования осуществляется через высокоскоростную внутреннюю шину (Virtual Machine Bus), напрямую связывающую гипервизор и виртуальную машину. Благодаря этому можно скопировать внутрь виртуальной машины любой файл, причем вообще неважно в какой сети  находится ВМ, она даже может быть изолирована от сети или не подключена к виртуальному коммутатору.

Давайте разберемся, как это осуществить с практической точки зрения:

Подробнее

Про совместимость экспорта-импорта виртуальных машин между версиями Hyper-V Server

Microsoft Hyper-V logoСегодня я  хочу затронуть тему Windows Server, а именно роль Hyper-V. Дело в том, что Server 2008 и Server 2008 R2 при экспорте виртуальной машины создаёт особый тип файлов *.exp-файлы с настройками виртуальных машин. В Windows Server 2012 ввели новый механизм, который просто копирует конфигурацию виртуальной машины без создания *.exp-файлов. Но и старый механизм тоже остался. В Server 2012 R2 и Win 8.1 старого механизма не осталось — только экспорт копированием конфигурации.

 

В результате возникают интересные вопросы совместимости экспортированных машин. Понятно, что результат экспорта нельзя просто так перенести между 2008 и 2012 R2.

По ссылке — обходные пути решения проблемы от Microsoft.

А вообще, очень интересно теперь ведет себя Windows Server 2012 (не R2). На первый взгляд он понимает оба формата, но только при импорте. При экспорте происходит настоящий сатанизм. Дело в том, что все зависит от консоли, через которую идет экспорт. Если вы подключились к серверу 2012 и запускаете экспорт из консоли, стоящей на Windows Server 2008, 2008 R2 или Windows 7, то он экспортирует в старом формате, который не понимает Windows Server 2012 R2. А если управляете сервером с него самого или другого сервера на 2012, 2012 R2, Win 8 или 8.1, то всё нормально, будет использован новый формат.

Таблица совместимости функций импорта/экспорта Microsoft Hyper-V Server
Таблица совместимости функций импорта/экспорта Microsoft Hyper-V Server.

Из личной практикимогу сказать, что при необходимости переноса виртуальных машин с Windows Server 2008 или 2008 R2 на Windows Server2012 R2, я прибегаю к методу простого копирования файлов виртуальной машины с 2008 на 2012R2 и затем уже делаю импорт.