Image

Миграция с физической машины на виртуальную

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

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

  • Операционная система Ubuntu предварительно записанная на флешку.
    Скачать можно здесь.
    Примечание: неважно какая система будет мигрировать, Ubuntu требуется в качестве инструмента, так как в ней можно работать в LiveCD режиме с флешки, что очень удобно.
  • Утилита dd (предустановлена в Ubuntu)
  • Утилита qemu-img (предустановлена в Ubuntu)
  • KVM или любое другое программное решение для виртуализации, в данном примере будет использоваться именно это решение.


Далее требуется выполнить пошаговые действия, адаптируя команды под свою ситуацию:
 

Загрузиться в LiveCD ubuntu

В этом пункте нет ничего сложного, необходимо вставить флешку с операционной системой, выбрать её в качестве загрузочного диска и нажать Try install, далее закрыть меню установки системы и открыть терминал.
 

С помощью утилиты dd записать образ диска 

Этот шаг крайне ответственный, так как в случае если вы неправильно укажете диски, то можете уничтожить данные, будьте крайне внимательны и подойдите осознанно к своим действиям!

Для начала необходимо узнать имена дисков в системе, чтобы с ними взаимодействовать, для этого подойдёт команда lsblk
 

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda    252:0    0  100G  0 disk 
├─vda1 252:1    0    1M  0 part 
└─vda2 252:2    0  100G  0 part /


В выводе команды можно увидеть целевой диск vda, далее можно записывать образ этого диска

sudo dd if=/dev/vda of=./diskC.img bs=1M status=progress


Здесь путь записи указывается ./ в связи с тем, что был открыт терминал в директории съёмного носителя, на который производится запись образа диска.

Скопировать образ диска на хост-сервер KVM или просто подключить съёмный носитель к машине и работать напрямую

Здесь рекомендую использовать scp или rsync, на своём личном опыте копировал через cp и получил повреждённый образ в конечной точке.

Я использовал утилиту scp

scp /путь/к/файлу/на_машине username@server:/путь/к/файлу/на_сервере

Создать виртуальный диск на виртуальной машине в данном случае требуется использовать LVM

Здесь можно использовать графический интерфейс KVM, в нём всё интуитивно понятно, поэтому зацикливаться на этом пункте не вижу никакого смысла. Также можно использовать терминал для решения этой задачи (кому как удобно)

Импортировать образ диска с помощью qemu-img, данная утилита запишет наш образ на заранее подготовленный виртуальный диск

qemu-img convert -p -O raw /путь/к/образу/diskC.img /путь/к/виртуальному_диску/disckC_VM

Здесь:

/путь/к/образу/diskC.img — путь к вашему образу диска, который мы записали в начале с физической машины.

/путь/к/виртуальному_диску/disckC_VM — путь к виртуальному диску, который был создал на самом сервере, куда происходит миграция.

Создать виртуальную машину в KVM с помощью утилиты virt-manager или virsh

virt-manager (вызывает virtmanager c графическим интерфейсом через терминал)

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

Итог

На этом миграция окончена, можно запустить виртуальную машину и обнаружить, что всё работает как и должно. Конечно это не означает, что всё пройдёт 100% гладко, какие-то проблемы могут возникнуть в процессе, но не стоит их бояться, всё очень даже решаемо!

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

Это не оказалось большим припятствием, я просто использовал другую утилиту для доставки файла и всё отлично заработало.

Комментарии

Добавить комментарий