Клонировать работающий сервер Linux


18

Мне нужно клонировать работающий сервер Linux. Мы не можем выключить рабочий сервер. Есть ли способ получить клон и развернуть его на другом сервере?

linux  clone 

Ответы:


14

Есть много способов скопировать диски, файловые системы или файлы. Как правило, копирование файловой системы дает вам хороший клон с гибкостью, которая может быть немного другого размера в целевой системе. Когда целевая система работает под управлением какого-либо живого Linux (knoppix, ubuntu live и т. Д.), Загруженного с компакт-диска, вы можете создавать разделы на диске, используя fdisk или ваше любимое приложение для работы с разделами. Предполагая, что у вас SSH-сервер работает в исходной системе, используйте подход, подобный следующему:

http://www.linuxfocus.org/English/March2005/article370.shtml

Волшебство происходит в этой команде:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

При использовании какого-либо конкретного метода для клонирования дисков в реальной среде Linux ваша единственная проблема, скорее всего, связана с базами данных. Лучший способ сделать резервную копию и восстановить базу данных - использовать их утилиту для создания снимка базы данных в формате ascii непосредственно перед дампом файловой системы. Для MySQL есть:

mysqldump --all-databases > mysql_databases.sql

Для postgresql есть:

pg_dumpall > pg_databases.sql

Если вы столкнулись с какой-либо постоянной ошибкой в ​​новой системе, восстановите базу данных. В качестве альтернативы, как только вы отключите службы в исходной системе, снова выполните дамп БД и восстановите его в целевой системе, и вы не пропустите какие-либо недавно измененные данные.


1
+1 для ссылки linuxfocus
Bozojoe

2

Создайте расположение дисков на новой машине так, как вы этого хотите.

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

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

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

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


5
Это может привести к повреждению данных. Чтобы гарантировать правильное копирование файлов (включая действующие базы данных), вам нужно будет выполнить всю команду rsync за одну атомарную операцию, пока система приостановлена. Снимок LVM будет атомарным, или построит зеркало RAID, а затем отключит один из дисков и вставит его в новый компьютер. Но даже в этом случае вам действительно нужно перейти на уровень выполнения 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), сделать снимок и перезапустить на более высоком уровне выполнения.
Ли Б

1

Мой коллега клянется System Imager:

http://wiki.systemimager.org/index.php/Main_Page

Я не знаю, насколько хорошо это будет работать для «живых» систем.

В противном случае я думаю, что вы застряли, делая вещи вручную:

  • Убедитесь, что вне репозиториев нет никаких приложений для установки
  • Сбросить список установленных пакетов и установить их на новый сервер
  • Копировать конфигурационные файлы
  • Восстановить базы данных

Systemimager пород. Он работает в реальной системе с теми же условиями для запуска rsync для копирования состояния активной системы. Некоторые приложения должны быть закрыты или выгружены на диск (например, базы данных mysql) перед копированием и должны быть восстановлены в новой системе.
gbjbaanb

0

Если вы можете привести свои базы данных в согласованное состояние на диске, вы можете просто использовать DAR, чтобы сделать копию всего, а затем записать его обратно на новый сервер.

Синхронизация ваших баз данных в согласованном состоянии на диске может быть сложной, но может просто сработать моментальный снимок, а затем восстановить его после восстановления образа DAR. DAR повлияет на производительность сервера во время его работы.

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

http://dar.linux.free.fr/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.