LINUX.ORG.RU
ФорумAdmin

Как клонировать рабочую систему на другую машину

 , , , ,


0

1

Здравствуйте, ув. форумчани.

Возникла такая необходимость, клонировать машину, которая запущена и работает.

Подробнее

Есть VPS на KVM. Установлен Centos 7 на нем. Каких-то отдельных методов клона/бекапа хостер не предлагает.

Собственно нужно клонировать абсолютно всю систему на другу виртуалку KVM. Эта виртуалка уже крутится на локальном сервере, то есть полная свобода действий есть.

Разметка на сервере следующая.

/dev/mapper/VG-lv_root 100492376 21506376  73858220  23% /
devtmpfs                 1930476        0   1930476   0% /dev
tmpfs                    1941024        0   1941024   0% /dev/shm
tmpfs                    1941024    57980   1883044   3% /run
tmpfs                    1941024        0   1941024   0% /sys/fs/cgroup
/dev/sda1                 499656   201976    271468  43% /boot
overlay                100492376 21506376  73858220  23% /var/lib/docker/overlay/2a5e41fa94f64ffefaaa4a644cb8413e1579d877e35187bae2cf38772acbdb1a/merged
shm                        65536        0     65536   0% /var/lib/docker/containers/5c831624ff9e4d0dbcdf73120df94a601f0a29cb34716d5c7906ef29d778c938/shm
overlay                100492376 21506376  73858220  23% /var/lib/docker/overlay/3d904f042dc29ac06871cd301b89c4c8fadd254fe24855369279b5df0343968c/merged
shm                        65536        0     65536   0% /var/lib/docker/containers/e20b5a4bcce42d6a8d33ae7e66e33150782960b60babf65d699c52c4ba7ae24f/shm
tmpfs                     388208        0    388208   0% /run/user/0
tmpfs                     388208        0    388208   0% /run/user/1001
/dev/mapper/VG-lv_root  /                       ext4    defaults        1 1
UUID=0fc11467-2112-47a6-a74c-80b481c41634 /boot                   ext3    defaults        1 2
/dev/mapper/VG-lv_swap  swap                    swap    defaults        0 0

Как обычно по умолчанию LVM.

Насколько я знаю есть несколько способов использовать классический **dd** или же утилиту **dump**.

Подскажите какие может еще варианты есть ?

И как правильно это сделать, с учетом еще LVM

Спасибо !

Попробуй так:

На целевом сервере запускаешь LiveCD, делаешь там идентичную разметку диска, копируешь /boot в него

По iSCSI отдаёшь нужные устройства на исходный сервер, и понеслась:

pvcreate /dev/<iscsi_device>
vgextend VG /dev/<iscsi_device>
lvconvert -m 1 --mirrorlog mirrored VG/lv_root /dev/<target_device> /dev/<iscsi_device>
# безопасно отсоединить подключённые зеркалированные тома от логического тома:
lvconvert -v --splitmirrors 1 -n lv_root-old VG/lv_root /dev/<target_device> /dev/<iscsi_device>

Фишка в том, что ты сможешь иметь две идентичные копии разделов на уровне LVM, даже если там крутятся базы, всё будет актуальным.

Как всё засинхронизируется (проверять через lvscan), тушишь старый сервер, на новом стопаешь iscsi, и отсоединяешь PV старого сервера через

lvconvert -m 0 VG/LV_root /dev/<target_device>

Пишу по памяти, проверять ты конечно будешь эти команды 100 раз.

Не забудь создать загрузчик на новом сервере.

leader32
()
Ответ на: комментарий от leader32

Спасибо большое за ответ.

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

Этот метод подойдет тогда ?

Исходный сервер = тот который сейчас крутится Целевой = на тот который надо скопировать

Верно ?

DurianOdour
() автор топика
Ответ на: комментарий от DurianOdour

Верно

Чтобы перенос строк здесь сработал, нажимай два раза Enter.

Метод подойдёт, но ты ведь создашь две виртуалки, и отработаешь на них всё предварительно? Точно?

leader32
()
Ответ на: комментарий от DurianOdour

В этом и фишка такого варианта, можно ничего не тушить, всё само итак будет работать.

Просто на двух серверах потом обязательно, как они засинхронизируются, вытащи диски с зеркалирования на LVM уровне.

leader32
()
Ответ на: комментарий от leader32

Спасибо за ответ. Немного не так

Есть VPS на нем крутится KVM виртуалка с Центосом.

Вот к ней доступа кроме как по SSH/VNC нет. Downtime тоже не желателен.

А вторая виртуалка это уже мой сервер, на котором полная свобода действий.

Главная задача создать клон/снэпшот из запущенной на данный момент у хостера виртуалки и ничего не сломать)

DurianOdour
() автор топика
Ответ на: комментарий от dyasny

На какой именно хост ? К хостеру только VNC/SSH.

Тот хост/сервер куда склонировать надо систему в полном доступе, дома стоит.

DurianOdour
() автор топика
Ответ на: комментарий от DurianOdour

ну тогда можно поднять VM с liveCD или просто в r/o перемонтировать все, на всякий случай, настроить такую же VM у себя, запустить netcat на обоих концах и сквозь него прогнать dd.

Проблема тут одна - dd потащит все блоки, даже не заполненные.

dyasny ★★★★★
()
Ответ на: комментарий от DurianOdour

Выключить виртуалку ночью на 15 вполне нормально для бэкапа

Остальное это хождение по краю

ism ★★★
()
Ответ на: комментарий от ism

бекап/рестор вообще любой канает. я последнее время пользую backy2 для дисков - классная штука с дедупликацией

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

А первый вариант предложенный через LVM в моем случае не получится ?

Посоветуйте что в данном случае все таки лучше использовать ?

DurianOdour
() автор топика
Ответ на: комментарий от ism

Недавно делал клонезилой. Отцепил раидовскийБ диск вынул его. Поставил в аналогичную машинку. Склонезировал на флешку. Поставил обратно. Синхронизировал. Копия есть! Сервер не останавливал.

Bootmen ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.