Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

P2V или как преобразовать физический сервер в виртуальный

Задача: превратить старый физический сервер с Debian11 в виртуальную машину на ESXi гипервизоре.
Вариант с конвертером (converter standalone / vCenter converter) у меня не удался ни разу, поэтому пошел другим путем.
В процессе понадобится виндовая машина со свободным местом на диске >= двухкратному размеру системного диска сервера.
При желании можно обойтись без нее.

  1. Подготовка.
    Останавливаем на сервере все задачи, изменяющие критичные данные (типа mysql).
    Убеждаемся что помним пароль рута, а если его не было — устанавливаем.
    Если кроме системного раздела на сервере были монтирующиеся дополнительные, но которые переносить не надо, желательно сразу отредактировать fstab — закоментить лишнее.
    Устанавливаем если ранее не было qemu: apt update && apt install qemu qemu-utils
  1. Копируем системный раздел в образ примерно так:
    dd if=/dev/sda of=/root/sda.img bs=8M conv=sync,noerror status=progress
  1. Конвертируем образ в vmdk:
    qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
  1. Вытаскиваем vmdk файл на виндовую машину. Устанавливаем VMware Workstation. Создаем в последнем новую ВМ с параметрами примерно как у сервера (проц, память), указываем что будет ubuntu18 x64, и что систему поставим позже (диск по дефолту 20Гб). Теперь, не запуская новую ВМ подменяем vmdk файл (тут есть вариант указать при создании «использовать имеющийся диск», но этот пункт есть не у всех версий VMware Workstation).
  1. Запускаем виртуальную машину. Тут могут посыпаться некоторые ошибки, может понадобиться пароль рута. У меня в частности наругалось на отсутствующие диски. Также может измениться UUID, тогда делаем blkid и прописываем в fstab верные.
  1. Гасим виртуальную машину и делаем экспорт в OVF.
  1. Подключаемся к гипервизору ESXi и загружаем в него OVF.
    Если возникнет ошибка типа «No supported hardware versions among» — нужно отредактировать ovf-файл, исправить в нем vmx-xx (где хх например 16) на поддерживаемую гипервизором версию, например 13 или 12.
 116   2022   linux