У меня есть сервер 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. Перемещение хоста из коробки в виртуальную машину аналогично перемещению хоста из коробки в новую.