Перенос ОС Windows из "железа" в гипервизор KVM

  • Печать

Эта статья посвящен переносу Windows Server с реальной машины на виртуальную под управлением гипервизора KVM, приспичило уже....

Инструкций по переносу ОС с физического сервера в виртуальную среду много, не все проверены, многие не работают или непонятны, вот решил собрать в один рабочий и проверенный мануал. Материал предназначен для всех, поэтому отступим от  UNIX-way и будет всё в основном в графическом режиме.

Для начала поднимаем сервер KVM на CentOS 7, и если вас не забанили в Google, то ничего сложного, например вот.

Подключаем репозиторий и добавляем необходимые пакеты:

wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virt-v2v libguestfs-winsupport virtio-win -y

Для переноса сервера в виртуальную среду KVM, есть два варианта — при наличии физического доступа и отсутствии raid загрузить сервер с диска p2v от Red Hat и напрямую скопировать образ сервера в KVM или воспользоваться простенькой утилитой disk2vhd от Mark Russinovich (из пакета Sysinternals).

Благодаря утилите можно создать из реального физического диска виртуальный образ в формате VHD, поддерживается конвертация операционных систем Windows XP, не ниже SP2 и Windows Server, не ниже 2003 обеих разрядностей.
Лучше запускать Disk2vhd с другого тома, а не с того, который предполагается конвертировать — тогда процесс преобразования пойдет быстрее.

Перед переносом необходимо установить драйверы для виртуальной машины NetKVM — сетевой драйвер Virtio и Viostor — дисковый дрйвер Virtio через «Диспетчер устройств» > «Установить старое устройство». Иначе получите синий экран при загрузке перенесённой системы.

Полученный образ перенесите любым доступным способом на гипервизор и конвертируйте в приемлемый для KVM формат qcow2 командой:

qemu-img convert -O qcow2 Test.vhdx /vm/disk.qcow2

Создайте подходящую виртуальную машину и подключите диск…

virt manager 1

После установки всех драйверов, необходимо установить службу Balloon (balloon — драйвер устройства PCI standard RAM Controller), для этого скопируйте каталог с подходящими для версии Windows службой Balloon в нужное место, например в C:\Program Files\Balloon, откройте командную строку от имени администратора, передите в папку, выполните установку командой:

blnsvr.exe -i

После переноса, из-за смены «железа», Windows потребуется активация, так что придётся снова активировать систему, но это не беда, за то всё получилось.

В начале статьи упоминалось о некоторых ограничениях замечательного инструмента от Red Hat — диске p2v, к стати нет худа без добра, с установкой драйверов заморачиваться не нужно, интегрируются в процессе переноса, в этой части применим вундервафлю в деле.

Сначала скачиваем ISO по ссылке и загружаем с него сервер-донор, при этом ОС может быть как Windows, так и Linux. Вводим данные для сервера-реципиента и жмём кнопку [Test connection], если всё хорошо — жмём [Next], если нет, то проверяем введённые данные и сетевые настройки в [Configure network]:

virt p2v 1

Когда всё правильно, после нажатия [Next] перейдём к следующим настройкам:

virt p2v 2

Здесь самое интересное, то есть параметры будущей виртуальной машины.
В «Target properties» — название машины, количество процессоров и памяти.
В «Virt-v2v output options» — через как общаться с KVM , в какой пул загрузим диск и в каком формате.
В «Fixed hard disk» — что собственно будем конвертировать.
В какой пул на KVM будем грузить диск можно определиться командой:

virsh pool-list --all

Имя      Статус       Автозапуск
--------------------------------------
default не активен yes
vm       активен      yes 

Жмём [Start conversion], ждём…………
Сколько ждать — зависит от размера дисков и скорости передачи.
Дождались и видим, что всё у нас замечательно:

virt p2v 4

Новая виртуальная машина сразу отобразится в менеджере виртуальных машин.

Вот как бы и всё, успехов.

Обсудить на форуме (комментариев 3).