Перенос операционной системы с сервера KVM/VMware/ESXi/etc на сервер KVM

В данной инструкции описывается процесс переноса операционной системы с сервера KVM на виртуальный сервер, арендуемый в нашей компании. Для осуществления переноса потребуется подключить образ systemrescuecd к виртуальному серверу.
Подключить образ у нас можно по инструкции
Как это сделать у текущего провайдера - уточняйте в технической поддержке провайдера

Для переноса операционной системы диск исходного сервера должен быть меньше диска сервера, на который осуществляется перенос!
На сервере-приемнике все данные будут удалены!

1. Загрузитесь с образа с базовыми настройками. В процессе загрузки могут быть заданы вопросы, на которые нужно ответить значениями по умолчанию (просто нажать клавишу Enter). Когда система будет загружена, Вы сможете вводить команды и увидите строку с мигающим указателем:

root@sysresccs /root %

Настройте сеть, введя команды:
ifconfig eth0 xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy
route add default gw zzz.zzz.zzz.zzz

Расшифровка:
xxx.xxx.xxx.xxx - IP-адрес сервера
yyy.yyy.yyy.yyy - маска сети
zzz.zzz.zzz.zzz - шлюз по умолчанию

У нас настройка сети осуществляется вручную. У текущего провайдера возможна настройка в автоматическом режиме по DHCP. В этом случае сеть будет работать сразу. Проверить можно, пропинговав Google Public DNS или любой другой ресурс:
# ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=14.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=50 time=14.1 ms
Если Вы видите что-то подобное - значит сеть работает, можно переходить к следующему шагу.

2. На сервере-источнике определите, на каком диске установлена операционная система, используя команду
fdisk -l
Как правило, в виртуальном сервере один диск; диски называются /dev/sdX или /dev/vda (вместо X - буква)
Так же обратите внимание на размер диска в байтах:
# fdisk -l
Disk /dev/vda: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a93fe
Устр-во Загр Начало Конец Блоки Id Система
/dev/vda1 * 2048 10485759 5241856 83 Linux

На сервере-приемнике так же определите название диска и его размер в байтах.
Убедитесь, что диск сервера-приемника больше диска сервера-источника!
$ fdisk -l
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000a93fe
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 41943039 41940992 20G 83 Linux

Можно переходить к следующему пункту.

3. На сервере-приемнике задайте пароль пользователя root. Для этого выполните команду passwd и дважды введите новый пароль, подтверждая ввод клавишей Enter. Во время ввода пароля, он вводиться в консоль не будет! Набирайте пароль вслепую
$ passwd
New UNIX password:
Retype new UNIX password:

Если все в порядке, Вы должны увидеть
passwd: all authentification tokens updated successfully

Если Вы не увидели эту надпись, значит Вы ошиблись в подтверждении пароля. Повторите смену пароля ещё раз.

3. Запустим копирование диска. Команду необходимо выполнить на сервере-источнике
dd if=/dev/vda | ssh root@IP_сервера-приемника "dd of=/dev/sdb"

Названия дисков надо вводить в соответствии с тем, какие реально имена имеют диски.

Процесс может занять длительное время - это зависит от скорости интернет-соединения, а так же от размера диска.

После переноса на сервере-приемнике может потребоваться установка загрузчика Grub. Выполнить её можно по этой инструкции.
Также потребуется настройка сети на сервере-приемнике. Сделать это можно будет после загрузки сервера в обычном режиме

Поделиться:
Категории: