Поиск по блогу

31 мар. 2016 г.

Миграция debian в virtualbox

Возникла потребность куда-либо мигрировать один из сервисов, но сервис этот работает на debian lenny, mono, mysql и привязан к usb-ключу.
Поэтому проверим как он будет работать в virtualbox и будет ли. И заодно подготовим возможность развернуть его в будущем на гипервизорах.
Делаем копию файлов оригинальной системы, базы данных бэкапим отдельно. Если базы остановлены то можно, конечно, и так, но в данном случае мы их пропустим, а потом зальем нужные нам отдельно т.к. их много и они разные.
rsync -aAXv /* /tmp/folder --exclude={/var/lib/mysql/*,/dev/*,/home/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found,/opt/*,/root/*,/usr/local/*}
Запаковываем в архив и переносим куда нужно.
Создаем пустой образ диска, монтируем его как блочное устройство в хост-систему
#truncate -s 1024M partition.img
#losetup --show -f partition.img
~/dev/loop0
Создаем раздел на весь диск (swap у нас в файле), сделаем разделы доступными в виде отдельных устройств, и создадим файловую систему на данном разделе
#cfdisk /dev/loop0
#kpartx -av /dev/loop0
add map loop0p1 (254:2): 0 20969472 linear /dev/loop0 2048
#mkfs.ext3 /dev/mapper/loop0p1
Монтируем данный раздел с файловой системой в хост-систему, распаковываем на него файлы, размонтируем разделы/образы.
Конвертируем наш образ в формат VMDK (VDI,VHD)
#VBoxManage convertdd partition.img partition.vmdk --format=VMDK --variant=Fixed
Подключаем образ к виртуальной машине, грузимся с какого-либо rescuecd, делаем chroot, правим /etc/fstab, устанавливаем загрузчик grub и обновляем его конфиг, заливаем базы данных.
#grub-install --recheck --no-floppy /dev/sda
#update-grub
А вообще, можно сразу создать пустую виртуалку, загрузиться с rescuecd и залить бэкап уже туда с обновлением загрузчика (но изначально была надежда сделать update-grub из хост системы и запустить копию с одного раза).
Пробрасываем usb устройство в вирт. машину и пробуем загрузится с нашего "образа". Работает!
Далее не спеша наводим внутренний лоск.

Комментариев нет:

Отправить комментарий