Перейти к основному содержанию

vCenter — клонирование виртуальной машины из снапшота

VMware vSphere 8

Появилась задачка, которую я хотел выполнить за 5 минут, но пришлось повозиться. Поручили сделать клон виртуальной машины из снапшота. Нужно было посмотреть содержимое файлика на виртуалке в момент снапшота.

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

Недолго думая я сделал клон виртуальной машины, с надеждой на то, что запущу клон и откачусь на нужный снапшот. Надежда не оправдалась. Операция клонирования (Clone) для ESXi/vCenter всегда создает новую, полностью независимую копию виртуальной машины. Чтобы получить эту независимость, система в обязательном порядке объединяет (консолидирует) все диски и файлы снапшотов в один целостный файл. В результате клонированная виртуальная машина получает диски в актуальном состоянии, но без истории снапшотов.

Этот процесс одинаков для горячего (с включенной ВМ) и холодного (с выключенной ВМ) клонирования.

И что теперь делать?

Есть несколько вариантов.

1. Ручное копирование всех файлов ВМ в ESXi

Выключаем исходную виртуальную машину. Через Data Store Browser  копируем все файлы из папки виртуальной машины в новую, заранее созданную папку на том же или другом хранилище. Регистрируем новую виртуальную машину. При первом включении скопированной ВМ система спросит, была ли она перемещена или скопирована. Выберите "I Copied It".

Данный способ требует выключения исходной виртуальной машины.

2. Создание клона из снапшота в VMware Workstation / Fusion

На десктопных продуктах VMware (Workstation, Fusion) есть встроенная функция, которой нет в ESXi и vCenter. Вы можете создать новый клон непосредственно из определенного снапшота в дереве, причем у вас есть выбор:

  • Linked Clone (связанный клон): Экономит место, так как использует родительский диск, но зависит от исходной ВМ. Создается очень быстро.
  • Full Clone (полный клон): Полностью независимая копия, но занимает столько же места, сколько и исходник.

Даже в этом случае клонированная машина не получит все снапшоты, а будет создана на основе конкретного выбранного состояния и не унаследует историю.

Из минусов то, что в ESXi и vCenter этого функционала нет. Всю историю снапшотов не получим.

3. Использовать консоль

В ESXi через консоль можно создать клон диска из определенного снапшота, но важно понимать, что это не полноценное клонирование виртуальной машины вместе со снапшотами. Это создание нового, независимого диска, на котором будет зафиксировано состояние исходной ВМ на момент выбранного снапшота.

vmkfstools -i /vmfs/volumes/Хранилище/Папка_ВМ/VM_name-000001.vmdk /vmfs/volumes/Хранилище/Новая_Папка/new_disk.vmdk -d thin
  • vmkfstools — утилита командной строки ESXi для работы с виртуальными дисками (VMDK).
  • -i — режим клонирования. Указывает, что следующий аргумент — это источник (исходный диск).
  • /vmfs/volumes/Хранилище/Папка_ВМ/VM_name-000001.vmdk — исходный диск. Это снапшот (моментальный снимок) виртуальной машины, так как в имени есть -000001.
  • /vmfs/volumes/Хранилище/Новая_Папка/new_disk.vmdk — целевой диск (путь и имя нового файла).
  • -d thin — флаг формата. Указывает, что новый диск должен быть тонким (Thin Provisioned). Такой диск занимает на хранилище столько места, сколько реально записано данных, а не весь зарезервированный объем.

Принцип такой:

  1. Клонируем виртуальную машину
  2. Удаляем диски у клона
  3. Клонируем через консоль диск из снапшота
  4. Подстанавливаем склонированный диск клону виртуальной машины

Из минусов: всю историю снапшотов не получим, работаем вручную. Однако, виртуальную машину выключать не потребуется.

Теги

 

Похожие материалы

VMware PCI Passthrough — проброс USB с гипервизора на виртуальную машину

Задача — пробросить USB порт гипервизора на виртуальную машину. Имеем сервер HP Proliant DL360 Gen9 в качестве гипервизора. Первая неявная проблема: у этого сервера один USB контроллер, если мы его пробросим на виртуальную машину, то не сможем подключить к серверу клавиатуру с мышкой. С точки зрения системного администрирования и эксплуатации такой подход неприемлем.