Назад | Перейти на главную страницу

Создание шаблона в Hyper-V и что с ним делать

Я использую Hyper-V без System Center и пытаюсь создать «шаблоны» для серверов Linux, которые затем можно будет повторно использовать в качестве базовой установки. Мы сделали это, создав машину, назовем ее «Template_CentOS7», мы запускаем установку, настраиваем то, что нам нужно, и т. Д. Затем я выключаю машину и копирую файл vhdx в наш каталог шаблонов. D:\Templates\Template_CentOS7.vhdx

Когда мне нужен новый экземпляр для машины Machine_XXX, Я делаю следующее:

  1. Скопируйте шаблон в новый каталог, т.е. D:\Hyper-V\Machine_XXX\Virtual Hard Disks\Template_CentOS.vhdx
  2. Переименовать файл Machine_XXX.vhdx
  3. Запустите диспетчер Hyper-V, чтобы создать новую машину через New-> Virtual Machine.
  4. Когда будет предложено создать новый диск, я указываю на новый файл.

Теперь вот вопрос: мы внесли некоторые изменения в базовый шаблон и запускаем контрольную точку после изменения. Теперь я выключил Template_CentOS7 машина, поэтому я могу скопировать файл vhdx в каталог наших шаблонов, но теперь есть несколько файлов, Template_CentOS7.vhdx, и куча файлов Template_CentOS7GUID.avhdx. Я не уверен, что мне делать дальше. Файл Template_CentOS7.vhdx имеет довольно старое время изменения, поэтому я не думаю, что он включает в себя внесенные мной изменения.

Что мне нужно сделать, чтобы использовать этот новый «шаблон»?

Ответ зависит от того, что вы подразумеваете под «использовать этот новый шаблон». Возможны две интерпретации:

  • Разверните новые виртуальные машины на основе изменений, которые я внес в шаблон.
  • Просмотрите изменения в шаблоне на уже развернутых старых виртуальных машинах.

Ответ на первый вопрос заключается в том, что вам необходимо объединить последний файл .avhdx с виртуальной машины, на которой вы применили изменения, в новый шаблон .vhdx. Я бы предложил для этого командлет PowerShell merge-vhd, используя параметр -DestinationPath для указания нового шаблона VHDX.

Ответ на второй вопрос - нельзя. Моментальные снимки виртуальных дисков не являются снимками файловой системы. Поскольку структуры файловой системы также находятся в моментальных снимках, любые изменения родительского виртуального жесткого диска представляют собой повреждение файловой системы.

Если вы хотите объединить снимки и сохранить дерево снимков, один из способов сделать это - экспортировать виртуальную машину, удалить поддерево снимка и затем импортировать экспортированную виртуальную машину как новую виртуальную машину. Теперь все снимки исходной виртуальной машины будут объединены с родительским VHD (X), а на экспортированной / импортированной виртуальной машине будут сохранены все снимки исходной виртуальной машины.