1

У меня есть два сервера, A и B. Я хотел бы клонировать сервер A в B. A работает под управлением Linux, и оба они являются удаленными, у меня нет физического доступа к ним

Каков наилучший способ приблизиться к этому?

4 ответа4

0

Клонирование удаленных машин Linux

Сценарий bash backup-images-1.0.sh автоматизирует процесс клонирования дисков удаленных машин Linux. Он использует команду dd вместе с командами ssh и gzip для копирования и сжатия удаленных дисков и отправки их на лету на локальный диск через соединение SSH.

Примеры клонирования удаленного диска на локальный диск с использованием backup-images-1.0.sh, написанные Радованом Брезулой, который написал backup-images-1.0.sh.

Пример клонирования локального диска на удаленный диск с использованием dd

dd if=/path/to/disk/image ibs=4096 conv=notrunc,noerror | (ssh 132.183.12.128 dd of=/remote-archive/test/remote-archive-test.img obs=4096) 
  • ibs=4096 читать до 4096 байт за раз

  • conv=notrunc,noerror не усекает выходной файл и продолжает работу после ошибок чтения

  • obs=4096 записывать 4096 байт за раз

0

Для создания образа диска мне нравится clonezilla, но вам нужен физический доступ для загрузки с диска, чтобы он работал. Честно говоря, я не думаю, что вы можете сделать полностью отключенную полную системную копию. rsync покажет вам только это. Если на обеих системах уже установлены полные системы, и в остальном они идентичны, то на хосте B можно установить те же приложения, что и на хосте A. Тогда нужно просто скопировать необходимые файлы конфигурации из A в B. Вам не обязательно копировать все.

0

Есть как минимум три разных способа сделать это.

1 сценарий настройки.

Этот параметр в основном полезен в крупных корпорациях с надлежащей документацией и, вероятно, распространяется на установки с загрузкой PXE и марионеточными или аналогичными установками.

В основном вы повторяете те же шаги, которые вы использовали для настройки сервера A на сервере B.

Это работает очень хорошо, если ваша установка достаточно велика (например, вы используете 100 серверов и хотите развернуть сервер 101. Загрузите PXE, сообщите вашей конфигурации puppet, что это должен быть сервер типа $, и вернитесь через час. Готово!).

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

2 копии файловой системы.

Вы можете скопировать все файлы с сервера A на сервер B, сохранив свои права и пользователей. rsync , вероятно, лучший инструмент для этого.

Для этого вы хотите подготовить целевой сервер с аналогичной настройкой (например, скопировать настройку раздела) и затем выполнить rsync для большинства файлов. Сложность в том, что вы не хотите rsync для некоторых файлов (например, skip /proc и /dev) и что вам нужно что-то для получения файлов rsync на сервере B.

В последнем случае вы, вероятно, захотите загрузить сервер B с другого диска или использовать ILO/DRAC/.. для загрузки с ISO-образа liveCD на рабочем столе, оставив его диск пустым и готовым для приема файлов rsync.

3 Скопируйте диск.

Это отличается от копирования файловой системы. Это намного проще и, вероятно, намного быстрее, но доступ к сырому диску (например, с помощью dd) игнорирует все изменения файловой системы. Это означает, что вы действительно не хотите копировать работающую файловую систему.

Чтобы помочь вам понять это проще, представьте себе книгу. Эта книга имеет указатель и четыре рассказа. Остальная часть книги пуста, и это также хорошо указано в указателе книг.

Теперь мы начинаем копирование. Мы копируем индекс. Мы копируем историю 1, мы копируем ...
** кратко, позвольте мне добавить новую историю здесь и изменить индекс **
Копируем стопри 2, 3, 4 и 5 ...

Теперь у нас есть водная книга с индексом, показывающим четыре истории (а не пять, поскольку мы скопировали ее до написания истории 5, и пять историй)... испорченная книга.

Нечто подобное может (и будет) происходить, если вы используете сырой доступ к диску для копирования работающей системы. Поэтому перед использованием сырой копии диска убедитесь, что ОС находится в автономном режиме. Либо загрузите что-то другое (например, со второго диска, с локального компакт-диска, либо через сеть (PXE, DRAC, ...), а затем скопируйте.

Подробности о том, как это сделать, уже есть в большом количестве постов здесь [su].

0

Я считаю, что rsync - это решение здесь. Я не уверен, что все файлы будут доступны для записи во время сеанса rsync, хотя ...

Вы решили создать клон dd для разделов на сервере A и перенести его на сервер B? Это звучит немного дико, но, возможно, в крайнем случае?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .