
Кажется, в наборе инструментов экспорта/импорта виртуальных машин Hyper-V есть вопиющая дыра. Возможно, я ошибаюсь с этой оценкой, но я так не думаю.
У меня есть ВМ, которую я восстановил из резервной копии после переустановки ОС хоста. Местоположение ВМ (и ее VHDX) находится за пределами значений по умолчанию хоста ( C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines
и D:\Virtual Hard Disks
). Я хочу переместить ее в эти расположения, но поскольку VHDX довольно большие (+10 ТБ), стандартный импорт обещает как минимум двенадцатичасовое задание копирования. VHDX находятся на том же диске, хотя и в другой папке, как по умолчанию, поэтому выключение ВМ и их перемещение будет тривиальной задачей.
Я попытался скопировать файлы конфигурации в папку по умолчанию и выполнить регистрацию на месте, но столкнулся с ошибкой:
Излишне говорить, что это не очень полезно.
Полагаю, я мог бы вручную создать новую виртуальную машину и указать на VHDX-файлы, но я долго и кропотливо создавал ее конфигурацию и не хотел бы рисковать, случайно пропустив какую-либо настройку.
Как мне поместить эту виртуальную машину в местоположение по умолчанию, не прибегая к трудоемкой задаче копирования больших VHDX-файлов?
решение1
Основной файл конфигурации виртуальной машины (.vmcx) содержит указатели на все остальные файлы, включая виртуальные жесткие диски; таким образом, регистрация виртуальной машины на месте требует, чтобы все файлы находились в том же месте, где они были изначально. Единственный способ изменить пути — импортировать виртуальную машину, либо восстановив ее, либо скопировав.
Если виртуальные жесткие диски необходимо просто перемещать между разными путями в пределах одного тома, можно воспользоваться этим обходным решением, чтобы избежать ненужного копирования файлов:
- Зарегистрируйте виртуальную машину там, где она находится.
- Удалите виртуальные жесткие диски из виртуальной машины (при этом будет удалена только конфигурация, сами файлы VHDX не будут затронуты).
- Переместите виртуальную машину в нужное место с помощью инструментов управления Hyper-V; это должно быть быстро, поскольку перемещать диски не нужно.
- Вручную переместите виртуальные жесткие диски в нужное место; это также должно быть быстро, поскольку они находятся на одном томе.
- Повторно подключите виртуальные жесткие диски к виртуальной машине.
решение2
Регистрация виртуальной машины на месте, которая не находится в расположении хоста по умолчанию, и желание, чтобы она находилась в расположении хоста по умолчанию, является противоречием в терминах. Регистрация на месте означает, что вы хотите зарегистрировать и запустить виртуальную машину в ее текущем расположении. Я не считаю это вопиющей дырой. Возможные результаты ясны из документации Microsoft.
Если вы хотите зарегистрировать его в папке хоста по умолчанию, то используйте один из последних двух вариантов, перечисленных ниже.
Зарегистрироваться на месте– Этот тип предполагает, что файлы экспорта находятся в месте, где вы будете хранить и запускать виртуальную машину. Импортированная виртуальная машина имеет тот же идентификатор, что и на момент экспорта. Из-за этого, если виртуальная машина уже зарегистрирована в Hyper-V, ее необходимо удалить, прежде чем импорт будет выполнен. После завершения импорта файлы экспорта становятся файлами состояния выполнения и не могут быть удалены.
Восстановите виртуальную машину– Восстановите виртуальную машину в выбранном вами расположении или используйте расположение по умолчанию в Hyper-V. Этот тип импорта создает копию экспортированных файлов и перемещает их в выбранное расположение. При импорте виртуальная машина имеет тот же идентификатор, что и во время экспорта. Из-за этого, если виртуальная машина уже запущена в Hyper-V, ее необходимо удалить до завершения импорта. После завершения импорта экспортированные файлы остаются нетронутыми и могут быть удалены или импортированы снова.
Скопируйте виртуальную машину– Это похоже на тип восстановления, в котором вы выбираете местоположение для файлов. Разница в том, что импортированная виртуальная машина имеет новый уникальный идентификатор, что означает, что вы можете импортировать виртуальную машину на один и тот же хост несколько раз.
Как мне поместить эту виртуальную машину в местоположение по умолчанию, не прибегая к трудоемкой задаче копирования больших VHDX-файлов?
В конце дня, независимо от того, как вы это сделаете, если файлы виртуальной машины не находятся в расположении по умолчанию на хосте, то их нужно скопировать или переместить в расположение по умолчанию на хосте. Файлы должны физически находиться в расположении по умолчанию на хосте, чтобы фактически находиться в расположении по умолчанию на хосте.