Назад | Перейти на главную страницу

Перенести сервер Linux на виртуальную машину

У меня есть сервер OpenSuse, на котором работают некоторые службы (включая веб-сервер Apache, список рассылки и т. Д.). Теперь мне нужно переместить все эти службы на виртуальную машину (Virtualbox может работать на той же физической машине или где-то еще).

Идеально, если я могу «скопировать» все на виртуальную машину, чтобы она работала точно так же, как и исходная машина. Все данные пользователя (/ home / *) хранятся в NFS, которые не должны передаваться на виртуальную машину. Тогда у меня будет относительно небольшой (несколько гигабайт) образ виртуальной машины, чтобы его можно было создавать резервные копии каждые несколько дней.

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

Есть ли какой-нибудь инструмент или что-то, что может сделать это просто? Если нет, как мне это сделать?

Вы можете технически использовать Rsync для этого:

Загрузите Live CD на ВМ и разбейте диск на разделы по вкусу, затем смонтируйте «/» как / mnt / rootfs / и запустите на ВМ следующее:

rsync -aHAXz root@OLD-SERVER:/ --exclude=/sys/* --exclude=/proc/* --exclude=/dev/* /mnt/rootfs/

-a = archive mode; equals -rlptgoD (no -H,-A,-X)
-H = preserve hard links
-A = preserve ACLs (implies --perms)
-X = preserve extended attributes
-z = compress file data during the transfer

Затем исправьте GRUB, / etc / fstab и т.д ...

Если у вашего "OLD-SERVER" есть SSH-доступ, это (в основном) сработает ...

Я использовал этот метод раньше для клонирования физических машин ...

Вы можете сделать это с помощью dd довольно просто.

dd if=/dev/you-root of=/mnt/temp/filesystem.raw bs=1M

Теперь вы можете преобразовать этот необработанный файл в любой необходимый контейнер с помощью qemu-img. Или даже разрешите виртуальной машине использовать блочное устройство и скопировать его на логический том. Для VirtualBox это будет vdi.

qemu-img convert -O vdi /mnt/temp/filesystem.raw /mnt/temp/filesystem.vdi

Я выполняю такие задачи с помощью команды dd. Но это коммерческие решения, такие как Ghost, и решения с открытым исходным кодом, такие как Clonezilla, partimage. Перемещение хоста из коробки в виртуальную машину аналогично перемещению хоста из коробки в новую.