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

Могу ли я преобразовать быстрое клонирование в полную копию?

Я использую XenCenter для доступа к XenServer с несколькими виртуальными машинами, которые я использую для баз данных разработчиков. Периодически я создаю новые виртуальные машины со свежим пакетом очищенных данных в реальном времени, а затем заменяю их старыми виртуальными машинами.

Обычно в мастере создания виртуальной машины для хранилища я отключаю параметр «Использовать быстрое клонирование диска на уровне хранилища», чтобы создать полную копию виртуальных дисков, используемых в каждой виртуальной машине. Однако на этот раз я оставил этот вариант отмеченным. Как и ожидалось, новая виртуальная машина запустилась практически сразу.

Раньше я думал, что быстрый клон будет связываться с оригиналом только временно, в то время как он делал полную копию в фоновом режиме. Судя по некоторым материалам, которые я прочитал сегодня, похоже, что это не так; быстрый клон - это в значительной степени просто снимок оригинала плюс набор изменений, и он останется таким навсегда. (Если я ошибаюсь и быстрый клон сам по себе становится полной копией в фоновом режиме, мой вопрос не имеет значения.)

Как в XenCenter преобразовать быстрый клонированный виртуальный диск в полную копию?

Я не уверен, что это лучший способ решить проблему, но вот как я это сделал.

Экспортируйте виртуальную машину, клонированную вами, и удалите ее. Это разрывает цепочку между клоном / родителем, клон превратится в полную копию.

Импортируйте удаленную виртуальную машину.

Да, ты можешь. Вам нужно использовать «xe vm-copy».

xe help имя команды vm-copy: vm-copy reqd params: new-name-label необязательные параметры: new-name-description, sr-uuid, description: копировать существующую виртуальную машину, но без использования операции быстрого клонирования диска на уровне хранилища ( даже если это доступно). Образы дисков скопированной виртуальной машины гарантированно являются «полными образами», то есть не являются частью цепочки CoW. Самый простой способ выбрать виртуальную машину, на которой будет выполняться операция, - это указать аргумент vm =. ВМ также можно указать, отфильтровав полный список виртуальных машин по значениям полей. Например, указав «power-state = halted», будут выбраны все виртуальные машины, чье поле power-state равно «halted». Если совпадают несколько виртуальных машин, для выполнения операции необходимо указать параметр --multiple. Полный список полей, которые могут быть сопоставлены, можно получить с помощью команды 'xe vm-list params = all'. Если параметры для выбора ВМ не указаны, операция будет выполнена на всех ВМ.